Schnelles Scheduling mit Hilfe eines hybriden

gestellten Heuristiken [15]. 2.4 Benutzersicht. Aus Benutzersicht sind folgende Angaben ... biologischen Rekombination eines neuen Chromosoms aus zwei Eltern-Chromosomen entspricht und die Mutationen, die zufällige Änderungen im Chromosom bewirken. Das hauptsächliche Einsatzgebiet der EA sind Aufgabenstel-.
335KB Größe 3 Downloads 534 Ansichten
METHODEN

Schnelles Scheduling mit Hilfe eines hybriden Evolutionären Algorithmus Fast Scheduling by Means of a Hybrid Evolutionary Algorithm Wilfried Jakob, Björn Hahnenkamp, Alexander Quinte, Karl-Uwe Stucky und Wolfgang Süß

Scheduling und Ressourcenplanung sind Aufgaben, die in vielen Einsatzbereichen wie z. B. der Maschinenbelegung oder Projektplanung vorkommen. In diesem Beitrag wird eine verwandte Aufgabenstellung vorgestellt, nämlich die Ressourcen- und Jobplanung im Bereich des Grid-Computing. Auf Grund der Dynamik in einem solchen heterogenen Rechnernetz ist eine schnelle Reaktion und häufige Umplanung innerhalb weniger Minuten erforderlich. Daher kommt es vor allem auf gute Resultate innerhalb eines vorgegebenen Zeitrahmens an und weniger darauf, das Optimum zu finden. Zur Lösung dieses Problems werden Heuristiken und der Evolutionäre Algorithmus GLEAM eingesetzt. Der Beitrag vergleicht mit Hilfe geeigneter Benchmarks zwei unterschiedliche Genmodelle, zwei Verfahren zur Reparatur illegaler Schedules und den Effekt eines Hilfskriteriums zur schnelleren Verbesserung von Schedules. Außerdem wird die Wirkung zweier bekannter Crossover-Operatoren für kombinatorische Optimierung untersucht. Dabei zeigt es sich, dass der Evolutionäre Algorithmus trotz der zeitlichen Einschränkung eine deutliche Verbesserung der heuristisch erzeugten Schedules erreicht. Scheduling and resource planning are tasks of many areas of application, such as job shop scheduling or project planning. This paper introduces a related problem, namely, the task of job scheduling and resource allocation in the context of grid computing. Due to the dynamics of a heterogeneous grid, a frequent and fast replanning is necessary. Therefore, good results obtained within a given time frame are much more important than finding the exact optimum. To solve this task, the Evolutionary Algorithm GLEAM is applied apart from some heuristics. Using appropriate benchmarks, this paper compares two different gene models, two repair procedures for illegal schedules, and the effect of an additional auxiliary criterion. Furthermore, the impact of two crossover operators for combinatorial optimisation known from literature is investigated. It appears that a noticeable improvement of the heuristically generated schedules can be achieved by the Evolutionary Algorithm despite of the limited time. Schlagwörter: Scheduling, Optimierung, Hybride Evolutionäre Algorithmen, Grid-Computing Keywords: Scheduling, optimisation, hybrid Evolutionary Algorithms, grid computing

1 Einleitung Unter dem Begriff ,,Grid-Computing“ werden Techniken zur Vermittlung zwischen Anwendern mit Bedarf an Rechnerressourcen und Betreibern solcher Ressourcen mit freien Kapazitäten zusammengefasst. Eine prägnante Beschreibung liefert [1]. Demnach vermittelt das Grid dem Anwender über offene Schnittstellen einen Zugriff auf Ressourcen, welche den Anforderungen seiner Anwendung genügen und in der Regel heterogen und örtlich verteilt sind. Ein wesent-

106

licher Bestandteil der sog. Grid-Middleware ist dabei das Ressourcenmanagement, dem die Aufgabe der Ressourcenzuordnung zu Gridjobs sowie die Durchführung und Überwachung der Abarbeitung der Gridjobs obliegt, siehe [2] oder [3]. Gridanwendungen zeichnen sich derzeit häufig durch die rechenzeitintensive parallele Bearbeitung großer Datenmengen aus. Benutzer beschreiben ihren Anwendungsjob als Workflow einzelner Gridjobs, die Ressourcen, wie zum Bei-

at – Automatisierungstechnik 57 (2009) 3 / DOI 10.1524/auto.2009.0759 © Oldenbourg Wissenschaftsverlag

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

at 3/2009

spiel CPUs, SW-Lizenzen oder Speicherplatz benötigen. Der Ressourcebroker GORBA (Global Optimising Resource Broker and Allocator) [4; 5] führt eine Zuordnung von Gridjobs zu Ressourcen sowie deren zeitliche Planung durch. Dabei werden die Leistungsfähigkeit von Ressourcen, ihre Kosten sowie Vorgaben von Anwendern berücksichtigt. Bei GORBA handelt es sich um eine global optimierende Planungssoftware und nicht um ein Queueing-System [6], d. h. beim Eintreffen neuer Anwendungsjobs wird eine Neuplanung aller noch nicht begonnenen Gridjobs vorgenommen. Hinsichtlich der Unterschiede zwischen Planung und Queueing und den Vorteilen einer globalen Planung siehe [6]. Während die Aufgabenstellung des Ressourcenmanagements im Grid recht neu ist und eine Reihe von Besonderheiten mit sich bringt, auf die in Abschnitt 2 näher eingegangen wird, ist die Erforschung von Schedulingproblemen hingegen eine klassische Disziplin des Operations Research. Einen guten Überblick mit entsprechenden Lösungsansätzen liefert zum Beispiel [7]. In Abschnitt 3 werden die derzeit in GORBA enthaltenen Lösungsverfahren vorgestellt. Sie basieren auf einfachen Heuristiken und dem Evolutionären Algorithmus (EA) GLEAM (General Learning Evolutionary Algorithm and Method) [8; 9], wobei bei letzterem zwei unterschiedliche Problemrepräsentationen, Koevolution und zwei alternative Reparaturmechanismen zum Einsatz kommen. Abschnitt 4 ist der Frage gewidmet, welcher dieser zum Teil alternativen Ansätze in welcher Kombination die besten Ergebnisse in der vorgegebenen Zeit liefert. Dort werden auch die dazu verwendeten Benchmarkszenarien für die zu planende Last vorgestellt. Abschnitt 5 zieht ein Resumee und gibt einen Ausblick auf weitere Arbeiten.

at 3/2009

