Multi-objective Computing Cluster Scheduling and Resource Reservation Optimization
No Thumbnail Available
Files
Vahvanen_Eetu_2020.pdf (928.18 KB) (opens in new window)
Aalto login required (access for Aalto Staff only).
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.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
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, LauriThesis advisor
Malykhina, TetianaKeywords
computing cluster, HPC, multi-objective optimization, scheduling algorithms