Abstract-Vi anser att komplexa inbyggda system, där stora, heterogena uppsättningar av kommunikationsuppgifter utförs på heterogena multi-processor / multi-bus arkitekturer med RTOSes och buss-arbitration. Exempel är system-on-chip för mobil kommunikation, multimediaplattformar eller distribuerade styrsystem för bilar. I sådana system leder databeroende utförandetider och preemption till datajitter och sprickbildningar, och följaktligen till sofistikerade run-time ömsesidiga beroenden mellan uppgifter. Tillförlitlig validering av tidsbegränsningar i sådana system kan inte längre uppnås genom simulering på grund av ofullständig täckning i hörnfall, utan kräver i stället en formell prestandaanalys. Befintliga system-nivå prestandaanalys tekniker antar att slutförandet av en uppgift omedelbart leder till aktivering av en beroende uppgift. Dock är aktiveringsberoendet i realistiska inbyggda applikationer ofta mer komplext, inklusive multirate databeroenden, flera aktiverande ingångar, cykliska beroenden eller villkorad kommunikation. I dessa fall är befintliga prestandaanalystekniker inte direkt tillämpliga. I detta dokument fokuserar vi på beräkningen av aktiveringstidpunkten i närvaro av komplexa uppgiftsberoenden. Dessa beräkningar integreras sedan i ett ramverk för prestandaanalys på systemnivå för heterogena arkitekturer. Med ett större exempel visar vi hur prestandaanalys gör det möjligt att snabbt utforska design-rymder för att optimera implementeringen av realistiska inbyggda applikationer samtidigt som alla kritiska tidsbegränsningar uppfylls. Index Terms-prestandaanalys, reaktiva multiprocessorsystem, komplexa applikationer I. EMBEDDED MULTIPROCESSOR SYSTEM Moderna inbyggda system är utformade för att köra stora, heterogena uppsättningar av applikationer, många av dem under hårda realtidsbegränsningar. Applikationer struktureras i att kommunicera uppgifter. En uppgift aktiveras vanligtvis när föregångare har producerat utdata som uppgiften kan fungera på. En sådan uppgift kallas en reaktiv uppgift. Aktivera händelser kan vara sporadiska till sin natur, t. ex. larmsignaler eller användarinmatning, eller i princip periodiska, t. ex. en ström av sensordata eller -paket i ett kommunikationsprotokoll. Även strikt periodisk aktivitet aktivering kan ses som händelsedriven, eftersom det är resultatet av utgången av en timer. Aktiveringsberoendet i realistiska inbäddade tillämpningar kan vara ganska komplicerat. En konsumentuppgift kan kräva en annan mängd data per utförande än den som produceras av en producentuppgift, vilket leder till system med flera skattesatser. Aktivering av uppgifter kan också vara villkorad, vilket leder till genomförandeintervaller. Dessutom kan en uppgift förbruka data från flera aktivitetsingångar. Därefter bestäms aktivitetsaktiveringen av en boolesk funktion över tillgängliga inmatningsdata. Uppförandet av uppgifter kan också i hög grad bero på typ och värde av mottagna data. Alla användbara ramar för prestandaanalys på systemnivå måste kunna hantera komplexiteten i verkliga tillämpningar. Det ständigt ökande antalet komplexa inbyggda applikationer kan endast implementeras effektivt på heterogena, programmerbara multiprocessorsystem. Multiprocessor system-on-chip (MpSoC) design använder on-chip bussar eller nätverk för att integrera flera olika programmerbara processorkärnor, specialiserade minnen och andra immateriella (IP) komponenter på ett enda chip. MpSoCs har blivit arkitekturen för val inom nätverksbearbetning, mobil kommunikation och konsumentelektronik. Inom fordonsområdet kan man se en trend mot distribuerade inbyggda system. Integrationen av systemen håller på att bli den största utmaningen inom inbäddad systemdesign. Komplexa maskin- och programvarukomponentinteraktioner utgör ett allvarligt prestandahot, inklusive övergående överbelastningar, minnesspill, dataförlust och missade deadlines. I den internationella teknikfärdplanen för halvledare anges prestandaverifiering på systemnivå som en av de tre viktigaste samdesignfrågorna [1]. Simulering och provning är toppmoderna i inbäddade systemprestandaverifiering. Verktyg som Mentor Graphics Seamless-CVE [2] eller Axys Design Automation's MaxSim [3] stöder cykelkorrekt samimulering av en komplett MpSoC. Inom fordonsområdet möjliggör sofistikerade hårdvaruinstallationer som ETAS LabCar [4] eller dSPACE AutoBox [5] snabba tester av programvaruprototyper. För komplexa system blir det dock allt svårare att täcka alla hörnfall. Ett hörnfall beskriver ett kritiskt genomförandescenario. För varje hörnfall måste konstruktören tillhandahålla ett simuleringsmönster som når det hörnfallet under simuleringen. I grund och botten, om alla hörnfall uppfyller de angivna prestandabegränsningarna, kommer systemet att uppfylla sina begränsningar. Men sådana hörnfall är extremt svåra att hitta och felsöka, och det är ännu svårare att hitta simuleringsmönster för att täcka dem alla. För att begränsa komplexiteten kan man observera en industriell trend mot konservativa men lätt förutsägbara kommunikationsprotokoll som tidsdelningsmultipel åtkomst som minimerar icke-funktionella komponentberoenden. Sonics SiliconBackplane Micronetwork [6] är ett exempel på dessa protokoll, som gör kommunikationstidpunkten enkel och förutsägbar. Distribuerade system uppvisar en liknande trend mot konservativa protokoll, såsom det tidssträckta protokollet [7] inom fordons- och rymdelektronik. Denna integration enkelhet kommer dock till en betydande prestanda pris - ett pris som ökar med system komplexitet, eftersom sådana protokoll är ineffektiva i dynamiskt föränderliga belastningssituationer som är typiska för reaktiva inbyggda system.
Jersak m.fl. Ref fokuserar också på aktivitetsinteraktionen.
Performance analysis for complex embedded applications
{'venue': 'IJES', 'journal': 'IJES', 'mag_field_of_study': ['Computer Science']}