• Eine Vorgängerfunktion p : O × O → {TRUE, FALSE}, die eine Vorgänger-Nachfolger-Beziehung zwischen zwei Operationen eines Jobs angibt. • Eine Zuordnungsfunktion μ : O → P(P(M )) von Operationen zu Ressourcenmengen, wobei P(M ) die Potenzmenge von M bezeichnet. Mit μij wird die Menge aller möglichen Kombinationen von Ressourcen aus M bezeichnet, welche gemeinsam zur Bearbeitung von Oij fähig sind. • Eine Zeitbedarfsfunktion t : O × P(M ) → R, die für jede Operation Oij den Zeitbedarf für die Bearbeitung durch eine Ressourcenmenge aus μij angibt. • Eine Kostenfunktion c : R × P(M ) → R, die zu jedem Zeitpunkt z ∈ R die Kosten pro Zeiteinheit einer Menge von Ressourcen angibt. • Die Menge der Deadlines. Für jeden Job Ji ist ein Zeitpunkt di ∈ R gegeben, zu dem alle Operationen des Jobs beendet sein sollen. • Die Menge der Kostenlimits. Für jeden Job Ji ist ein Betrag ci ∈ R gegeben, den die Kosten für dessen Bearbeitung nicht überschreiten dürfen.

2.1 Nebenbedingungen Optimiert wird über die geeignete Wahl von Startzeitpunkten s(Oij ) ∈ R und Ressourcenallokationen Rij ∈ μij . Eine gültige Lösung besteht, wenn gilt: 1. Alle Operationen werden geplant und die Ressourcen werden reserviert: ∀ Oij : ∃ s(Oij ) ∈ R, Rij ∈ μij : ∀M j ∈ Rij :   M j ist in s(Oij ); s(Oij ) + t(Oij , Rij ) von Oij exklusiv belegt. 2. Vorgängerbeziehungen werden eingehalten:

2 Definition des Optimierungsproblems

∀ i, j = k : p(Oij , Oik ) ⇒

Zunächst soll ein allgemeines Schedulingproblem formuliert werden, auf dem die hier behandelte Aufgabenstellung aufbaut. Die Formulierung erfolgt in einer mit der Scheduling-Literatur konsistenten Notation (siehe auch [7]), um Vergleiche zu anderen Schedulingproblemen zu ermöglichen (siehe [7; 10] und die dort angegebene Klassifikation von Schedulingproblemen).

s(Oik ) ≥ s(Oij ) + t(Oij , Rij )

Gegeben seien: • Eine Menge M von Ressourcen. In der Scheduling-Literatur werden hierunter m Maschinen M j ∈ {M1 , . . ., Mm } verstanden, im vorliegenden Kontext beispielsweise Rechner, Software oder Speicherplatz. • Eine Menge J von Jobs, im GORBA-Kontext zur Verdeutlichung mit ,,Anwendungsjobs“ bezeichnet. In der Scheduling-Literatur werden diese n Jobs mit Ji ∈ {J1 , . . ., Jn } oder auch nur mit i angegeben. • Eine Menge O von Operationen, im GORBA-Kontext ,,Gridjobs“ genannt. Die n i elementaren Operationen Oij des Jobs Ji werden mit Oi1 , . . ., Oini bezeichnet.

3. Fristen werden eingehalten: ∀ i : di ≥ s(Oini ) + t(Oini , Rini ) 4. Kostenlimits werden eingehalten: ∀ i : ci ≥

ni  j=1

s(Oij ) + t(Oij ,Rij ) 

c(z, Rij ) dz s(Oij )

2.2 Optimierungsziel und Fitnessfunktion Das Ziel von GORBA besteht in der Erzeugung von Schedules, die allen Anwendern eine möglichst rasche und kostengünstige Bearbeitung ihrer Anwendungsjobs erlauben und gleichzeitig den Betreibern von Ressourcen eine hohe Auslastung und damit hohe Einnahmen ermöglichen. Klassische Schedulingalgorithmen konzentrieren sich dagegen zumeist nur auf ein einziges Optimierungskriterium,

107

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

W. Jakob u. a.: Schnelles Scheduling mit Hilfe eines hybriden Evolutionären Algorithmus

METHODEN

wie z. B. den Makespan, die total flow time oder die Gesamtkosten, siehe z. B. [7]. Sie sind daher nur in der ersten Planungsphase von GORBA einsetzbar, welche schnell erste Lösungen erzeugt, die dann von dem EA GLEAM weiter verbessert werden sollen. Um die Bewertungsskala möglichst gut auszunutzen, werden in der ersten Planungsphase ausgehend von den Ergebnissen der heuristischen Planung Unter- und Obergrenzen für die Kriterien entsprechend der aktuellen Aufgabe abgeschätzt und die Werte relativ zu diesen Grenzen gemäß folgender Formel berechnet: Kriti,ist − Kriti,min Kriti,max − Kriti,min Diese Vorgehensweise hat den Vorteil, dass die Bewertungsfunktion sich automatisch den Gegebenheiten einer konkreten Planungsaufgabe anpasst und keine manuelle Justierung erforderlich ist. Folgende vier Hauptkriterien bilden die Grundlage der Bewertung: 1. Relative Kosten: Bewertung der Einsparungen gegenüber dem Kostenbudget pro Anwendungsjob. 2. Relative Fertigstellungszeiten: Bewertung der Einsparungen gegenüber den Zeitvorgaben der einzelnen Anwendungsjobs. 3. Relative Gesamtfertigstellungszeit: Bewertung der Bearbeitungsdauer aller Anwendungsjobs in Relation zu Abschätzungen der Ober- und Untergrenzen. 4. Auslastung: Da gegen Ende eines Schedules die Ressourcennutzung naturgemäß sinkt, wird die Auslastung nur für die ersten 75% der Bearbeitungszeit des Schedules ermittelt. In den Experimenten wurde als weiteres Kriterium die Verzögerungen der Abarbeitung aller ,,inneren Gridjobs“ (Gridjobs mit Nachfolger) als relative Jobzeiten erfasst. Das Hilfskriterium soll die zeitliche Vorverlegung innerer Gridjobs belohnen und so die Verkürzung der Gesamtbearbeitungszeit eines Anwendungsjobs unterstützen. Die Erfassung von Überschreitungen der Kosten- oder Zeitlimits (Nebendingungen 3 und 4 aus Abschnitt 2.1) erfolgt durch Straffunktionen, die einen Wert zwischen 0 und 1 liefern, mit dem die aus den Kriterien gebildete Rohfitness multipliziert wird, um so den endgültigen Fitnesswert zu erhalten. Die beiden anderen Nebenbedingungen sind unbedingt einzuhalten. Für diese Mehrzieloptimierung wird zur Berechnung des Fitnesswertes eines Individuums die in GLEAM bereits implementierte gewichtete Summe eingesetzt, wofür die einzelnen Kriterien auf einen einheitlichen Wertebereich und Maximumbildung normiert werden. Die Wichtungsfaktoren wurden basierend auf Erfahrung und einigen Experimenten so eingestellt, dass die beiden Anwendungsjob-bezogenen Kriterien mit je 35%, die Gesamtfertigstellungszeit mit 20% und die Auslastung mit 10% gewichtet wurde. Bei Hinzunahme des Kriteriums relative Jobzeiten erhält es einen Anteil von 20% auf Kosten der zeitbezogenen Kriterien. Bei der gewichteten Summe besteht im Allgemeinen

