Algorithmische Geometrie und Computergraphik
In unserer Arbeitsgruppe beschäftigen wir uns mit der Entwicklung von
beweisbar guten Algorithmen in der Computer Grafik, sowie mit verwandten
Problemen der algorithmischen Geometrie. Einige der von uns entwickelten
Algorithmen wurden bereits im
Paderborner
Walkthrough System "PaRSiWal" implementiert
und auf ihre Praxistauglichkeit getestet.
PaRSiWal
ist ein echtzeitfähiges,
dynamisches Walkthroughsystem, bei dem es Besucher und Modellierer
gibt, die eine virtuelle Szene durchwandern und im Fall der Modellierer
diese auch verändern können. Wir sind insbesondere an der Verwaltung
sehr großer Szenen interessiert, die auch verteilt (z.B. im Internet)
liegen dürfen. Die Probleme, die wir betrachten, umfassen unter anderem:
Arbeitsschritte:
Idle-Profiling und -Statistik eines Linux-Pools
Projekte wie seti@home zerlegen ein sehr großes Problem in
unabhängige kleine Teile und lassen diese von gängigen PCs
während deren Idle-Zeiten abarbeiten.
Die PUB-Library unterstützt
darüber hinaus Prozesskommunikation
und -Migration in Linux-Pools. Wenn also ein Rechner plötzlich
keine freie CPU-Zeit mehr aufweist, weil z.B. ein Student sich
eingeloggt hat und zu arbeiten beginnt, kann der Scheduler den
bislang dort laufenden Job auf eine andere Maschine umziehen.
Weil solch ein Umzug aber ebenfalls aufwändig ist, lohnt sich
dies nur, wenn der alte Computer auf absehbare Zeit blockiert
und der neue lange frei bleibt. Ob dies der Fall sein wird, kann
im Voraus natürlich niemand wissen; aber basierend auf einer
genauen Statistik kann der Scheduler seine Entscheidung
zumindest auf eine gute Prognose basieren.
Eine solche Statikstik
über die CPU- und Speicherauslastung (wie mißt
man diese aussagefähig?) in einem
typischen Linux-Pool soll hier erstellt werden,
aufgeschlüsselt nach Wochentag und
Uhrzeit. Ausserdem sind Korrelationen/Abhängigkeiten
von Bedeutung, also z.B. die Frage: Wenn die Auslastung steigt,
wie lange bleibt sie dann typischerweise hoch?
Woran kann man kurze Lastspitzen (cron-Job, Einloggen
bloss zum Email-Lesen) von echten Rechnungen unterscheiden?
Ziel soll ein Tool sein, das dem Scheduler für
jeden Job konkret eine Migration entweder empfiehlt oder
davon abrät.
Basisdienste für Rechnernetzwerke: Datenmanagement
In diesem Bereich beschäftigen wir uns mit der Entwicklung von Datenmanagementstrategien in Rechnernetzwerken. Diese Strategien ermöglichen die effiziente, interaktive Nutzung von Datenobjekten, auf die von allen Rechnern im Netzwerk lesend und schreibend zugegriffen werden kann. Beispiele für diese Datenobjekte sind globale Variablen in einem parallelen Programm, Dateien in einem verteilten Dateisystem oder Seiten im World Wide Web.
Traditionelles Datenmanagement setzt üblicherweise auf eines der beiden Konzepte Hashing oder Caching. Caching steht dabei für die Ausnutzung von temporaler und topologischer Lokalität. Durch das Anlegen von Datenkopien auf dem anfragenden Rechner oder auf einem Netzwerk-Knoten in der Nähe dieses Rechners, können nachfolgende Zugriffe auf dieselben Daten lokal beantwortet werden. Während Caching darauf abzielt, die Kommunikationslast durch Ausnutzung von Lokalität zu verringern, versucht Hashing die Kommunikationslast gleichmä˜ig über die Netzwerk-Ressourcen zu verteilen, um Engpässe und somit Datenstaus zu verhindern. Dies geschieht durch eine randomisierte Verteilung der Daten im Netzwerk, die jedoch üblicherweise die Lokalitäten zerstört und somit das Caching aushebelt.
Wir haben eine Datenmanagementstrategie entwickelt und analysiert, die sogenannte "Access-Tree Strategie", die diese scheinbar gegensätzlichen Konzepte miteinander verknüpft. Dazu reduzieren wir das komplexe Kommunikationsnetzwerk auf eine einfachere Struktur, den sogenannten "Access-Tree". Diese logische Struktur repräsentiert das Kommunikationspotential des gesamten Netzwerkes, abstrahiert jedoch von einzelnen Verbindungen. Insbesondere sind die Kommunikationswege in dieser Struktur eindeutig bestimmt, so daß die folgenden Problemstellungen effizient durch einen verteilten Caching-Algorithmus gelöst werden können:
Varianten der Access-Tree Strategie sind in der DIVA (Distributed Variables) Bibliothek implementiert worden. Diese Bibliothek stellt Funktionen für den effizienten Zugriff auf globale Variablen in einem parallelen Programm bereit.
Adaption der Access-Tree Strategie für Workstationcluster unter Linux. Prototypische Implementierung und experimentelle Evaluation der entwickelten Strategien.
Entwicklung und Analyse von Datenmanagementstrategien für SCI-Workstationcluster, unter besonderer Berücksichtigung der Hardwarecharakteristika von SCI, wie z.B. der Shared-Memory Unterstützung. Prototypische Implementierung und experimentelle Evaluation der entwickelten Strategien.
Energiesparende Protokolle für Sensornetzwerke
Sensornetzwerke bestehen aus einer großen Anzahl von Knoten, die mit
(Umwelt-) Sensoren bestückt sind. Diese messen Daten und melden Sie
einer zentralen Basisstation weiter. Diese Sensorknoten beziehen ihre
Stromversorgung aus Batterien und müssen damit sehr gut haushalten.
Hierzu müssen sie einen Großteil der Zeit im Schlafmodus verbringen,
indem sie weder rechnen noch Daten versenden oder empfangen können.
Daneben müssen sie ihre Sendestärke auf ein Mindestmaß reduzieren. Damit
ist eine direkte Verbindung mit der Basisstation in der Regel nicht
möglich und jede Nachricht muss über verschiedene anderen Sensorknoten
als Zwischenstationen verschickt werden, welche jedoch die meiste Zeit
schlafen...
In Zusammarbeit mit der Arbeitsgruppe Sensorik von Prof. Hilleringmann (Elektrotechnik) wird in dieser Diplomarbeit ein einfaches, verteiltes, probabilistisches Kommunikationsprotokoll in der Simulationsumgebung SAHNE auf seine Einsetzbarkeit überprüft und optimiert. Die Ergebnisse dieser Untersuchungen werden dabei im Rahmen einer kooperierenden Diplomarbeit in der Elektrotechnik direkt in die Entwicklung eines reellen Sensornetzwerks eingesetzt.
Mehr Details erhältlich bei Christian Schindelhauer.