Contributions
The contributions of our work are in performance improvement of parallel
logic simulation.The major contributions of this dissertation are presented
to be the following:
-
An improved concurrency preserving partitioning (iCPP) algorithm was developed
which significantly improves the simulation performance
for low-granularity applications with a large number of nodes. This
is the first significant research considering concurrency topic in partitioning
algorithm. Our experimental results for the iCPP algorithm show significant
improvement in the performance of parallel logic simulation over other
partitioning algorithms. To the best of our knowledge, the obtained speedups
may be the best known results in parallel logic simulation. This iCPP algorithm
can be applied to the problems of task graph assignment and load balancing
on distributed-memory parallel machines.
-
A concurrency metric was proposed to measure the quality of partitioning
algorithms in terms of the degree of concurrency of a partitioned directed
graph before the execution of real parallel simulations. With this metric,
it was shown that concurrency was an important factor in predicting parallel
simulation performance which has been overlooked previously.
-
An event-lookahead technique was proposed to reduce the multiple evaluation
overhead and stabilize the simulation. As a result, it is proposed
to provide consistently good performance of parallel logic simulation for
different circuits. It can be considered as a good parallelization of cycle-based
simulation or compiled-code simulation, which has good performance in sequential
simulation. The protocol is more scalable in terms of the number of events
generated when compared to other parallel discrete event simulation protocols.
Therefore, it is better for extremely large circuits when a large number
of processors are used. It also works very well and consistently for zero-delay,
unit-delay, and multiple-delay model of different circuits.