108

die Gefahr, dass bei inhaltlich gegenläufigen Kriterien wie z. B. Zeiten und Kosten, das eine auf Kosten des anderen verbessert wird. Dies wird im vorliegenden Fall jedoch durch die Anwendungsjob-bezogenen Straffunktionen, die bei Budgetüberschreitungen zu einer starken Abwertung führen, begrenzt. Die beiden zeitbezogenen Kriterien wirken jeweils in die gleiche Richtung und auch die Auslastung steigt tendenziell bei kürzerer Gesamtfertigstellungszeit. Die vorgestellte Bewertung berücksichtigt die wichtigsten praxisrelevanten Kriterien und kann auch leicht um weitere erweitert werden. Allerdings impliziert diese umfassende Sichtweise auch, dass kleine Änderungen, wie sie z. B. durch heuristische lokale Suchverfahren vorgenommen werden, nicht mehr lokal bewertet werden können, sondern der gesamte Schedule neu aufgestellt werden muss. Das unterscheidet diese von anderen kombinatorischen Aufgaben, wie z. B. dem in der Literatur häufig zitierten TravellingSalesman-Problem, bei dem nach Vertauschung zweier Städte sofort und ohne den gesamten Weg zu betrachten, berechnet werden kann, ob die Lösung dadurch besser wird oder nicht. Ähnliches geht bei der Vertauschung der Reihenfolge zweier Gridjobs bedauerlicherweise nicht. Das ist auch einer der Gründe dafür, dass die bisher untersuchten Ansätze zur Erweiterung des EA zum Memetischen Algorithmus unter Verwendung von Ameisenalgorithmen oder lokalen Suchverfahren nicht zum gewünschten Erfolg geführt haben, siehe auch [11].

2.3 Einordnung und Komplexität Ein vergleichbares Problem ist den Autoren nicht bekannt, siehe auch die Klassifikation von Bruckner [7; 10] und die in [11] enthaltene Einordnung und formale Definition der vorliegenden Schedulingaufgabe. Dies entspricht auch den Ergebnissen der in [12] enthaltenen Literaturübersicht, die zeigt, dass sich nur sehr wenige Publikationen mit Scheduling bei Mehrzieloptimierung beschäftigen und wenn, dann meist nur mit Ein-Maschinen-Problemen. Die hier behandelte Aufgabe ist als Verallgemeinerung des Job Shop Scheduling Problems bis auf wenige Sonderfälle ebenfalls NP-vollständig und weist gewisse Ähnlichkeiten mit dem Resource-Constrained Project Scheduling Problem [13] auf, einer der ambitioniertesten Aufgaben, die derzeit in der OR-Forschung behandelt werden. In diesem Zusammenhang ist es auch von Interesse, dass Versuche mit einem an die gegebene Aufgabenstellung angepassten Standardverfahren des OR, dem Giffler-Thompson-Algorithmus [14], keinen Erfolg hatten. Die Resultate waren in der Regel deutlich schlechter als die der besten der nachfolgend vorgestellten Heuristiken [15].

2.4 Benutzersicht Aus Benutzersicht sind folgende Angaben zur Formulierung eines Anwendungsjobs notwendig: • Erstellung eines Workflows, der die Abhängigkeiten und Reihenfolge der einzelnen Gridjobs beschreibt.

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

at 3/2009

• Angabe von Ressourcen oder Ressourcenklassen pro Gridjob. Aus den vom System bereitgestellten Ressourcenbeschreibungen kann hervorgehen, dass eine Ressource weitere Ressourcen benötigt. • Vorgabe von Bearbeitungszeiten der einzelnen Gridjobs, die auf Erfahrung oder Schätzung beruhen können. Dazu wird von einer normierten CPU-Leistung ausgegangen und die Ressourcenbeschreibungen enthalten für CPU-Ressourcen die notwendigen Umrechnungsfaktoren. • Vorgabe eines Kosten- und eines Zeitrahmens. • Optionale Vorgabe einer Priorität für schnelle oder kostengünstige Bearbeitung. • Optionale Vorgabe einer Startzeit, ab der der Anwendungsjob starten kann.

3 Hybrides GLEAM, alternative Genmodelle und Reparaturmechanismen Evolutionäre Algorithmen nutzen eine algorithmische Nachbildung der Wirkmechanismen der belebten Natur wie Vererbung und Selektion zur Erzeugung optimaler oder nahezu optimaler Lösungen komplexer Optimierungsprobleme. Dabei werden Lösungsvorschläge (Individuen) iterativ (generationsweise) verbessert. Man unterscheidet zwischen dem Genotyp eines Individuums (seinen genetischen Informationen) und dem daraus resultierenden Phänotyp (seinen Eigenschaften). Unterschiedliche Genotypen bringen im Allgemeinen auch verschiedene Phänotypen hervor, müssen es aber nicht. Zu den wichtigsten Mechanismen der Vererbung gehören das Crossover, das der biologischen Rekombination eines neuen Chromosoms aus zwei Eltern-Chromosomen entspricht und die Mutationen, die zufällige Änderungen im Chromosom bewirken. Das hauptsächliche Einsatzgebiet der EA sind Aufgabenstellungen, die z. B. auf Grund ihrer Komplexität nicht durch konventionelle Verfahren gelöst werden können. Als Einsatzvoraussetzung genügt in der Regel das Vorhandensein einer Bewertung z. B. durch Simulation zur Bestimmung der phänotypischen Eigenschaften und daraus abgeleitet der Fitness eines Individuums. Diesen Vorteilen steht der Nachteil der relativ langsamen Konvergenz in der Nähe eines Optimums und einer Vielzahl von Bewertungsrechnungen gegenüber. Daher wird der EA häufig durch meist problemspezifische lokale Suchverfahren oder Heuristiken mit dem Ziel beschleunigter Konvergenz unterstützt (hybride Verfahren). Der EA GLEAM wurde ausgewählt, da er bereits erfolgreich für ein komplexes kombinatorisches Problem eingesetzt wurde, nämlich die Planung von Roboterbewegungsabläufen [16]. Dabei spielt sowohl die Reihenfolge der Achsbewegungsbefehle als auch ihre Parametrierung eine Rolle, sodass neben dem rein kombinatorischen auch ein Parameteroptimierungsproblem zu lösen ist. Ähnlich ist es bei der vorliegenden Aufgabenstellung, bei der man je-

