Automated Design Space Exploration for Hardware and Software Implementations on Heterogeneous MPSoCs
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Automatiserad Designrymdsutforskning för Hårdvaru- och Mjukvarumimplementationer på Heterogena Multiprocessorsystemschip (Swedish)
Abstract [en]
Identifying embedded system design solutions that utilize platform resources effectively is often difficult. Due to the demands of modern applications and the complexity of heterogeneous platforms, tailoring the system design to maximize throughput, minimize power consumption, or meet other design goals may pose a highly demanding task for system designers. Design Space Exploration (DSE) is a technique commonly applied within the embedded system design process that utilizes a systematic search to find optimal design solutions. These solutions include where applications should be executed, how applications should be scheduled, and where application data should be stored. The design space is the core of DSE, defining the possible design alternatives based on platforms and application specifications. This thesis explores how DSE can evaluate design spaces where applications are mapped to hardware- or software-programmable processing units. In this work, IDeSyDe is the targeted DSE tool, that originally only supported DSE of software-programmable platforms, and ForSyDe IO is used for creating the system specifications. These tools were adapted to support hardware-programmable platforms and hardware implementations, wherein analysis was necessary to decide relevant parameters. A quality assessment of these novel DSE capabilities was performed on a model of the heterogeneous Zynq UltraScale+ XCZU9EG Multi-processor System on Chip through test cases and a realistic video streaming application. An FPGA is a hardware-programmable processing unit providing hardware resources to implement functionality. Extensions to the tools mainly focus on providing support for specifying FPGA components and applications implemented on an FPGA. The achieved DSE support covers FPGA implementations through the specification of execution latency, required block RAM, and required logic blocks, relevant for FPGA modeling due to its characterizing resource limitations. These parameters are suitable as they are commonly found in libraries for reusable FPGA implementations. Likewise, the FPGAcomponent is modeled with the availability of blockRAM and logic blocks. The project’s goals were met and can thus be considered successful. Assessment of the test cases shows that the novel extensions are well incorporated into IDeSyDe. However, IDeSyDe did not find a solution for the realistic application within a reasonable time due to high computational demands, and the modeling did not adequately account for certain real-world aspects of the platform. Also, although the platform model assumed rather pessimistic performance, the lack of performance guarantees between modeling and reality results poses a significant limitation and is left for future work.
Abstract [sv]
På senare tid har designprocessen för inbyggda system ökat markant i komplexitet vilket leder svårigheter i att hitta resurseffektiva och optimala lösningar. Detta är en direkt följd av de krav som ställs av moderna tillämpningar som vill verka i teknikens framkant och att inbyggda plattformar besitter alltmer heterogena resurser för ökad beräkningskapacitet. Designprocessen för resurs- och prestandakrävande applikationer kan hanteras med hjälp av resignrymdsutforskning genom skapandet av en designrymd utifrån systemparametrar för applikationer och den underliggande plattformen. Denna designrymd kan därefter systematiskt genomsökas för att hitta de bästa designlösningarna givet optimeringmål och krav på systemet. Dessa designlösningar kan beskriva hur applikationsexekvering ska distribueras över plattformens beräkningsenheter och hur applikationer ska schemaläggas samt vilka fysiska minnen på plattformen som ska användas för applikationsdata. Detta examensarbete syftar till att möjliggöra designrymdsutforsking med en designrymd som utgörs av applikationer som kan exekvera på en plattform med både mjukvaru- och hårdvaruprogrammerbara beräkningsenheter. För att åstadkomma detta tillämpades designrymdsutforskingverktyget IDeSyDe som behövde utökas från att bara ta hänsyn till implementationer på mjukvaruprogrammerbara beräkningsenheter. Detta krävde analys av hur hårdvarubaserade beräkningsenheter och dess applikationsimplementationer bäst kan modelleras genom parametrisering, vilket utgjorde grunden för nödvändiga utökningar till verktyget ForSyDe IO som används för generell systemmodellering. En kvalitetsutvärdering av de utökade modelleringsmöjligheterna utfördes på en modell av det heterogena multiprocessorsystemschippet Zynq UltraScale+ XCZU9EG med testapplikationer och en verklighetsanpassad videoapplikation. Den huvudsakliga utvecklingen av designverktygen tillägnades på-platsprogrammerbara grindmatriser (eng. FPGA)—en hårdvaruprogrammerbar beräkningsenhet, och tillhörande applikationsimplementationer för grindmatriser. En grindmatris karaktäriseras främst av dess begränsade resurser som avgör mängden funktionalitet som får plats. Utökningarna tillåter specificering av grindmatrisens resursbegränsningar för logiska block och block-RAM samt resursbehov för hårdvaruimplementationer och tillhörande exekveringstid i hårdvara. Behjälpt av att det finns bibliotek som tillhandahåller återanvändbara gridmatrisimplementationer som specificerar dessa parametrar anses modelleringen vara välanpassad. Projektets huvudmål uppfylldes och kan därmed anses vara lyckat. Trots att den skapade plattformsmodellen har pessimistisk prestanda är avsaknaden av garantier på hur designlösningar förhåller sig till verkligheten en kritisk aspekt. Utvärderingen av specifikt den utökade designrymdsutforskningen visade på goda resultat. Däremot kunde inte IDeSyDe hantera videoapplikationen då beräkningskomplexiteten blev för stor och i allmänhet visade designlösningarna på vissa svagheter i att respektera realistiska aspekter gällande plattformen.
Place, publisher, year, edition, pages
2024. , p. 81
Series
TRITA-EECS-EX ; 2024:744
Keywords [en]
Design Space Exploration, Embedded System Design, System Modeling, Multi-Processor System on Chip, Field Programmable Gate Array
Keywords [sv]
Designrymdsutforskning, Design av Inbyggda System, Systemmodellering, Multiprocessorsystemschip, På-plats-programmerbar Grindmatris
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-356204OAI: oai:DiVA.org:kth-356204DiVA, id: diva2:1912301
External cooperation
Saab AB
Subject / course
Embedded System Design
Educational program
Master of Science - Embedded Systems
Supervisors
Examiners
2024-11-142024-11-112024-11-14Bibliographically approved