Skip to Main Content
Future critical computer systems will be capable of controlling many different instruments, and therefore will perform many different tasks simultaneously. The author proposes a critical computer that executes independent tasks in a preemptive multitasking environment. This computer uses N-Version programming to tolerate faults, it consists of three processors to execute three different versions, and a fourth processor to execute the voter of each task. A simulation tool called NVP was developed to simulate the execution of tasks by this computer. The tool simulates execution of up to one thousand independent programs consisting of three versions and a voter. In the computer system there exist a number of techniques for increasing performance and reducing power consumption. Experiments were performed to investigate the effect of these techniques on the execution time of independent tasks. The paper presents results from two of these experiments. In the first experiment sequential execution of tasks is compared with preemptive multitasking execution. Experiment results showed that preemptive multi-tasking was more suitable for executing a large number of independent tasks. The purpose of the second experiment is to determine the effect of varying slice time on task execution time. Results from the experiment show that if the slice time is short then tasks take longer to execute, whereas if slice time is too long then execution time of tasks varies depending on how long the processors spend performing other tasks.
Digital Avionics Systems Conference, 2003. DASC '03. The 22nd (Volume:2 )
Date of Conference: 12-16 Oct. 2003