at 3/2009

dem Gridjob ein Gen zuordnen kann und die Parameter des Gens eine Auswahl aus den möglichen Ressourcen treffen. Im Gegensatz zu vielen anderen EAs basiert die Problemrepräsentation von GLEAM [8; 9] nicht auf Bitstrings oder Vektoren reeller Werte, sondern auf Genen, die eine Identifikationsnummer und soviel ganzzahlige oder reellwertige Parameter haben, wie es die Anwendung erfordert. Da zur Gendefinition auch die Wertebereichsgrenzen der Parameter gehören, werden die damit festgelegten expliziten Restriktionen von den Werte-Mutationen stets eingehalten. Aus Sicht der die Genposition verändernden Mutation werden die Gene als Ganzes behandelt. Diese Art der Repräsentation erleichtert eine problemnahe Abbildung der zu optimierenden Objektparameter auf Gene und Chromosome. Auf Grund dieser Unterschiede wird die Problemrepräsentation im GLEAM-Kontext auch als Genmodell bezeichnet. Im vorliegenden Fall entspricht die Identifikationsnummer der Gridjobnummer und bei einem der beiden Genmodelle identifizieren die Gen-Parameter die Ressourcen. Es sei an dieser Stelle darauf hingewiesen, dass die Wahl einer geeigneten Repräsentation und der dazu passenden genetischen Operatoren signifikante Auswirkungen auf die Lösungsqualität haben kann, weshalb auch nachfolgend zwei Genmodelle verglichen werden. Bei der evolutionären Veränderung eines solchen im Chromosom abgebildeten Schedules kommen die durch die Roboterbahnplanung motivierten Besonderheiten von GLEAM zum Tragen [8; 16]: Durch die Zusammenfassung von Genstrings zu Segmenten mit mutierbaren Grenzen ergeben sich Makromutationen wie • Inversion: Umkehrung der Genreihenfolge in einem Segment. • Segmentverschiebung: Verschiebung eines ganzen Segments im Chromosom. • Segmentverschmelzung: Bei nicht benachbarten Segmenten schließt diese Mutation eine Segmentverschiebung mit ein. Hinzu kommt, dass die Segmente die Grenzen für das Crossover festlegen. Damit stellt bereits das StandardGLEAM [8; 9] deutlich mehr Mutationen zur Verfügung als nur eine Verschiebung einzelner Gene und damit von Gridjobs.

3.1 Heuristiken In der ersten Planungsphase erzeugt GORBA Schedules mit Hilfe folgender Heuristiken: • Gridjobs des Anwendungsjobs mit dem frühesten Fertigstellungstermin zuerst. • Gridjobs des Anwendungsjobs mit der kürzesten Bearbeitungszeit zuerst. Die Zuordnung der Ressourcen erfolgt nach folgenden drei heuristischen Ressourcenauswahlstrategien (RAS), wobei die ersten beiden für alle Anwendungsjobs gleichermaßen gelten:

109

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

W. Jakob u. a.: Schnelles Scheduling mit Hilfe eines hybriden Evolutionären Algorithmus

METHODEN

1. Auswahl der billigsten Ressource, die zum frühest möglichen Zeitpunkt frei ist. 2. Auswahl der schnellsten Ressource, die zum frühest möglichen Zeitpunkt frei ist. 3. Eine im Anwendungsjob hinterlegte Präferenz entscheidet, nach welcher der beiden obigen Regeln bei diesem Anwendungsjob vorzugehen ist. Damit entstehen insgesamt sechs Schedules, mit denen die Startpopulation von GLEAM initialisiert wird, und die auch ein Maß für den Erfolg der nachfolgenden Planung darstellen.

3.2 Zwei alternative Genmodelle Bei Genmodell GM1 wird wie bereits angedeutet, jedem Gridjob ein Gen zugeordnet, das so viele Parameter enthält, wie der Gridjob insgesamt an Ressourcen (primäre und abhängige) benötigt. Parametermutationen bedeuten bei diesem Genmodell die Auswahl einer anderen Ressource. Die Interpretation eines Chromosoms zur Aufstellung der Belegungsmatrix erfolgt für alle Gene wie in Bild 1 dargestellt.

Bild 2: Interpretation eines Gens zur Erstellung der Belegungsmatrix für Genmodell 2 (GM2).

Beide Genmodelle unterscheiden sich auch im Umfang der Hybridisierung des EA: GM1 verwendet Heuristiken nur zur Initialisierung der Startpopulation, während GM2 auch die Ressourcenallokation heuristisch durchführt. Die evolutionär bestimmte RAS bringt ein Element der Koevolution in Form von parallel laufender Evolution der RAS-Auswahl und der eigentlichen Schedules hinzu. Um dies zu unterstützen, wurde das 1- und n-Punkt-Crossover derart modifiziert, dass die RAS des besseren Elter auf die Kinder vererbt werden.

Beim zweiten Genmodell GM2 enthalten die Gene der Gridjobs keine Parameter. Dafür steuert ein zusätzliches Gen die Wahl einer der drei zuvor beschriebenen RAS. Eine Mutation dieses Gens bedeutet also eine Änderung der Heuristik zur Ressourcenauswahl. Bild 2 zeigt die zur Gen-Interpretation notwendigen Schritte für GM2. Dem offensichtlich komplizierteren (und laufzeitintensiveren) Algorithmus zur Ressourcenbelegung steht eine nicht unerhebliche Reduktion des Suchraums gegenüber. GM1 kann alle alternativen Ressourcen allen Gridjobs zuordnen, während GM2 in dieser Hinsicht eingeschränkt ist: Entweder alle Anwendungsjobs bevorzugen billige oder schnelle Ressourcen oder dies geschieht, etwas flexibler, entsprechend der Präferenz des Anwendungsjobs. Welches Genmodell in dem für die Experimente gewählten Zeitrahmen von drei Minuten für einen GLEAM-Lauf die besseren Resultate bringt, kann nicht vorhergesagt und muss experimentell ermittelt werden. Auch ohne Versuche ist dagegen klar, dass GM1 bei hinreichend langen Laufzeiten mindestens gleich gute, wenn nicht bessere Ergebnisse liefern wird, da für GM2 nicht alle Bereiche des Suchraums von GM1 zugänglich sind.

