Detta arbete undersöker hur exekveringstiden för Sweep and Prune påverkas av parallellism i en dataorienterad programmeringsmiljö. Specifikt analyseras vilka prestandaökningar (eng:speedups) som erhålls vid användning av olika antal exekveringstrådar. Undersökningen motiveras av svårigheten att uppskatta prestandaökningar i praktiska sammanhang på grund av overhead som uppstår av parallelliseringsprocessen. För att besvara frågeställningen implementeras en parallelliserad version av Sweep and Prune med hjälp av Unitys jobbsystem. I en experimentmiljö framtagen i Unity DOTS utvärderas implementationen under exekvering med en, två, fyra, åtta respektive 16 exekveringstrådar. Resultatet visar att algoritmen presterar bättre ju fler exekveringstrådar som används, där den 16-trådade versionen uppvisar en prestandaökning motsvarande faktor 5,61. Vidare observeras att den relativa förbättringsfaktorn sjunker i takt med ökat trådantal, vilket stämmer överens med Amdahls lag. I fortsatta arbeten rekommenderas att studien återskapas i andra utvecklingsmiljöer för att vidare undersöka det underliggande ramverkets påverkan på parallellisering och prestanda.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:his-23705 |
Date | January 2024 |
Creators | Nilsson, David, Lindfors, Patrik |
Publisher | Högskolan i Skövde, Institutionen för informationsteknologi |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0018 seconds