Abstract
The time-next-event (TNE) algorithm relies upon a shortest path algorithm which is independently executed on each processor in order to unblock the logical processes (LPs) in a processor and to increase the parallelism of the simulation. TNE's performance is good, and it is able to produce better lookahead as a consequence of obtaining input from LPs resident on neighboring processors. This paper presents an extension of the TNE algorithm, the objective of which is to increase its parallelism and to break the interprocessor deadlocks inherent with the use of TNE. This semi-global TNE (SGTNE) algorithm is executed over a cluster of processors as opposed to TNE, which is executed over a cluster of processes assigned to a single processor. Because TNE is executed on individual processors, it is susceptible to interprocessor deadlocks. These deadlocks must be detected and broken at some cost. SGTNE helps to break these deadlocks by executing a shortest path algorithm over a snapshot of the LPs in a cluster of processors. We examine two (hierarchical) scheduling algorithms for SGTNE which we refer to as one- and two-level scheduling in the context of a queuing network simulation of a torus. The torus was chosen because its many cycles aid in the formation of deadlock. In two-level scheduling, we execute TNE on each individual processor before calling the global portion of the algorithm. Our experiments indicate that two-level scheduling is superior to one-level scheduling. They also indicate that SGTNE decreases the run time of a TNE simulation by about 15-20% when a large number of processors is used.