Multi-objective Computing Cluster Scheduling and Resource Reservation Optimization

No Thumbnail Available

Files

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.

Date

2020-05-08

Department

Major/Subject

Tietotekniikka

Mcode

SCI3027

Degree programme

Teknistieteellinen kandidaattiohjelma

Language

en

Pages

29

Series

Abstract

This research is a literature review that concludes multi-objective computing cluster optimization. Computing clusters have been developed since 1970s but the significance has risen in the global drive for digitalization. Modern clusters are generic, heterogenic systems that are capable of heavy computing. Their computing power is enormous compared to customer computers even though the components work in similar ways. This vast computing power is useful for at least research purposes, weather forecasting, and material innovations. The goal of this study is to analyze and conclude important techniques used for optimizing clusters. Study focuses on job scheduling and resource reservation which are essential factors in optimization. To further understand problems regarding optimization the study discusses three perspectives: configuration, system characteristics, and performance metrics. Clusters are compositions of several computers each capable for independent computing work. These computational units are called nodes which are interconnected in a very fast local network. The huge number of nodes modern computing clusters have call for a need for careful optimization. The main results of this study are as follows. Optimization regarding cluster resource reservation is necessary for the stability and utilization of the system. This enables fast execution of even heavier jobs. The visible part of optimization for a user is software that is responsible for schedules and dividing work to nodes. This part of a cluster is often called its real operating system for its central role in the system. Modern supercomputers, which are important use cases for clusters, are typically optimized with a FIFO algorithm. Other techniques, such as backfilling, are used to improve performance and resource utilization. The processing is typically done in batches where the users specify their needs. Other clusters, such as data centers, may use techniques capable of real-time optimization, and such techniques are actively researched.

Tämä kandidaatin tutkielma on kirjallisuustutkimus, jossa käsitellään monitavoitteisten tietokoneklustereiden optimointia. Klustereita on kehitetty jo tietokoneen synnyn alkuajoilta lähtien, mutta niiden merkitys nopeasti digitalisoituvassa maailmassa on keskeinen. Nykyiset supertietokoneet ovat geneerisiä, heterogeenisiä ja monitavoitteisia laskennallisia kokonaisuuksia. Niiden laskentateho on huomattavasti kuluttajatietokoneita korkeampi, vaikka ne koostuvatkin samanlaisista peruskomponenteista. Suurta laskentatehoa hyödynnetään muun muassa tutkimuksessa, sään mallintamisessa ja uusien materiaalien kehityksessä. Tutkielman tavoitteena on analysoida ja esittää klustereiden optimointiin käytettäviä tekniikoita. Tutkielmassa keskitytään prosessien aikataulutukseen ja klusterin resurssien varaamiseen liittyviin haasteisiin, jotka ovat olennaisia osa-alueita klustereiden optimoinnissa. Optimointiin liittyvien haasteiden ja tekniikoiden ymmärtämiseksi tutkielmassa esitellään klustereiden tyypillisiä konfiguraatioita, ominaisuuksia, tyyppejä ja tehokkuuden mittareita. Klusterit ovat usean tietokoneen muodostamia kokonaisuuksia. Klusterit koostuvat vaihtelevasta määrästä pieniä laskennallisia yksiköitä eli noodeja, jotka ovat yhteydessä toisiinsa nopeassa lähiverkossa. Koska klusterit muodostuvat erittäin suuresta määrästä omatoimiseen laskentaan kykeneviä yksiköitä, niiden toiminnan tarkka optimointi on välttämätöntä. Tämän tutkimuksen keskeiset tulokset ovat yhteenvetoja tärkeimmistä tekniikoista erityisesti klusterien optimoinnissa. Resurssien hallintaan liittyvä optimointi vakauttaa järjestelmää ja varmistaa, että myös raskaat tehtävät saadaan tehokkaasti suoritettua. Käyttäjälle näkyvä osa klustereiden optimointia on aikataulutusohjelmisto, joka vastaa työn jakamisesta noodeille. Tätä osaa klustereissa on kutsuttu niiden todellisiksi käyttöjärjestelmiksi, koska niillä on erittäin keskeinen asema klusterin toiminnassa. Nykyajan tehokkaimmat klusterit on optimoitu tyypillisesti FIFO algoritmilla käyttäen hyödyksi erilaisia tukialgoritmeja vakauttamaan järjestelmää. Prosessointi suoritetaan tyypillisesti usean prosessin sarjoissa. Tutkimuskäytössä käyttäjät määrittelevät tarpeen tyypillisesti hyvinkin tarkasti etukäteen, mutta myös reaaliajassa aikatauluttavia algoritmeja on olemassa ja niitä kehitetään aktiivisesti.

Description

Supervisor

Savioja, Lauri

Thesis advisor

Malykhina, Tetiana

Keywords

computing cluster, HPC, multi-objective optimization, scheduling algorithms

Other note

Citation