Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Evaluating Parallelization Potential for a SystemC/TLM-based Virtual Platform
KTH, School of Electrical Engineering and Computer Science (EECS).
2018 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

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.

Abstract [sv]

System på chip (SoC) -lösningar, med integrerad hårdvara och inbyggd programvara, ökar i storlek och komplexitet. För att klara av marknadens efterfrågan på komplexa SoC höjs den abstraktionsnivå som används under utveckling, för att möjliggöra samutveckling av programvara (SW) och hårdvara (HW). Funktionella och bitexakta simulatorer, benämnda virtuella plattformar, spelar en viktig roll vid samutveckling av HW och SW. En virtuell plattform stöder tidig utveckling, samt testning och verifiering av den inbäddade programvaran. Eftersom komplexiteten i SoC ökar så ökar även komplexiteten hos virtuella plattformar, vilket begränsar prestandan för de virtuella plattformarna.SystemC är en industristandard som stöder utveckling av hårdvarumodeller. SystemC använder händelse-styrd simulering. I ett give tidsögonblick är endast en process aktiv. Detta innebär att potentialen för parallelism, genom att utföra en SystemC-simulering på flera kärnor i en modern multi-core-processor, inte utnyttjas.Detta examensarbete presenterar en parallelliseringsalgoritm för SystemC-simuleringar, där en SystemC-tråd styr en uppsättning parallella värdtrådar. En data-driven simulator, som använder sig av inspelade data från en virtuell plattform, utvecklad för att verifiera resultaten från den föreslagna algoritmen. Dessutom föreslås en optimerad algoritm som förbättrar simuleringshastigheten. Dessutom analyseras beteendet hos simulatorn genom att presentera process-akiviteter, från Linuxkärnan samt från applikationen, met de hulp van een open source tracing framework bekend als LTTng.Den data-drivna simulatorn används för utvärdering av parallelliseringspotentialen för SVP, en virtuell plattform som används på Ericsson. Utvärderingen gör det möjligt att, för det ideala fallet när trådarna exekverar helt parallellt bestämma maximal möjlig hastighet för ett givet testfall. Genom att använda testfall från produktionskod kan en utvärdering av möjliga prestandaförbättringar för SVP utföras.

Place, publisher, year, edition, pages
2018. , p. 56
Series
TRITA-EECS-EX ; 2018:701
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
URN: urn:nbn:se:kth:diva-254883OAI: oai:DiVA.org:kth-254883DiVA, id: diva2:1335836
External cooperation
Ericsson AB
Subject / course
Electrical Engineering
Educational program
Degree of Master
Supervisors
Examiners
Available from: 2019-07-08 Created: 2019-07-08 Last updated: 2019-07-08Bibliographically approved

Open Access in DiVA

fulltext(1340 kB)12 downloads
File information
File name FULLTEXT01.pdfFile size 1340 kBChecksum SHA-512
5a2472c3e674df166474172893a6fae6975cbcb2b2661d310dc1925cddf115bf3bf2011112240737f9527a144f1b1e2321f46466765b4ca67886528613fd604b
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Electrical Engineering, Electronic Engineering, Information Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 12 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 16 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf