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.
Mùa hè năm 1997, tàu vũ trụ Pathfinder của NASA hạ cánh trên bề mặt sao Hỏa, và bắt đầu truyền đi những hình ảnh đầy ấn tượng về Trái Đất. Nhưng sau vài ngày, con tàu gặp phải một sự cố nghiêm trọng. Việc truyền tín hiệu bị ngừng lại. Pathfinder đã trì hoãn công việc của chính mình: nó vẫn hoạt động nhưng không thể thực hiện công việc quan trọng nhất.
What was going on? There was a bug, it turned out, in its scheduler.
Vậy điều gì đã xảy ra? Hóa ra con tàu bị lỗi ở bộ lập lịch biểu. Mọi hệ thống vận hành đều có một thiết bị được gọi là bộ lập lịch biểu
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.
giúp CPU biết được thời gian dành cho mỗi công việc là bao lâu và sau đó, chuyển sang công việc gì. Thực hiện đúng, máy tính sẽ hoạt động dễ dàng giữa nhiều công việc, cho ta cảm giác chúng làm mọi việc cùng một lúc. Tuy nhiên, ta đều biết chuyện gì sẽ xảy ra khi có sự cố.
This should give us, if nothing else, some measure of consolation. Even computers get overwhelmed sometimes.
Và điều này dường như cho con người chúng ta chút an ủi rằng ngay cả máy tính cũng có lúc "ngập đầu" trong công việc.
Maybe learning about the computer science of scheduling can give us some ideas about our own human struggles with time.
Nghiên cứu về quá trình lập biểu trong khoa học máy tính có thể cho ta một vài bài học trong "cuộc chiến" với thời gian.
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.
Một trong những bài học đầu tiên là thời gian bạn dành để ưu tiên công việc chính là thời gian bạn không làm việc gì. Chẳng hạn như khi kiểm tra email, bạn lướt qua mọi thư đến, rồi chọn cái nào quan trọng nhất. Trả lời xong thư đó, bạn lặp lại quy trình trên. Nghe có vẻ hợp lý, nhưng cách làm này có vấn đề.
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.
Nó được biết đến với tên gọi thuật toán bậc hai thời gian. Với hộp thư có số lượng gấp đôi, việc lướt qua mail mất gấp đôi thời gian và bạn phải trả lời lượng mail gấp đôi! Nghĩa là lượng công việc gấp lên bốn lần.
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.
Các lập trình viên của hệ thống máy tính Linux đã gặp phải vấn đề tương tự vào năm 2003. Linux xếp thứ hạng mỗi công việc theo mức độ quan trọng, và đôi khi dành nhiều thời gian để sắp xếp hơn là thực hiện. Giải pháp của các lập trình viên là thay thế hệ thống xếp hạng này bằng một số lượng hữu hạn nhóm ưu tiên. Hệ thống sẽ không quá tỉ mỉ trong việc lựa chọn nhiệm vụ tiếp theo mà dành nhiều thời gian hơn để thực hiện nhiệm vụ.
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.
Vì thế, với email, việc cố gắng trả lời thư quan trọng nhất trước chỉ khiến bạn thêm mệt mỏi . Với hộp thư có số lượng gấp 3 lần thông thường, thời gian bạn cần để trả lời hết sẽ gấp lên đến 9. Tốt nhất, bạn nên trả lời theo thứ tự thời gian, hoặc thậm chí ngẫu nhiên! Đôi khi, không làm mọi việc theo thứ tự hoàn hảo lại chính là chìa khóa giúp bạn hoàn thành công việc.
Another insight that emerges from computer scheduling has to do with one of the most prevalent features of modern life: interruptions.
Một bài học khác rút ra từ cách lập biểu của máy tính liên quan đến một vấn đề phổ biến trong cuộc sống hiện đại: sự gián đoạn.
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.
Khi máy tính chuyển từ nhiệm vụ này sang nhiệm vụ khác, quá trình chuyển ngữ cảnh sẽ diễn ra, máy tính ghi nhớ vị trí của nó ở một nhiệm vụ, chuyển dữ liệu cũ ra khỏi bộ nhớ và chuyển dữ liệu mới vào. Mỗi hành động này đều có cái giá của nó.
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.
Bài học ở đây là cần thỏa hiệp giữa hiệu quả công việc và sự phản ứng nhanh nhạy. Để hoàn thành công việc, bạn cần hạn chế chuyển đổi ngữ cảnh. Nhưng để phản ứng nhanh, bạn cần phản hồi bất kì khi nào có sự thay đổi. Hai nguyên tắc này về cơ bàn là đối lập nhau.
Recognizing this tension allows us to decide where we want to strike that balance.
Hiểu được sự đối lập này sẽ giúp chúng ta quyết định mình muốn đạt được sự thỏa hiệp ở mức độ nào.
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.
Cách giải quyết hiển nhiên là hạn chế sự gián đoạn trong công việc, nhưng giải pháp ít hiển nhiên hơn là nhóm các gián đoạn lại với nhau. Nếu email hoặc các loại thông báo bạn nhận được không yêu cầu phản hồi gấp hơn mỗi tiếng một lần, thì đó chính là tần suất bạn nên kiểm tra hộp thư. Không hơn.
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.
Trong khoa học máy tính, ý tưởng này có tên là điều tiết gián đoạn. thay vì giải quyết từng gián đoạn ngay khi chúng xảy ra. Chuột bị di chuyển? Một phím được bấm? Thêm file được tải về? Hệ thống tập hợp những gián đoạn này dựa trên thời gian mỗi gián đoạn có thể chờ để được giải quyết. Vào năm 2013, điều tiết gián đoạn
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.
đã giúp cải thiện đáng kể tuổi thọ pin của laptop. Vì hạn chế gián đoạn cho phép hệ thống kiểm tra mọi hoạt động ở cùng một lúc, rồi nhanh chóng quay trở lại trạng thái ít tiêu thụ điện năng. Chúng ta có thể học phương pháp này từ máy tính.
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.
Áp dụng phương pháp tương tự cho phép con người lấy lại sự tập trung, và trả lại một điều khá hiếm hoi trong cuộc sống hiện đại: sự nghỉ ngơi.