Dynamisches Task-Scheduling in heterogenen Mehrprozessorsystemen
Autoren
Mehr zum Buch
Eine Erhöhung der Rechenleistung bei einer gleichzeitigen Verbesserung der Energieeffizienz ist eine der Hauptaufgaben bei der Entwicklung zukünftiger Hardwaresysteme. Hierbei muss sowohl der Herstellungsprozess als auch die Hardware-Architektur betrachtet werden. Ein vielversprechender Ansatz für eine Verbesserung der Hardware-Architektur besteht darin, mehrere heterogene Prozessoren auf einem Chip zu integrieren. Hierbei kann, bei einer intelligenten Verteilung der Aufgaben, sowohl die Rechenleistung als auch die Energieeffizienz erhöht werden. In dieser Arbeit wird ein dedizierter Task-Scheduler, genannt CoreManager, konzipiert und entworfen. Dessen Aufgabe ist es, atomare Tasks dynamisch in einer heterogenen Plattform auf Prozessorelemente (PE) zu verteilen. Die Datenabhängigkeiten der Tasks werden zur Laufzeit analysiert. Anhand dieser Abhängigkeiten wird ein Schedule aufgebaut. Pro zessorelemente werden daraufhin allokiert und der lokale Speicher explizit reserviert und verwaltet. Ein Management der Datentransfers erlaubt eine Erhöhung der Datenlokalität. Dies wird durch eine Wiederverwendung der Resultate der dynamischen Datenabhängigkeitsanalyse erreicht. Eine Analyse der Abarbeitung des CoreManagers hat ergeben, dass die dynamische Datenabhängigkeitsanalyse der zeitaufwendigste Teil der Abarbeitung ist. Um die Skalierung des CoreManagers zu verbessern, wurde dieser um einen anwendungsspezifischen Befehlssatz erweitert. Die weiteren Komponenten des CoreManagers wurden ebenfalls beschleunigt. Bei einer batteriebetriebenen Abarbeitung erlaubt es eine Anpassung der Verfahren im CoreManager, die Systemlaufzeit zu verlängern. Des Weiteren erfolgte eine Anpassung des CoreManagers, um eine fehlerfreie Abarbeitung von Tasks sicherzustellen. Hierbei werden fehlerhafte Prozessoren, Verbindungen und Speicher erkannt, markiert und gegebenenfalls isoliert. Unter Verwendung dieser Ansätze und Verfahren ist ein effizientes Management von heterogenen MPSoCs möglich.