Premium
A multithreaded scheduler for a high‐speed spacecraft simulator
Author(s) -
Saghi Gene,
Reinholtz Kirk,
Savory Paul A.
Publication year - 1998
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/(sici)1097-024x(199805)28:6<641::aid-spe171>3.0.co;2-z
Subject(s) - computer science , scheduling (production processes) , multiprocessing , spacecraft , thread (computing) , computer architecture simulator , operating system , simulation , parallel computing , aerospace engineering , engineering , operations management
The Cassini spacecraft is on its journey to Saturn to perform a close‐up study of the Saturnian system; its rings, moons, magneto‐sphere, and the planet itself. Sequences of commands will be sent to the spacecraft by ground personnel to control every aspect of the mission. To validate and verify these command sequences, a bit‐level, High‐Speed Simulator (HSS) has been developed. To maximize performance, the HSS is implemented with multiple threads and runs on a multiprocessor system. A key component of the HSS is the scheduler, which controls the execution of the simulator. The general framework of the scheduler can be adapted to solve a wide variety of scheduling problems. The architecture of the scheduler is presented first, followed by a discussion of issues related to performance and multiple threads. Second, the avoidance of deadlocks and race conditions is discussed, and an informal proof for the absence of both in the scheduler is described. Finally, a study of various scheduling policies is provided. © 1998 John Wiley & Sons, Ltd.