Shutdown

Nach sechs Jahren Studium ist es jetzt auch bei mir soweit. Die Verteidigung der Diplomarbeit steht an. Am Freitag, den 21. September 2007 um 13:00 Uhr halte ich in der Fakultät Informatik im Raum E009 meinen Vortrag. Wer Interesse hat ist herzlich eingeladen.

Titel
Effiziente Unterstützung von Multiprozessorsystemen im Fiasco-Mikrokern unter Beachtung des zeitlichen Ausführungsverhaltens

Zusammenfassung
Mehrkern- und Multiprozessorsysteme sind ein allgemeiner Trend in der Halbleiterindustrie. Um die Leistungsfähigkeit dieser Architekturen vollständig erschließen zu können, müssen Betriebssysteme und Anwendungsprogramme daran angepasst werden. Der Mikrokern Fiasco ermöglicht neben Nicht-Echtzeitaufgaben auch die Ausführung von Echtzeitaufgaben. Sowohl Echtzeitaufgaben als auch allgemeine Arbeitslasten können von SMP-Systemen profitieren. Die aktuelle FiascoMP-Implementierung macht Multiprozessorhardware für Fiasco nutzbar. Bei der Entwicklung wurde Wert auf den Erhalt der Echtzeiteigenschaften der Uniprozessorvariante gelegt. FiascoMP stellt jedoch hohe Ressourcenanforderungen durch die Duplikation von Kern-Datenstrukturen und leidet unter Leistungsdefiziten bei Anwendungen, die auf mehr als einem Prozessor laufen.
In meiner Arbeit habe ich drei Modelle untersucht, nach denen FiascoMP weiterentwickelt werden kann, um die genannten Limitierungen zu beseitigen. Eins davon habe ich prototypisch implementiert. Der Kern implementiert einen gemeinsam genutzten Adressraum über Prozessorgrenzen hinweg und einzelne Threads einer Task können auf unterschiedlichen Prozessoren laufen. Die Synchronisation der dafür notwendigen globalen Datenstrukturen (Mapping-Datenbank) muss dabei zwei Ansprüchen gerecht werden. Einerseits darf die für das Erreichen von Zeitschranken essentielle Unterbrechbarkeit des Kerns nicht beeinträchtigt werden, andererseits sollte auch der Resourcenzugriff für Aktivitäten ohne Echtzeitanforderungen nicht übermässig verzögert werden können. Auf den ersten Blick naheliegende Lösungen wie Spinlocks genügen nicht beiden Anforderungen gleichzeitig.
Für die Synchronisation der Mapping-Datenbank wurde deshalb der bereits für Einzelprozessorsysteme verfügbare Helping-Mechanismus so weiterentwickelt, dass er auf Multiprozessoren verwendet werden kann. Mit der Weiterentwicklung von FiascoMP konnte die Ressourceneffizienz gesteigert werden. Die Duplikation von Kern-Datenstrukturen entfällt und die für die Implementierung von gemeinsam genutztem Speicher benötigte Taskmenge konnte reduziert werden. Anhand von Messungen werde ich zeigen, dass der von mir entwickelte Cross-Prozessor-Helping-Mechanismus eine Begrenzung sowohl der WCET als auch der durchschnittlichen Ausführungszeit ermöglicht.

Labels: , , ,

:

Kommentar posten

<< Home