• Die entsprechenden Operatoren werden so verändert, dass sie die Reihenfolgebeziehungen beachten. Dazu wurden mit zwei entsprechend modifizierten CrossoverVarianten erste Experimente durchgeführt. • Reparatur des fehlerhaften Chromosoms (genotypische Reparatur) • Reparatur durch korrigierende Interpretation (phänotypische Reparatur)

Bild 1: Interpretation eines Gens zur Erstellung der Belegungsmatrix für Genmodell 1 (GM1).

Auf Grund der implementierten Ressourcenbelegung beider Genmodelle (siehe Bilder 1 und 2), ist eine Beachtung der Vorgängerbeziehungen sicher gestellt, wenn im Chromosom kein Gen eines Gridjobs vor einem steht, dessen Nachfolger es ist. Damit ist eine einfache genotypische Reparatur möglich. Der Nachteil dieser Vorgehensweise besteht in der Störung des Umbaus von Chromosomen, indem zunächst illegale Zwischenschritte quasi ,,wegrepariert“ werden. Stattdessen muss z. B. ein zeitliches Vorziehen einer Gridjobsequenz so erfolgen, dass zuerst die jeweils früheren Gridjobs vorgezogen werden, um Platz für die nachfolgenden zu schaffen. Es ist offensichtlich, dass dadurch eine Vorverlegung ganzer Gridjobsequenzen schwierig zu bewältigen ist. Experimente haben dementsprechend auch

110

3.3 Geno- und phänotypische Reparatur Mutationen zur Positionsveränderung von Genen und die Crossover-Operatoren können Verletzungen der Vorgängerbeziehungen der Gridjobs bewirken. Dieses Problem kann man grundsätzlich auf drei Arten behandeln:

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

at 3/2009

gezeigt, dass nur etwa 20% aller Nachkommen genotypisch repariert werden sollten. Zur Aussortierung illegaler Schedules ist eine weitere Straffunktion für die Bewertung notwendig, die ,,vorzeitig ausgeführte“ Gridjobs abstraft. Die phänotypische Reparatur stellt dagegen einen ganz anderen Ansatz dar, der das Genom unverändert lässt. Wenn im ersten Schritt von Bild 1 oder 2 festgestellt wird, dass noch nicht alle Vorgängergridjobs verplant sind, wird der betreffende Gridjob zurückgestellt, bis dies der Fall ist. Es wird also so getan, als stünde sein Gen direkt hinter dem Gen des letzten Vorgängergridjobs im Chromosom. Damit sind sinnvolle Veränderungen im Genom auch über verschlechternde oder gar unzulässige Zwischenschritte leicht möglich.

sche Benchmarks benutzt. Beispiele dafür liefern Tobita et al. [20] und Hönig et al. [21], wobei dort homogene Ressourcen und nur ein Anwendungsjob betrachtet werden. Da GORBA von einem allgemeineren Szenario mit heterogenen Ressourcen und den größeren Parallelisierungsmöglichkeiten bei einer Vielzahl von Anwendungsjobs ausgeht, wurden die eigenen nachfolgend beschriebenen Benchmarks entwickelt [22]. Wichtige Kennziffern zur Charakterisierung einer zu planenden Menge von Anwendungsjobs betreffen die Abhängigkeiten ihrer Gridjobs und die Anzahl jeweils alternativer Ressourcen. Der Parameter A beschreibt die Abhängigkeiten wie folgt: A=

3.4 Spezielle Crossover-Operatoren In den Experimenten wurde der Effekt zweier CrossoverOperatoren untersucht, die die Genreihenfolge der Eltern an die Kinder weitergeben. Das order-based crossover OX [17] bewahrt die relative Ordnung der Elterngene. Damit ist allerdings nicht sicher gestellt, dass aus Reihenfolge-korrekten Eltern auch Kinder mit dieser Eigenschaft hervorgehen. Dies garantiert hingegen das precedence preserving crossover PPX [18], das, wie der Name schon sagt, Reihenfolgebeziehungen bewahrt. Damit werden allerdings auch die Möglichkeiten zur Durchmischung der Gene eingeschränkt.

at 3/2009

spj spjmax

spjmax =

n(n − 1) 2

mit: spj: Summe der Vorgängerjobs aller Gridjobs n: Anzahl aller Gridjobs Je kleiner A ist, desto größer ist die Anzahl der Permutationen und damit der Planungsalternativen aller Gridjobs, wobei allerdings der damit verbundene hohe potentielle Parallelisierungsgrad durch den Freiheitsgrad bei der Ressourcenauswahl beschränkt werden kann. Dieser Freiheitsgrad R ist definiert als  ar R= n · nres

4 Experimente

mit: ar: Anzahl alternativer Ressourcen eines Gridjobs n: Anzahl aller Gridjobs nres : Anzahl der Ressourcen

Die Experimente beruhen auf den nachfolgend vorgestellten sechzehn Benchmarkszenarien. Dabei wurden die Kosten- und Zeitgrenzen gezielt so gewählt, dass die Resultate der heuristischen Planung Verletzung der Grenzen enthalten. Die durch die Experimente zu beantwortende Fragestellung lautet dementsprechend: Kann das hybride GLEAM innerhalb des dreiminütigen Zeitfensters Schedules ohne Grenzverletzungen mit welcher Erfolgsrate generieren und haben die erzeugten Planungen eine bessere Qualität? Alle Experimente beruhen meist auf 100 Läufen pro Benchmark und Einstellung des EA wie Reparaturart, Genmodell oder Populationsgröße (200–600). Bei geringem Erfolg wurde aus Aufwandsgründen nach 50 Läufen abgebrochen.

Je kleiner R ist, desto geringer ist der Freiheitsgrad der Ressourcenauswahl pro Gridjob. Ein Benchmark mit kleinem A und großem R erlaubt damit sowohl einen hohen Parallelisierungsgrad als auch viele Planungsalternativen. Für die vier Kombinationen jeweils kleiner und großer Werte von A und R wurden Benchmarkklassen definiert, die mit kRkA für kleines R und A bis gRgA für großes R und A abgekürzt werden. Pro Benchmarkklasse wurden Testaufgaben bestehend aus 50, 100 oder 200 Gridjobs konstruiert, die alle die gleiche Ressourcenmenge verwenden. Hinzu kommt noch ein Satz Benchmarks mit 200 Gridjobs bei doppelter Ressourcenmenge (mit 200d in den Tabellen 1– 3 und in Bild 4 gekennzeichnet).

