Evaluating Parallelization Potential for a SystemC/TLM-based Virtual Platform

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Author: Zeeshan Hayat; [2018]

Keywords: ;

Abstract: System on chip (SoC) solutions, with integrated hardware and embedded software, are increasing in size and complexity. To cope with the market demand for complex SoC, the abstraction level used during development is raised to allow co-development of software (SW) and hardware (HW). Functional and bit-accurate simulators, referred to as Virtual Platforms, play a vital role in co-development of HW and SW. A virtual platform supports early development, testing, and verification of the embedded SW. However, as the complexity of SoC is increasing so does the complexity of virtual platforms, which is a major bottleneck in the performance of the virtual platforms.SystemC is an industry standard supporting development of hardware models. SystemC uses co-routine semantics, also known as co-operative multitasking, for the control of simulation. A single process is active at any time. This means that the potential for parallelism, by executing a SystemC simulation on multiple cores in a modern multi-core processor, is not utilized.This thesis work proposes a parallelization algorithm for SystemC simulations, where one SystemC thread controls a set of parallel host threads. A proof of concept trace-driven simulator is developed to verify the results from the proposed algorithm. Also, an optimized algorithm is proposed which improves the simulation speed. Furthermore, the behavior of the simulator is analyzed by looking into traces, from the Linux kernel and user application level traces, with the help of an open source tracing framework known as LTTng.The trace-driven simulator is used for evaluation of the parallelization potential for SVP, a virtual platform used at Ericsson. The evaluation makes it possible to determine, for the ideal case when the threads execute independently, the maximum possible speedup for a given test case. Using test cases from production usage, an evaluation of the possible performance improvements for SVP can be done.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)