26.11.2012 Aufrufe

Computermethoden zur Lösung einiger konkreter kombinatorischer ...

Computermethoden zur Lösung einiger konkreter kombinatorischer ...

Computermethoden zur Lösung einiger konkreter kombinatorischer ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Erstellung von Statistiken für Polytope<br />

3.3 Implementierung & Polymake 61<br />

Das Ziel ist die Erstellung einer möglichst großen Menge von kombinatorisch verschiedenen<br />

Polytopen, wobei Statistiken über den Unterschied der Verteilungen der<br />

kombinatorisch verschiedenen Polytope und geometrisch gleichverteilten Polytope gesammelt<br />

werden sollten. Hierzu werden zwei Experimente durchgeführt, wobei das<br />

erste Experiment signifikant verbessert werden kann.<br />

Die natürliche Vorgehensweise beim Suchen nach kombinatorisch verschiedenen Polytopen<br />

wäre das Testen eines neu erzeugten Polytops auf kombinatorische Äquivalenz<br />

mit einer Menge aus schon gefundenen kombinatorisch verschiedenen Polytopen. Allerdings<br />

ergibt sich ein Problem, falls viele Rechenknoten gleichzeitig ein neues Polytop<br />

der nummerierten Liste hinzufügen wollen. Geprüft müsste auch die Möglichkeit,<br />

dass zwei verschiedene Rechenknoten ein kombinatorisch äquivalentes Polytop gefunden<br />

haben. Da der Aufbau der Programme möglichst einfach gehalten werden soll,<br />

wird auf Bibliotheken <strong>zur</strong> netzwerkweiten Synchronisation verzichtet. Der Preis dafür<br />

sind 10 Sekunden für ein Einfügen eines Polytops in eine bestehende Liste. Realisiert<br />

wird ein mutex-Algorithmus auf der Basis von NFS (Network File System). Dabei<br />

stellte sich heraus, dass nach einer Vorbereitenden Aufbauphase der Liste kombinatorisch<br />

verschiedener Polytope durch einen einzigen Rechner, somit ohne Synchronisationsprobleme,<br />

bei der anschließenden parallelen Suche, keine Situation mit unnötigen<br />

Wartepausen auftritt. Auch in einer ungünstigen Situation, also bei einer leeren oder<br />

kleinen Liste bekannter kombinatorisch verschiedener Polytope, findet das parallele<br />

Einfügen fast immer jede 10 Sekunden statt, also die minimale Zeit, die sicher <strong>zur</strong><br />

Synchronisation aller netzwerkweiter Rechenknoten per NFS ausreicht.<br />

Zur Synchronisation verwendet der NFS mutex-Algorithmus die globale Datei lock,<br />

deren Größe die Anzahl schreibender Rechenknoten anzeigt, die zwar den kritischen<br />

Bereich schon betreten haben, aufgrund der Verteiltheit und der Laufzeiten des Systems<br />

aber den blockierten Status (lock > 0) erst zu spät erfahren haben. Falls dies<br />

der Fall ist (lock > 1), wird eine zufällige Anzahl von Sekunden gewartet und der<br />

Versucht wiederholt. Wie bereits dargestellt, kommt diese Situation selten vor. Wichtig<br />

dabei ist, falls ein neues Polytop in die Liste eingefügt wird, müssten die restlichen<br />

wartenden Rechenknoten ihre Polytope auf Äquivalenz zu diesem neuen Polytop testen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!