4.1 Benchmarks

4.2 Vergleiche GM1/GM2 und genomit phänotypischer Reparatur

Benchmarks zum Testen von Schedulingalgorithmen kann man entweder aus realen Anwendungsdaten extrahieren oder synthetisch erzeugen. Die Praxisnähe scheint zunächst für die erste Erzeugungsart zu sprechen. Allerdings haben Untersuchungen gezeigt, dass sie häufig nur diejenigen Anwendungsszenarien widerspiegeln, die bei der Erfassung gerade dominant waren oder typisch für die jeweilige Nutzergruppe sind [19]. Da außerdem charakteristische Eigenschaften, wie die nachstehend beschriebenen, nicht gezielt beeinflusst werden können, werden hier syntheti-

Tabelle 1 vergleicht beide Genmodelle und beide Reparaturarten auf der Basis der zuvor beschriebenen Erfolgsrate. Da die meisten Benchmarks erfolgreich gelöst werden, wird der besseren Darstellung halber jeweils die Fehlerrate angegeben. Bei beiden Reparaturmethoden schneidet GM2 bis auf die Benchmarkgruppe kRgA deutlich besser ab als GM1. Bei diesem Benchmarkset geht der Vergleich bei genotypischer Reparatur zu Gunsten von GM1 aus, während er bei

111

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

W. Jakob u. a.: Schnelles Scheduling mit Hilfe eines hybriden Evolutionären Algorithmus

phänotypischer eher ein Unentschieden liefert. Die Unterschiede zwischen den beiden Reparaturarten sind bei GM1 entweder statistisch nicht signifikant (t-Test) oder gering, während bei GM2 die phänotypische Korrektur signifikant besser ist. Damit erweist sich die phänotypische Reparatur als die bessere Wahl, was leicht mit der bereits erwähnten größeren Flexibilität beim Umbau der Genreihenfolge erklärt werden kann. Insgesamt liefert GM2 zusammen mit phänotypischer Reparatur die besten Ergebnisse. Das bedeutet, dass die heuristische Ressourcenauswahl, die den

Suchraum einschränkt, bei kurzen Läufen zu besseren Ergebnissen kommt. Lässt man dagegen die Optimierung bis zur Stagnation weiter laufen, liefert GM1 erwartungsgemäß die besseren Resultate. Welches der drei Ressourcenauswahlstrategien dabei günstiger ist, hängt vom Anwendungsfall ab, sodass die Auswahl per Koevolution berechtigt ist. Bild 3 zeigt den prinzipiellen Evolutionsverlauf für beide Genmodelle und vergleicht die Situation nach drei Minuten für wenige und viele Gridjobs: Bei 200 Gridjobs sind die drei Minuten vor dem Schnittpunkt erreicht, bei nur 50 Jobs hingegen danach.

4.3 Hilfskriterium ,,relative Jobzeiten“

Bild 3: Prinzipieller Verlauf der Evolution für beide Genmodelle. Gegenüberstellung des Evolutionsfortschritts nach drei Minuten Laufzeit für 50 (rechts) und 200 Gridjobs (links).

Ohne das Hilfskriterium relative Jobzeiten belohnt die relative Fertigstellungszeit nur eine Vorverlegung des letzten Gridjobs und es besteht kein Anreiz, ,,innere Gridjobs“ früher abzuarbeiten, was für eine kürzere Bearbeitungszeit jedoch in der Regel notwendig ist. Tabelle 2 zeigt die Ergebnisse und der jeweilige Vergleich beider Genmodelle und Reparaturarten geht ähnlich aus wie zuvor ohne das Hilfskriterium. Sein Effekt ergibt sich aus einem spaltenweisen Vergleich der beiden Tabellen und es zeigt sich, dass das zusätzliche Kriterium bei GM1 eine im Schnitt leichte und bei GM2 eine deutlichere Verbesserung der Erfolgsrate bewirkt. Insgesamt schneidet auch hier die Kombination aus phänotypischer Reparatur und GM2 am besten ab. Für die Benchmarkgruppe kRgA ergibt sich somit eine signifikante Verbesserung gegenüber der Bewertung ohne Hilfskriterium.

Tabelle 1: Vergleich der Fehlerraten beider Genmodelle GM1 und GM2 bei genotypischer (g ) und phänotypischer Reparatur (p ) und ohne das Hilfskriterium relative Jobzeiten.

Tabelle 2: Vergleich der Fehlerraten beider Genmodelle GM1 und GM2 bei genotypischer (g ) und ph¨anotypischer Reparatur (p ) und mit dem Hilfskriterium relative Jobzeiten.

Benchmarks

kRkA

kRgA

gRkA

gRgA

GM1, g

GM1, p

GM2, g

GM2, p

50









100









Benchmarks

kRkA

GM1, g

GM1, p

GM2, g

GM2, p

50









100









200



(–)





200

(–)

2





200d

20

14

(–)



200d

8

6





50









50









100





24

1

100





14

(–)

200

2

4

32

7

200



2

12

2

200d

20

10





200d

10

2





kRgA

50









50









100

14

19





100

2

8





200

96

94

2



200

72

73





200d

30

28

4



200d



3





50



(–)





50









100

40

41

40

21

100

30

29

54

21

200

46

54

10

(–)

200

41

43

4

(–)

200d

78

70





200d

60

54





gRkA

gRgA

Anmerkungen: Zur besseren Unterscheidung werden erfolgreich gelöste Benchmarks mit einem ,,–“ statt mit einer 0 für 0% Fehlerrate gekennzeichnet. Wenn bei einem Benchmark nur bei einer Populationsgröße alle 100 Läufe erfolgreich waren, gilt der Erfolg als wenig robust und das ,,–“ wird eingeklammert: ,,(–)“. Alle Angaben in %.

112

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

METHODEN

at 3/2009

