In the summer of 1997, NASA's Pathfinder spacecraft landed on the surface of Mars, and began transmitting incredible, iconic images back to Earth. But several days in, something went terribly wrong. The transmissions stopped. Pathfinder was, in effect, procrastinating: keeping itself fully occupied but failing to do its most important work.
Лета 1997. године, Насина летелица „Патфајндер“ слетела је на површину Марса и почела да шаље невероватне, историјске слике назад на Земљу. Али, неколико дана након тога, нешто је кренуло по злу. Слање је обустављено. „Патфајндер“ је, у ствари, одуговлачио; стално је био заузет, али није успевао да одради свој најважнији посао.
What was going on? There was a bug, it turned out, in its scheduler.
Шта се дешавало? Постојала је грешка, испоставило се, у његовом планеру.
Every operating system has something called the scheduler that tells the CPU how long to work on each task before switching, and what to switch to. Done right, computers move so fluidly between their various responsibilities, they give the illusion of doing everything simultaneously. But we all know what happens when things go wrong.
Сваки оперативни систем има нешто под називом планер, који говори процесору колико дуго треба да ради на неком задатку пре него што пређе на други, као и на шта да пређе. Ако се то уради како ваља, компјутери се несметано пребацују са једног на други задатак да стварају илузију да се све дешава истовремено. Али, сви знамо шта се дешава када ствари пођу по злу.
This should give us, if nothing else, some measure of consolation. Even computers get overwhelmed sometimes.
Ово би требало, ако ништа друго, да нам пружи бар делимичну утеху. Чак су и компјутери некада преоптерећени.
Maybe learning about the computer science of scheduling can give us some ideas about our own human struggles with time.
Можда нам сазнања о информатици планирањa могу дати неке идеје о сопственим, људским борбама са временом.
One of the first insights is that all the time you spend prioritizing your work is time you aren't spending doing it. For instance, let's say when you check your inbox, you scan all the messages, choosing which is the most important. Once you've dealt with that one, you repeat. Seems sensible, but there's a problem here.
Једно од првих сазнања је да целокупно време које проведете за одређивање радних приоритета није потрошено да урадите посао. На пример, рецимо да, када проверавате свој инбокс, брзо прегледате све поруке и одаберете најважније. Када једном то завршите, поновите то.
This is what's known as a quadratic-time algorithm. With an inbox that's twice as full, these passes will take twice as long and you'll need to do twice as many of them! This means four times the work.
Делује разумно, али овде се јавља проблем. Ово је познато под називом алгоритам квадратног времена. Са инбоксом који је два пута пунији, за пребацивање на следећи мејл би требало два пута више времена и требало би да одрадите два пута више посла.
The programmers of the operating system Linux encountered a similar problem in 2003. Linux would rank every single one of its tasks in order of importance, and sometimes spent more time ranking tasks than doing them. The programmers’ counterintuitive solution was to replace this full ranking with a limited number of priority “buckets.” The system was less precise about what to do next but more than made up for it by spending more time making progress.
Ово значи четири пута више рада. Програмери оперативног система Линукс наишли су на сличан проблем 2003. године. Линукс је рангирао према важности сваки свој појединачни задатак, а понекада би му требало више времена за рангирање задатака него извршење. Нелогично решење програмера било је да целокупно рангирање замене ограниченим бројем „кофица“ са приоритетима. Систем је био мање прецизан када се ради о следећој ствари коју треба урадити, али више него добар што се тиче времена потрошеног за напредак.
So with your emails, insisting on always doing the very most important thing first could lead to a meltdown. Waking up to an inbox three times fuller than normal could take nine times longer to clear. You’d be better off replying in chronological order, or even at random! Surprisingly, sometimes giving up on doing things in the perfect order may be the key to getting them done.
Па, са свим својим имејловима, инсистирање на томе да се најважније ствари ураде прво може довести до катастрофе. Ако ујутру имате три пута пунији инбокс него обично, биће потребно девет пута више времена да се то рашчисти. Боље би било да одговарате хронолошким редом или чак насумично! Изненађујуће је што одустајање од тога да радите ствари по савршеном распореду може бити кључна ствар да их одрадите.
Another insight that emerges from computer scheduling has to do with one of the most prevalent features of modern life: interruptions.
Још једно сазнање које проистиче из компјутерског планирања везано је за једну од најдоминантнијих карактеристика модерног живота - сметње.
When a computer goes from one task to another, it has to do what's called a context switch, bookmarking its place in one task, moving old data out of its memory and new data in. Each of these actions comes at a cost.
Када се компјутер пребаци са једног на други задатак, мора да уради оно што називамо заменом контекста, при чему обележава где је стао у једном задатку, избацује старе податке из своје меморије и убацује нове. Свака од ових радњи има своју цену.
The insight here is that there’s a fundamental tradeoff between productivity and responsiveness. Getting serious work done means minimizing context switches. But being responsive means reacting anytime something comes up. These two principles are fundamentally in tension.
Сазнање у овом случају је да постоји основна равнотежа између продуктивности и реаговања. Завршавање великог посла значи свођење замене контекста на минимум. Али, брзо реаговање подразумева реакцију сваки пут када нешто искрсне. Ова два принципа се суштински не слажу.
Recognizing this tension allows us to decide where we want to strike that balance.
Уочавање овог неслагања нам омогућава да одлучимо где желимо да успоставимо равнотежу.
The obvious solution is to minimize interruptions. The less obvious one is to group them. If no notification or email requires a response more urgently than once an hour, say, then that’s exactly how often you should check them. No more.
Очигледно решење је смањење сметњи. Мање очигледно је да их групишемо. Ако никакво обавештење или имејл не захтевају одговор у року од, рецимо, једног сата, онда толико често и треба да их проверавате; не чешће од тога.
In computer science, this idea goes by the name of interrupt coalescing. Rather than dealing with things as they come up – Oh, the mouse was moved? A key was pressed? More of that file downloaded? – the system groups these interruptions together based on how long they can afford to wait.
У информатици се ова идеја назива сједињењем сметњи. Уместо да решавате ствари када се јављају - Ох, миш је померен? Дугме је притиснуто? Преузимање тог фајла је напредовало? - систем групише ове сметње заједно на основу тога колико дуго може да чека.
In 2013, interrupt coalescing triggered a massive improvement in laptop battery life. This is because deferring interruptions lets a system check everything at once, then quickly re-enter a low-power state.
Године 2013, сједињење сметњи покренуло је огромно побољшање код трајања батерије за лаптоп. То је зато што одлагање сметњи омогућава да систем провери све одједном,
As with computers, so it is with us. Perhaps adopting a similar approach might allow us users to reclaim our own attention, and give us back one of the things that feels so rare in modern life: rest.
а затим да се брзо врати у стање у ком не троши пуно енергије. Као и са компјутерима, исти је случај са нама. Можда ће усвајање сличног приступа дозволити нама, корисницима, да повратимо сопствену пажњу и да нам врати једну од ствари које су ретке у модерном животу - одмор.