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 оны зун NASA-н Pathfinder сансрын хөлөг Ангараг гараг дээр газардаж, дэлхий рүү гайхамшигтай зургуудыг явуулж эхэлсэн. Гэвч хэдэн өдрийн дараа зүйл буруугаар эргэжээ. Тэрээр зураг явуулахаа зогссон байна. Үнэндээ Pathfinder ажлаа хойш тавьж байлаа: өөрийгөө ажилтай байлгаж байсан ч хамгийн чухал ажлаа орхигдуулсан юм.
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.
Үйлдлийн систем бүр цаг хуваарилагчтай байдаг бөгөөд энэ нь нэгж даалгавар дээр ямар хугацаа зарцуулахыг CPU-д хэлж өгч, дараа нь ямар ажил руу шилжихийг заана. Зөв хийсэн бол компьютер бүх зүйлийг зэрэг хийх мэт олон үүргийн хооронд торох зүйлгүй шилжин, өө сэвгүй гүйцэтгэдэг. Гэвч зүйл буруугаар эргэхэд юу болохыг бид мэднэ.
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.
Магад компьютерын цаг хуваарилалтыг судлах нь бидний цагаа зохицуулахдаа гаргадаг алдаануудыг олж харахад нэмэртэй байх.
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.
Linux үйлдлийн системийн программчид 2003 онд адил асуудалтай тулгарсан. Linux бүх даалгавраа нэг бүрчлэн хамгийн чухлаар нь эрэмбэлдэг бөгөөд заримдаа даалгаврыг гүйцэтгэхээсээ эрэмбэлэх ажилд илүү цаг зарцуулжээ Программ зохиогчид сонирхолтой шийдэл олсон нь эрэмбэлэх үйлдлийг цөөн тооны эрэмбэтэй "хувин"-гаар солих байлаа. Систем дараагийн ээлжид юу хийхээ сайн мэдэхгүй болсон ч даалгаврыг гүйцэтгэж, ахиц гаргахад илүү цаг зарцуулах болов.
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.
Компьютерт гэлтгүй хүнд энд адил үйлчилнэ. Адил арга хэрэглэх нь хэрэглэгч бидэнд өөрсдийн анхаарлаа гамнаснаар орчин үед маш ховор зүйл болох амралтыг олж авахад тусалж магадгүй.