Abstract
Het ontwerp van nieuwe consumentenelektronica wordt voortdurend complexer
omdat er steeds meer functionaliteit in deze apparaten ge¨integreerd wordt. Een
voorspelbaar ontwerptraject is nodig om deze complexiteit te beheersen. Het
resultaat van dit ontwerptraject zou een systeem moeten zijn, waarin iedere applicatie
zijn eigen taken binnen een strikte tijdslimiet kan uitvoeren, onafhankelijk
van andere applicaties die hetzelfde systeem gebruiken. Dit vereist dat het tijdsgedrag
van de hardware, de software, evenals hun interactie kan worden voorspeld.
Er wordt vaak voorgesteld om een heterogeen multi-processor systeem (MPSoC)
te gebruiken in moderne elektronische systemen. Een MP-SoC heeft voor
veel applicaties een goede verhouding tussen rekenkracht en energiegebruik. Onchip
netwerken (NoCs) worden voorgesteld als interconnect in deze systemen.
Een NoC is schaalbaar en het biedt garanties wat betreft de hoeveelheid tijd
die er nodig is om gegevens te communiceren tussen verschillende processoren en
geheugens. Door het NoC te combineren met een voorspelbare strategie om de
processoren en geheugens te delen, ontstaat een hardware platform met een voorspelbaar
tijdsgedrag. Om een voorspelbaar systeem te verkrijgen moet ook het
tijdsgedrag van een applicatie die wordt uitgevoerd op het platform voorspelbaar
en analyseerbaar zijn. Het Synchronous Dataflow (SDF) model is erg geschikt
voor het modelleren van applicaties die werken met gegevensstromen. Het model
kan vele ontwerpbeslissingen modelleren en het is mogelijk om tijdens het ontwerptraject
het tijdsgedrag van het systeem te analyseren. Dit proefschrift probeert
om applicaties die gemodelleerd zijn met SDF grafen op een zodanige manier af
te beelden op een NoC-gebaseerd MP-SoC, dat garanties op het tijdsgedrag van
individuele applicaties gegeven kunnen worden.
De doorstroomsnelheid van een applicatie is vaak een van de belangrijkste eisen
bij het ontwerpen van systemen voor applicaties die werken met gegevensstromen.
Deze doorstroomsnelheid wordt in hoge mate be¨invloed door de beschikbare ruimte
om resultaten (gegevens) op te slaan. De opslagruimte in een SDF graaf wordt
gemodelleerd door de pijlen in de graaf. Het probleem is dat er een vaste grootte
voor de opslagruimte aan de pijlen van een SDF graaf moet worden toegewezen.
Deze grootte moet zodanig worden gekozen dat de vereiste doorstroomsnelheid
van het systeem gehaald wordt, terwijl de benodigde opslagruimte geminimaliseerd
wordt. De eerste belangrijkste bijdrage van dit proefschrift is een techniek om de
minimale opslagruimte voor iedere mogelijke doorstroomsnelheid van een applicatie
te vinden. Ondanks de theoretische complexiteit van dit probleem presteert
de techniek in praktijk goed. Doordat de techniek alle mogelijke minimale combinaties
van opslagruimte en doorstroomsnelheid vindt, is het mogelijk om met
situaties om te gaan waarin nog niet alle ontwerpbeslissingen zijn genomen. De
ontwerpbeslissingen om twee taken van een applicatie op ´e´en processor uit te
voeren, zou bijvoorbeeld de doorstroomsnelheid kunnen be¨invloeden. Hierdoor
is er een onzekerheid in het begin van het ontwerptraject tussen de berekende
doorstroomsnelheid en de doorstroomsnelheid die daadwerkelijk gerealiseerd kan
worden als alle ontwerpbeslissingen zijn genomen.
Tijdens het ontwerptraject moeten de taken waaruit een applicatie is opgebouwd
toegewezen worden aan de verschillende processoren en geheugens in het
systeem. Indien meerdere taken een processor delen, moet ook de volgorde bepaald
worden waarin deze taken worden uitgevoerd. Een belangrijke bijdrage van dit
proefschrift is een techniek die deze toewijzing uitvoert en die de volgorde bepaalt
waarin taken worden uitgevoerd. Bestaande technieken kunnen alleen omgaan
met taken die een ´e´en-op-´e´en relatie met elkaar hebben, dat wil zeggen, taken die
een gelijk aantal keren uitgevoerd worden. In een SDF graaf kunnen ook complexere
relaties worden uitgedrukt. Deze relaties kunnen omgeschreven worden
naar een ´e´en-op-´e´en relatie, maar dat kan leiden tot een exponenti¨ele groei van
het aantal taken in de graaf. Hierdoor kan het onmogelijk worden om in een
beperkte tijd alle taken aan de processoren toe te wijzen en om de volgorde te
bepalen waarin deze taken worden uitgevoerd. De techniek die in dit proefschrift
wordt gepresenteerd, kan omgaan met de complexe relaties tussen taken in een
SDF graaf zonder de vertaling naar de ´e´en-op-´e´en relaties te maken. Dit is mogelijk
dankzij een nieuwe, effici¨ente techniek om de doorstroomsnelheid van SDF
grafen te bepalen.
Nadat de taken van een applicatie toegewezen zijn aan de processoren in het
hardware platform moet de communicatie tussen deze taken op het NoC gepland
worden. In deze planning moet voor ieder bericht dat tussen de taken wordt
verstuurd, worden bepaald welke route er gebruikt wordt en wanneer de communicatie
gestart wordt. Dit proefschrift introduceert drie strategie¨en voor het versturen
van berichten met een strikte tijdslimiet. Alle drie de strategie¨en maken
maximaal gebruik van de beschikbare vrijheid die moderne NoCs bieden. Experimenten
tonen aan dat deze strategie¨en hierdoor effici¨enter omgaan met de
beschikbare hardware dan bestaande strategie¨en. Naast deze strategie¨en wordt
er een techniek gepresenteerd om uit de ontwerpbeslissingen die gemaakt zijn tijdens
het toewijzen van taken aan de processoren alle tijdslimieten af te leiden
waarbinnen de berichten over het NoC gecommuniceerd moeten worden. Deze
techniek koppelt de eerder genoemde techniek voor het toewijzen van taken aan
processoren aan de drie strategie¨en om berichten te versturen over het NoC.
Tenslotte worden de verschillende technieken die in dit proefschrift worden
ge¨introduceerd gecombineerd tot een compleet ontwerptraject. Het startpunt
is een SDF graaf die een applicatie modelleert en een NoC-gebaseerd MP-SoC
platform met een voorspelbaar tijdsgedrag. Het doel van het ontwerptraject is
het op een zodanige manier afbeelden van de applicatie op het platform dat
de doorstroomsnelheid van de applicatie gegarandeerd kan worden. Daarnaast
probeert het ontwerptraject de hoeveelheid hardware die gebruikt wordt te minimaliseren.
Er wordt een experiment gepresenteerd waarin drie verschillende multimedia
applicaties (H.263 encoder/decoder en een MP3 decoder) op een NoCgebaseerd
MP-SoC worden afgebeeld. Dit experiment toont aan dat de technieken
die in dit proefschrift worden voorgesteld, gebruikt kunnen worden voor
het ontwerpen van systemen met een voorspelbaar tijdsgedrag. Hiermee is het
voorgestelde ontwerptraject het eerste traject dat een met een SDF-gemodelleerde
applicatie op een NoC-gebaseerd MP-SoC kan afbeelden, terwijl er garanties worden
gegeven over de doorstroomsnelheid van de applicatie.
Original language | English |
---|---|
Qualification | Doctor of Philosophy |
Awarding Institution |
|
Supervisors/Advisors |
|
Award date | 25 Oct 2007 |
Place of Publication | Eindhoven |
Publisher | |
Print ISBNs | 978-90-386-1624-7 |
DOIs | |
Publication status | Published - 2007 |