4.4 Neue Crossover Operatoren An Hand der offenbar ,,schwierigsten“ Benchmarksätze kRgA und gRgA wird der Effekt der beiden CrossoverOperatoren von Abschnitt 3.4 untersucht, indem sie zusammen oder einzeln die bisherigen Operatoren ersetzen oder ergänzen. Dabei führt der PPX-Operator in allen Fällen zu einer deutlichen Verschlechterung. Der in seiner Wirkung weniger eingeschränkte OX-Operator erreicht hingegen die in Tabelle 3 dargestellte nochmalige Verbesserung, wenn er ergänzend eingesetzt wird. Wie die Tabelle zeigt, sind alle Unterschiede bei den Erfolgsraten auch signifikant.

at 3/2009

Bild 4 dargestellte Verbesserung durch GLEAM festgestellt werden. Sie schwankt je nach Benchmark zwischen 5% und 23% bei einem Durchschnitt von 12%. Der EA konnte also nicht nur die Budgetverletzungen beseitigen, sondern darüber hinaus auch die allgemeine Qualität der Schedules, wie sie sich in der aggregierten Fitness widerspiegelt, verbessern. Die Werte der besten heuristischen Planung liegen jeweils außerhalb der Konfidenzintervalle (99%) der GLEAM-Läufe, sodass die Unterschiede als signifikant einzustufen sind.

5 Zusammenfassung und Ausblick 4.5 Qualität der Schedules Vergleicht man die Fitnesswerte ohne die Straffunktionen für Budgetverletzungen der heuristischen mit der GLEAMPlanung in der zuletzt diskutierten Version, so kann die in

Tabelle 3: Wirkung des zusätzlich angewandten order-based crossover (OX) bei GM2, phänotypischer Reparatur und dem Hilfskriterium. Dargestellt sind die Fehlerraten, siehe auch die Anmerkungen zu den Tabellen 1 und 2. Die rechte Spalte gibt an, ob die Unterschiede basierend auf den erreichten Fitnesswerten statistisch signifikant sind oder nicht (t-Test). Benchmarks

kRgA

gRgA

ohne OX

mit OX

unterschiedlich

50





nein

100

(–)



ja

200

2

(–)

ja

200d





nein

50





ja

100

21

9

ja

200

(–)



ja

200d





ja

Bild 4: Verbesserung der Qualität der Schedules: Vergleich der Rohfitness (ohne Straffunktionen) der heuristischen Vorplanung mit der Endfitness von GLEAM (mit Straffunktionen).

Es wurde gezeigt, dass die vorgestellte Aufgabe komplexer ist als das klassische und NP-vollständige Job Shop Scheduling Problem, das die Planung von Jobs mit Vorgängerbeziehungen auf alternativen Maschinen umfasst und auf eine Minimierung der Gesamtlaufzeit abzielt. Hinzugekommen sind die Koallokation heterogener Ressourcen unterschiedlicher Leistungsfähigkeit bei variablen zeitabhängigen Kosten und die zusätzlichen Bewertungskriterien Kosten, Fertigstellungszeiten und Ressourcenauslastung. Innerhalb eines Zeitrahmens von nur drei Minuten konnte der hybride EA GLEAM die Schedules einer vorangegangenen heuristischen Planung verbessern, wobei Budgetverletzungen beseitigt wurden. Als beste Konfiguration erwies sich dabei eine den Suchraum einschränkende Problemrepräsentation mit durch Koevolution bestimmter Heuristik zur Ressourcenauswahl (RAS) und phänotypischer Reparatur. Durch Hinzunahme eines Hilfskriteriums, das die schnelle Abarbeitung von Anwendungsjobs fördert, und des oderbased crossovers konnte die Leistung weiter gesteigert werden. Zukünftig soll auch die Wirkung problemspezifischer adaptiver Mutationen untersucht werden. Die gewählte Planungszeit basiert auf Erfahrungen mit dem Campus-Grid des Forschungszentrums [23], das rund 250 heterogene Unix-basierte Rechner unter Verwendung von Globus als Middleware umfasst. Da das Grid dazu geschaffen wurde, Rechenzeit- und/oder Speicher-intensive Aufgaben verteilt zu bearbeiten, kann von Rechenzeiten einzelner Jobs ausgegangen werden, die eher im Stundenals im Minutenbereich liegen. Daher werden wenige Minuten Planungszeit als akzeptabel angesehen, wobei während dieser Zeit der alte Schedule weiter abgearbeitet wird, ohne jedoch neue Jobs zu beginnen. Die hier vorgestellte Performanceanalyse basiert auf Benchmarks vom Typ Neuplanung, was zwar gut für Vergleiche und Tuning ist, aber insofern unrealistisch, als in der Praxis die Umplanung auf Grund von z. B. neuen Anwendungsjobs oder eines Ressourcenausfalls dominiert. Daher sind derzeit Arbeiten im Gang, Umplanungsszenarien unter Ausnutzung der alten Planung zu untersuchen, wobei auch Clusterressourcen anstelle von Einzelrechnern betrachtet werden sollen. Frühere Untersuchungen zum Effekt der Verwendung alter Lösungen zur Erzeugung neuer am Beispiel der Generierung kollisionsfreier Robotertrajektorien ergaben ermutigende Resultate: Die Planungszeiten

113

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

W. Jakob u. a.: Schnelles Scheduling mit Hilfe eines hybriden Evolutionären Algorithmus

METHODEN

