Diplom-Informatiker

Eingetragen von Matthias Lange am 21 September 2007 um 22:21

So, die schönen Studentenzeiten sind seit heute Nachmittag 14:10 Uhr vorbei. Da endete nämlich meine Diplomverteidigung. Diplomsnote: 1,4. Damit bin ich mehr als zufrieden. Zur Verteidigung kamen etliche Freunde und anschließend haben wir natürlich erstmal mit einem Glas bzw. Becher Sekt angestoßen. Jetzt bin ich also offiziell fertig. Gutes Gefühl.

Labels: , ,

Shutdown

Eingetragen von Matthias Lange am 18 September 2007 um 16:58

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: , , ,

Wie Weihnachten

Eingetragen von Matthias Lange am 15 September 2007 um 00:32

Da freut man sich doch, wenn man so spät nach Hause kommt und im Wohnzimmer stehen ein neuer iMac und ein neuer iPod Nano zum Testen für Macnotes bereit. Apple hat sich nicht lumpen lassen und gleich den 24" iMac geschickt. Ich freue mich schon drauf, dass Gerät jetzt zwei Wochen lang intensiv zu testen. Der erste Eindruck jedenfalls ist sehr, sehr positiv. Auch die neue Tastatur gefällt mir. Wahrscheinlich werde ich mir die getrennt für meinen alten G3 kaufen, denn die Tastatur von diesem Rechner hat schon ziemliche Altersschwächen.

Nachdem meine erste Meinung über den neuen iPod Nano ("Breitmaul-iPod") nicht so hoch war, hat sie sich nach einem Tag Benutzung schon gewandelt. Er ist eine konsequente Weiterentwicklung des Vorgängers und insbesondere einige Details machen den Reiz des neuen Nanos aus.

Naja, ich will hier jetzt noch nicht zu viel verraten. Die Testberichte gibt es dann demnächst auf Macnotes zu lesen.

Der Bug, der keiner war

Eingetragen von Matthias Lange am 10 September 2007 um 11:34

Da schlägt man sich fünf Nächte um die Ohren, nur um am Ende festzustellen, dass für die "Performanceprobleme" der Compiler verantwortlich ist. Mein Beispielprogramm lief auf dem alten Kern knapp 15 Prozent schneller, als auf meinem Kern. Der Grund war, wie ich heute Nacht um 3 Uhr herausfand, der Compiler. Das Beispiel für den alten Kern wurde mit einer neueren Compiler-Version, als das Beispiel für meinen Kern, übersetzt. Die neuere Version optimiert anscheinend recht aggressiv und das mit Erfolg. Schließlich lief es damit 15 Prozent schneller.

Einerseits Grund zu Bewunderung von Compilern, die einen beträchtlichen Einfluss auf die Geschwindigkeit von Software haben. Andererseits auch Grund für viel Frustration in den letzten Tagen.

replace("Florian", "Matthias");

Eingetragen von Matthias Lange am 06 September 2007 um 10:44

Finale, nur mit weniger Kaffee, arbeiten bis 4 Uhr früh und (noch?) mit mehr Gelassenheit.

Labels: , ,

Blogstau

Eingetragen von Matthias Lange am 05 September 2007 um 16:39

Mein Leben war in den letzten Tagen nur auf die wichtigsten Dinge beschränkt: essen, schlafen und arbeiten. Dabei sind viele Dinge passiert. Deshalb heute mal ein kurzer Schnelldurchlauf.


Letzte Woche Mittwoch bin ich in München bei der Firma Beissbarth zum Projektgespräch gewesen. 11 Stunden mit dem ICE für gute 2 Stunden Gespräch unterwegs gewesen. Die Firma benötigt einen Entwickler für eingebette Systeme und Mikrocontrollerprogrammierung. Gestern bekam ich die Nachricht, dass die Firma das Projekt gerne beginnen möchte. Also werde ich am 1. Oktober in München starten.

Am selben Tag ist zu Hause unser DVD-Spieler explodiert. Seit einiger Zeit hatte ich schon beobachtet, dass es bei uns Stromschwankungen gab. Zum Beispiel wurde das Licht dunkler, wenn man den Herd angestellt hat. Beim Anschalten des Fernsehers flogen an diesem Tag einige Sicherungen heraus und der DVD-Spieler explodierte mit beachtlichen Nebelschwaden. Der herbeigerufene Elektriker fand schließlich heraus, dass der Wohnungsanschluss im Verteilerkasten auf dem Hausflur nicht richtig befestigt worden war. Dadurch wurde der Strom quasi per Lichtbogen übertragen. Schließlich war ihm das zuviel und er schickte eine ordentliche Spannungsspitze in die Wohnung. Einem Kondesator im DVD-Spieler bekam das nicht gut und explodierte schließlich. Inzwischen musste ich feststellen, dass dieser Vorfall ebenfalls das Telefon, eine Zeitschaltuhr und meine iPod-Lautsprecher mit ins Nirvana genommen hat. Elektriker scheinen eine gewisse Aversion gegen unsere Wohnung zu hegen. Aber auch diesmal werden sie für diesen Schaden gerade stehen müssen.

Am Montag trat mal wieder ein Fehler in meiner Implementierung zu Tage, so dass ich die Nacht bis 4:00 Uhr früh in der Fakultät verbracht habe. Gefunden hatte ich den Fehler allerdings noch nicht. Wer jetzt denkt, dass ich danach erstmal etwas länger geschlafen habe, der irrt, denn genau am Dienstag Morgen um 7:30 Uhr legten die Handwerker mal wieder die Bohrmaschinen an. Gestern habe ich den Fehler schließlich gefunden - der Stackpointer für den Sysenter-Pfad war auf dem zweiten Prozessor falsch initialisiert. Dadurch hat es beim Kerneintritt unter gewissen Umständen den Stack zerlegt. War übrigens ein typischer C-Fehler.

Gestern rief mich eine Personalerin von Adobe an, ob ich nicht Interesse hätte in Hamburg für Adobe an der Entwicklung von deren Consumer-Produkten mitzuarbeiten. Interesse schon, weil ich da auch im Mac-Umfeld arbeiten könnte, aber vorerst bin ich ja, siehe oben, vergeben.

Labels: , , ,