More on the Pathfinder computer glitch.
I think everyone now agrees that the problem had to do with a task functioning with the wrong priority, which backed up processing, causing the need for periodic resets. NASA indicated they changed the priority of the aberrant task to solve the problem - hence the correct conclusion that the problem was on the application side. QED.
Actually, what may have happened has deeper implications.
NASA used the default scheduling configuration of VxWorks. When the system was more heavily loaded with new application tasks, a situation known as priority inversion hampered the operating system's ability to complete all the task operations within the apportioned time. Priority inversion occurs when a high priority task contends for a resource currently "owned" by a lower priority task while an intermediate priority task executes, thereby allowing the priority inversion condition to persist indefinitely. Over time, the high priority task fails to gain sufficient access to the CPU, which in the pathfinder case led to the application resetting itself. The fix was not to up the priority of the low-priority task (which generally needed to be low priority), but simply to utilize a unique feature of the WIND microkernel to resolve the priority inversion by changing the configuration options of the resource in question. This amounted to toggling a single bit from earth, since the resource is controlled in VxWorks with a semaphore.
Yes, the problem was on the application side. Yes, it required changing task priorities. But what stands out is that the problem was only solvable because the commercial RTOS NASA decided to use for Pathfinder just happened to have an important feature NASA thought wouldn't be needed. Had NASA developed their own RTOS, the needed feature most certainly would have been missing. Not only did the commercial software do the job cheaper and faster, but now we know, better, too.
Allen
PS - As an exercise for the reader, try to figure out how NASA diagnosed this heretofore unnoticed problem with the Pathfinder far away on another planet. |