konnten auf ein Fünftel bis ein Sechstel gegenüber der Planung ohne Vorwissen reduziert werden [24]. Dies ist auch insofern von Bedeutung, als die Zeit zur Aufstellung der Belegungsmatrix mit zunehmender Gridjob- und Ressourcenanzahl steigt und sich so die Anzahl der im vorgegebenen Zeitrahmen möglichen Evaluationen verringert. Zukünftige Experimente müssen zeigen, wieviel Ressourcen und Gridjobs bei rollierender Umplanung handhabbar sind. Größere Volumina können durch eine Hierarchie von Ressourcebrokern und (Sub-)Grids bearbeitet werden. Die Ergebnisse lassen sich insofern auch auf andere Scheduling-Probleme übertragen, als GLEAM bis auf die RAS-Heuristiken derzeit keine problemspezifischen Operatoren enthält. Literatur [1] I. Foster: What Is The Grid? – A Three Point Checklist. In: GRIDtoday 1 (2002), Nr. 6. [2] I. Foster, C. Kesselman und S. Tuecke: The Anatomy of the Grid: Enabling Scalable Virtual Organisations. In: Int. J. of Supercomp. Appl. 15 (2001) Nr. 3, S. 200–222. [3] J. Nabrzyski, J. M. Schopf und J. Weglarz: Grid Resource Management: State of the Art and Future Trends. Kluwer Academic Publ., 2004. [4] W. Süß, W. Jakob, A. Quinte und K.-U. Stucky: GORBA: A Global Optimising Resource Broker Embedded in a Grid Resource Management System. In: S. Q. Zheng (Hrsg.): Par. and Distr. Comp. Systems, Conf. Proc. of 17th IASTED, ACTA Press, Phoenix (2005) S. 137–145. [5] K.-U. Stucky, W. Jakob, A. Quinte und W. Süß: Solving Scheduling Problems in Grid Resource Management Using an Evolutionary Algorithm. In: Meersman, R. et al. (eds.): Proc. of the OTM 2006, LNCS 4276, Springer, Berlin (2006) S. 1252–1262. [6] M. Hovestadt, O. Kao, A. Keller und A. Streit: Scheduling in HPC Resource Management Systems: Queuing vs. Planning. In: D. G. Feitelson et al. (Hrsg.): Proc. of the 9th Workshop on Job Sched. Strat. for Par. Proc. (JSSPP), LNCS 2862, Springer, Berlin (2003) S. 1–20. [7] P. Brucker: Scheduling Algorithms. Springer, 2004. [8] C. Blume: GLEAM - A System for Simulated ,Intuitive Learning‘. In: H.-P. Schwefel et al. (Hrsg.): Conf. Proc. PPSN I (1990), LNCS 496, Springer (1991) S. 48–54. [9] C. Blume und W. Jakob: GLEAM – An Evolutionary Algorithm for Planning and Control Based on Evolution Strategy. In: E. Cant´u-Paz (Hrsg.): Conf. Proc. GECCO 2002, Vol. LBP (2002) S. 31–38. [10] P. Brucker: Complex Scheduling. Springer, Berlin 2006. [11] B. Hahnenkamp: Integration anwendungsneutraler lokaler Suchverfahren in den adaptiven memetischen Algorithmus HyGLEAM für komplexe Reihenfolgeoptimierung. Diplomarbeit, Uni Karlsruhe, Fak. f. Wirtschaftswissenschaften, AIFB (2007). [12] A. Setamaa-Karkkainen, K. Miettinen und J. Vuori: Best Compromise Solution for a New Multiobjective Scheduling Problem. Computers & OR, Vol. 33(8) (2006) S. 2353–2368.

114

[13] H. Schmeck, D. Merkle und M. Middendorf : Ant Colony Optimization for Resource-Constrained Project Scheduling. In: D. Whitley et al. (Hrsg.): Conf. Proc. GECCO 2000, Morgan Kaufmann, Las Vegas (2000) S. 893–900. [14] B. Giffler und G. L. Thompson: Algorithms for Solving Production Scheduling Problems. Operations Research 8 (1960) S. 487–503. [15] D. Sonnleithner: Integration eines Giffler-Thompson-Schedulers in GORBA. Studienarbeit, Uni Karlsruhe, Fak. f. Maschinenbau, AIA (2008). [16] C. Blume: GLEAM – Ein EA für Prozessabläufe am Beispiel von Steuerungen für Industrieroboter. In: R. Mikut, M. Reischl (Hrsg.): Conf. Proc. 16. Workshop Comp. Intelligence, Universitätsverlag Karlsruhe (2006) S. 11–24. [17] L. Davis (Hrsg.): Handbook of Genetic Algorithms. S. 79, Van Nostrand Reinhold, New York, 1991. [18] C. Bierwirth, D. C. Mattfeld und H. Kopfer: On Permutation Representations for Scheduling Problems. In: H.-M. Voigt et al. (Hrsg.): Conf. Proc. PPSN IV, LNCS 1141, Springer, Berlin (1996) S. 310–318. [19] M. Wieczorek, M. Prodan und T. Fahringer: Comparison of Workflow Scheduling Strategies on the Grid. In: R. Wyrzykowski et al. (Hrsg.): Conf. Proc. PPAM 2005, LNCS 3911, Springer, Berlin (2006) S. 792–800. [20] T. Tobita und H. Kasahara: A Standard Task Graph Set for Fair Evaluation of Multiprocessor Scheduling Algorithms. Journal of Scheduling 5 (2002) Nr. 5, S. 379–394. [21] U. Hönig und W. Schiffmann: A comprehensive Test Bench for the Evaluation of Scheduling Heuristics. In: Conf. Proc. 16th Parallel and Distributed Computing and Systems (PDCS), Cambridge (USA) (2004). [22] W. Süß, A. Quinte, W. Jakob und K.-U. Stucky: Construction of Benchmarks for Comparison of Grid Resource Planning Algorithms. In: J. Filipe et al. (Hrsg.): Conf. Proc. ICSOFT 2007, Inst. f. Systems and Technologies of Information, Control and Com. (2007) S. 80–87. [23] F. Schmitz und O. Schneider: The CampusGrid test bed at Forschungszentrum Karlsruhe. In: P. M. A. Sloot (Hrsg.): Advances in Grid Computing – EGC 2005, LNCS 3470, Springer, Berlin (2005) S. 1139–1142. [24] W. Jakob, M. Gorges-Schleuter und C. Blume: Application of Genetic Algorithms to Task Planning and Learning. In: R. Männer, B. Manderick (Hrsg.): PPSN II, North-Holland, Amsterdam (1992) S. 291–300. Manuskripteingang: 4. Dezember 2007. Dres. Wilfried Jakob, Alexander Quinte, Karl-Uwe Stucky und Wolfgang Süß sind als wissenschaftliche Mitarbeiter am Institut für Angewandte Informatik im Forschungszentrum Karlsruhe im Grid-Computing engagiert. Dr. Stucky leitet das Team, in dem Dr. Jakob sich schwerpunktmäßig mit Evolutionären Algorithmen und GLEAM beschäftigt. Adresse: Forschungszentrum Karlsruhe, IAI, Postfach 3640, 76021 Karlsruhe, Tel: +49-(0)7247-82-4663, E-Mail: {wilfried.jakob, alexander.quinte, uwe.stucky, wolfgang.suess}@iai.fzk.de Dipl. Informationswirt Björn Hahnenkamp studierte an der Universität Karlsruhe (TH) Informationswirtschaft. In seiner Diplomarbeit untersuchte er hybride Evolutionäre Algorithmen zur Lösung komplexer Schedulingprobleme. Seit 2007 arbeitet er als IT-Unternehmensberater und befasst sich mit Technologien für effiziente Rechenzentren. Adresse: Körnerstr. 8c, 61440 Oberursel, Tel: +49-(0)6171-9612021, E-Mail: [email protected]

This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.

at 3/2009