Energy-efficient and Fault-tolerant Scheduling for Manycores and Grids

Eitschberger, Patrick

Parallel platforms like manycores and grids consist of a large number of processing units (PUs) to achieve high computing power. To enable a fast execution of complex applications, they must be decomposed into several tasks and scheduled efficiently onto the parallel platform. The reliability of these platforms is crucial in order to avoid high costs in sense of money, time or life-critical situations. A failure of a PU can be tolerated by task duplication, where each task is duplicated onto another PU. In case of a failure, the schedule execution can be continued by running the duplicates instead of the faulty original tasks. But integrating duplicates into a schedule often results in performance overhead already in the fault-free case. Additionally, a low energy consumption for a schedule is desired to reduce costs and to protect the environment. Dynamic voltage and frequency scaling (DVFS) is one approach to reduce the energy consumption. However, scaling the frequencies and voltages of PUs to an efficient level often leads to performance overhead, because tasks are usually slowed down. In addition, including duplicates into a schedule increases the energy consumption because they are typically executed beside the original tasks. This leads to a three-dimensional optimization problem of performance, fault tolerance and energy consumption. In this thesis the interplay between these three objectives is explored. Several new fault-tolerant and energy-efficient heuristics and strategies are presented that offer a user the opportunity to set various preferences. Additionally, a prototype runtime system is presented that tolerates a failure and also uses DVFS to improve the energy consumption. Finally, the different strategies are evaluated with various test sets in general but also with real-world applications on real parallel platforms.

Parallele Systeme, wie beispielsweise Manycores und Grids, bestehen aus einer großen Anzahl an Verarbeitungseinheiten (PUs), um eine hohe Rechenleistung zu erzielen. Um eine schnelle Abarbeitung komplexer Applikationen zu ermöglichen, müssen diese in mehrere Tasks zerlegt und effizient auf die parallele Plattform eingeplant werden. Die Zuverlässigkeit dieser Plattformen ist entscheidend, um hohe Kosten im Sinne von Geld, Zeit oder lebensbedrohlichen Situationen zu vermeiden. Ein Ausfall einer PU kann durch Task-Duplikation toleriert werden, bei der jede Task auf einer anderen PU dupliziert wird. Im Falle eines Ausfalls kann die Schedule-Verarbeitung fortgesetzt werden, indem die Duplikate anstelle der ausgefallenen Original-Tasks ausgeführt werden. Allerdings führt das Einfügen von Duplikaten in einen Schedule bereits im fehlerfreien Fall häufig zu einem Leistungsverlust. Zusätzlich wird ein niedriger Energieverbrauch für einen Schedule angestrebt, um Kosten zu reduzieren und die Umwelt zu schonen. Dynamische Spannungs- und Frequenzskalierung (DVFS) ist eine Möglichkeit, um den Energieverbrauch zu reduzieren. Jedoch führt die Skalierung der Frequenzen und Spannungen von PUs häufig zu einem Leistungsverlust, da Tasks für gewöhnlich verlangsamt werden. Außerdem erhöht das Einfügen von Duplikaten in den Schedule den Energieverbrauch, da sie in der Regel neben den Original-Tasks ausgeführt werden. Dies führt zu einem drei-dimmensionalen Optimierungsproblem zwischen Leistung, Fehlertoleranz und Energieverbrauch. In dieser Arbeit wird das Zusammenspiel zwischen diesen drei Zielen erforscht. Mehrere neue fehlertolerante und energieeffiziente Heuristiken und Strategien werden präsentiert, die einem Benutzer die Möglichkeit bieten unterschiedliche Präferenzen einzustellen. Darüber hinaus wird ein prototypisches Laufzeitsystem vorgestellt, das einen Fehler toleriert und DVFS benutzt, um den Energieverbrauch zu verbessern. Zum Abschluss werden die unterschiedlichen Strategien mit verschiedenen Testmengen im Allgemeinen aber auch mit realen Anwendungen auf realen parallelen Plattformen evaluiert.

Vorschau

Zitieren

Zitierform:

Eitschberger, Patrick: Energy-efficient and Fault-tolerant Scheduling for Manycores and Grids. Hagen 2017. FernUniversität in Hagen.

Zugriffsstatistik

Gesamt

Volltextzugriffe:
Metadatenansicht:

12 Monate

Volltextzugriffe:
Metadatenansicht:

Rechte

Nutzung und Vervielfältigung:
Alle Rechte vorbehalten

Export

powered by MyCoRe