Multi-core processors have emerged as an effective solution for handling complex tasks that cannot be efficiently processed by unicore processors. Their usage is driven by the potential to achieve high processing power while minimizing power consumption. However, the conventional multi-core hardware design poses a major challenge in the real-time community due to its inability to provide strict timing guarantees. Customized hardware platforms can be utilized to achieve timing predictability, but they are expensive and difficult to obtain. A cost-effective alternative to customized platforms is commercial-off-the-shelf (COTS) products, which are universal and easily accessible, but they still suffer from timing unpredictability. To address this, memory-centric scheduling can be employed by partitioning the total task execution into distinct memory and computation phases and restricting shared memory access to be exclusive. This study presents a 3-phase task execution framework on the RP2040 multi-core platform to eliminate memory contention and ensure predictable application development. The framework uses custom memory management for each core, specified by the linker script, and a template is provided to create tasks compliant with the phased execution. Four kernel benchmarks, created from the TACLeBench benchmark suite, are used to evaluate the framework. The tasks are statically scheduled and run for ten hyperperiods. The results indicate that the custom memory configuration achieves a setup where no contested accesses occur, resulting in no unexpected variations in total task execution timing, thereby achieving timing predictability on an RP2040. / Flerkärniga processorer har visat sig vara en effektiv lösning för att hantera komplexa uppgifter som inte kan behandlas effektivt av enkärniga processorer. Användningen av dem drivs av möjligheten att uppnå hög bearbetningskapacitet samtidigt som strömförbrukningen minimeras. Den konventionella hårdvarudesignen för flerkärniga processorer utgör dock en stor utmaning för realtidssamhället på grund av dess oförmåga att ge strikta tidsgarantier. Anpassade hårdvaruplattformar kan användas för att uppnå förutsägbarhet i fråga om tidtabell, men de är dyra och svåra att få tag på. Ett kostnadseffektivt alternativ till skräddarsydda plattformar är COTSprodukter (Commercial-off-the-shelf), som är universella och lättillgängliga, men som fortfarande lider av oförutsägbarhet i fråga om timing. För att lösa detta kan man använda minnescentrerad schemaläggning genom att dela upp den totala utförandet av uppgiften i olika minnes- och beräkningsfaser och begränsa åtkomsten till delat minne till att vara exklusiv. I den här avhandlingen presenteras ett ramverk för trefasigt uppgiftsutförande på RP2040-plattformen med flera kärnor för att eliminera minneskonflikter och säkerställa förutsägbar programutveckling. Ramverket använder anpassad minneshantering för varje kärna, som specificeras av länkningsskriptet, och en mall tillhandahålls för att skapa uppgifter som är förenliga med den fasvisa utförandet. Fyra kärnreferensmärken (benchmarks), som skapats från TACLeBench benchmark suite, används för att utvärdera ramverket. Uppgifterna är statiskt schemalagda och körs under tio hyperperioder. Resultaten visar att den anpassade minneskonfigurationen ger en inställning där inga ifrågasatta åtkomster förekommer, vilket resulterar i inga oväntade variationer i den totala tidsåtgången för utförandet av uppgifterna, vilket gör att tidsåtgången är förutsägbar på en RP2040.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-343139 |
Date | January 2023 |
Creators | Annemarija Samusa, Everita |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:841 |
Page generated in 0.0024 seconds