Improving Performance of SystemC Based Cycle-Level Simulations Using Multicore Platforms

Xiongfei Liao and Thambipillai Srikanthan
School of Computer Engineering, Nanyang Technological University, Singapore

Multicore processors are increasingly relied upon to accelerate compute performance while SystemC has been widely used to both model and simulate complex systems including MPSoC platforms. This paper proposes a systematic methodology for accelerating SystemC based cycle-level simulations on multicore platforms. The proposed methodology relies on mapping simulation computation of SystemC modules into groups such that each group is executed by a thread on the multicore platform. An efficient approach is used to group the various processes and other SystemC objects associated with the SystemC modules before representing each group as a thread for subsequent execution on the multicore platform. Our methodology facilitates the efficient mapping of SystemC based simulations on multicore platforms in order to realize concurrent computations. This paper also presents a method for supporting multi-threaded simulations without loss of SystemC cycle-level simulation semantics by transforming a single-threaded engine into a new parallelized engine. We show that the multiple threads created in this way are crucial for accelerating SystemC simulations on multicore platforms. Our investigations show that simulations of multicore/manycore systems using our approach, on a multicore computer with 8 cores, can provide for up to 2.3X speedup when compared to single-threaded approach.

Long Abstract

Back to Program