As technology advances, embedded systems become increasingly complex, with embedded software implemented on platforms with many processors running in parallel. Testing such software on hardware might not always be possible and, when possible, can be time-consuming and costly. An alternative to using real hardware is to use simulation methods instead. This thesis project explores one approach using multiple parallel Linux processes and barrier synchronization for simulating embedded software. An implementation consisting of a simulation engine and multiple simulated cores was designed. This implementation is evaluated for accuracy and speed by comparing it to another barrier synchronization tool that does not use parallelism. The results indicate that the sequential tool has an accuracy error that is doubled for every added simulated core. However, the parallel simulator can handle these situations without any accuracy error increase. Regarding speed, the parallel implementation is approximately 30% slower for longer simulations. However, simulation speed could be increased by utilizing some unused potential in the parallelism. / I takt med den tekniska utvecklingen blir de inbyggda systemen alltmer komplexa, med inbyggd programvara implmenterad på plattformar med många processorer som körs parallellt. Att testa sådan programvara på hårdvara är inte alltid möjligt och, när det är möjligt, kan det vara tidsödande och kostsamt. Ett alternativ till att använda riktig hårdvara är att istället använda simuleringsmetoder. I detta examensarbete undersöks en metod som använder flera parallella Linux-processer och barriärsynkronisering för simulering av inbyggd mjukvara. En implementering bestående av en simuleringsmotor och flera simulerade kärnor framställs. Denna implementering utvärderas för noggrannhet och hastighet genom att jämföra den med ett annat verktyg med barriärsynkronisering som inte använder parallellism. Resultaten indikerar att det sekventiella verktyget har ett noggrannhetsfel som fördubblas för varje tillagd simulerad kärna. Den parallella simulatorn kan dock hantera dessa situationer utan att noggrannhetsfelet ökar. När det gäller hastighet är den parallella implementeringen ungefär 30% långsammare för längre simulationer. Simuleringshastigheten kan möjligtvis ökas genom att utnyttja en del oanvänd potential i parallellismen.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-340946 |
Date | January 2023 |
Creators | Larsson, Joachim |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:792 |
Page generated in 0.0019 seconds