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.
À l'été 1997, la sonde spatiale de la NASA, Pathfinder, a touché la surface de Mars et s'est mise à retransmettre d'incroyables images iconiques. Toutefois, quelques jours après, quelque chose a mal tourné. Les transmissions se sont arrêtées. En réalité, Pathfinder procrastinait : il se tenait pleinement occupé, mais délaissait ses tâches principales.
What was going on? There was a bug, it turned out, in its scheduler.
Que s'est-il donc passé ? Il s'est avéré qu'il y avait un problème au niveau de son planificateur.
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.
Chaque système d'exploitation possède ce que l'on appelle un planificateur, qui indique au processeur le temps alloué à chaque tâche avant un changement, puis indique la tâche suivante. En temps normal, les ordinateurs passent d'une tâche à l'autre de manière fluide, en donnant l'impression d'une exécution simultanée. Nous savons tous ce qui se produit lorsqu'un problème survient.
This should give us, if nothing else, some measure of consolation. Even computers get overwhelmed sometimes.
Du moins, on peut se consoler en se disant que même les ordinateurs sont parfois dépassés par les événements.
Maybe learning about the computer science of scheduling can give us some ideas about our own human struggles with time.
Apprendre davantage sur la planification informatique pourrait nous fournir des clés concernant nos propres difficultés à gérer le temps.
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.
Une des premières constatations est que le temps passé à établir nos priorités n'est pas passé à exécuter les tâches elles-mêmes. Par exemple, quand vous consultez les messages dans votre boîte mail, vous les parcourez et choisissez celui qui est le plus important. Lorsque vous en avez fini, vous répétez l'opération. Cela semble logique ; mais il y a un problème.
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.
C'est ce qu'on appelle un algorithme quadratique. Avec le double de messages, ces opérations prendront le double du temps et vous devrez en faire deux fois plus ! Cela représente quatre fois plus de travail.
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.
Les programmeurs du système d'exploitation Linux ont fait face à un problème similaire en 2003. Linux classait chacune de ses tâches par ordre d'importance, passant parfois plus de temps à classer les tâches qu'à les exécuter. La solution des programmeurs, quoique contre-intuitive, a été de remplacer ce classement total par un certain nombre de « seaux » de priorité. Le système était moins précis quant à la prochaine tâche à accomplir, mais compensait ce manque en passant plus de temps à faire des progrès.
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.
Donc, insister pour adresser les mails les plus importants en premier peut vous conduire à l'effondrement. Une boîte de réception trois fois plus pleine que la moyenne pourrait prendre neuf fois plus de temps à gérer. Vous feriez mieux de répondre par ordre chronologique, voire même aléatoire ! Étonnamment, renoncer à la séquence idéale d'exécution peut être la meilleure façon d'accomplir toutes les tâches.
Another insight that emerges from computer scheduling has to do with one of the most prevalent features of modern life: interruptions.
Une autre leçon à retenir de la planification informatique concerne un phénomène très fréquent de notre vie moderne : les 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.
Lorsqu'un ordinateur passe d'une tâche à une autre, il doit faire ce qu'on appelle une commutation de contexte ; il marque sa place dans une tâche, retire de vieilles données de sa mémoire puis y insère de nouvelles données. Chacune de ses actions a un prix.
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.
L'idée à retenir ici est qu'il y a un compromis fondamental entre productivité et réactivité. Être hautement productif signifie minimiser les commutations. Mais, être hautement réactif signifie réagir dès qu'une tâche se présente. Ces deux principes sont fondamentalement contradictoires.
Recognizing this tension allows us to decide where we want to strike that balance.
Reconnaître cette contradiction nous permet de décider comment nous voulons établir cet équilibre.
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.
La solution la plus évidente est de minimiser les interruptions. La solution la moins évidente serait de les regrouper. Si aucune notification ou message ne requiert une réponse dans un délai plus urgent qu'une heure, par exemple, voilà l'intervalle exacte à laquelle vous devriez les vérifier. Sans plus.
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.
En informatique, cette idée est appelée « coalescence des interruptions ». Plutôt que d'adresser les choses au fur et à mesure -- Oh, on a bougé la souris ? On a appuyé sur une touche ? On a téléchargé le reste du fichier ? -- le système regroupe les interruptions, en fonction du délai d'attente qu'elles peuvent se permettre.
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.
En 2013, la coalescence des interruptions a entraîné une nette amélioration de la durée de vie des batteries d'ordinateurs portables ; le report des interruptions permet au système de tout vérifier d'un coup, pour ensuite retourner rapidement à une basse consommation d'énergie.
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.
Cela ne s'applique pas qu'aux ordinateurs, mais aussi aux humains. Il se peut que l'adoption d'une approche similaire nous permette de ressaisir notre propre attention, et nous redonne l'une des raretés de notre vie moderne : le repos.