Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi



Samankaltaiset tiedostot
Datatähti alkukilpailu

Informaation leviäminen väkijoukossa matemaattinen mallinnus

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Monte Carlo -menetelmä optioiden hinnoittelussa (valmiin työn esittely)

Gaussiset prosessit derivaattahavainnoilla regressio-ongelmassa (valmiin työn esittely)

Datatähti kilpailu

CUDA. Moniydinohjelmointi Mikko Honkonen

Optimization of Duties in Railway Traffic (valmiin työn esittely)

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Rajapinta (interface)

Trimmitysongelman LP-relaksaation ratkaiseminen sarakkeita generoivalla algoritmilla ja brute-force-menetelmällä

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

Tietorakenteet ja algoritmit

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Olio-ohjelmointi Javalla

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

58160 Ohjelmoinnin harjoitustyö

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Luokat ja oliot. Ville Sundberg

815338A Ohjelmointikielten periaatteet

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Tilastolliset mallit hakkuukoneen katkonnan ohjauksessa. Tapio Nummi Tampereen yliopisto

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Javan perusteita. Janne Käki

Skedulointi, kuormituksen tasaus, robotin navigaatio

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Vaalijärjestelmä Vakka

Työvuorosuunnittelun optimointi (valmiin työn esittely)

Peliteorian soveltaminen hajautettujen järjestelmien protokollasuunnittelussa (valmiin työn esittely)

Ohjelmoinnin perusteet Y Python

Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely)

Dynaaminen analyysi I

4. Olio-ohjelmoinista lyhyesti 4.1

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

GafChromic EBT3 filmin ominaisuudet & MC

Ruby. Tampere University of Technology Department of Pervasive Computing TIE Principles of Programming Languages

2. Olio-ohjelmoinista lyhyesti 2.1

Polaarisatelliittidataan perustuva lumentunnistusalgoritmi (valmiin työn esittely)

ÄÄNENVAIMENTIMIEN MALLINNUSPOHJAINEN MONITAVOITTEINEN MUODONOPTIMOINTI 1 JOHDANTO. Tuomas Airaksinen 1, Erkki Heikkola 2

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

7. Näytölle tulostaminen 7.1

Yliopisto- ja AMK-kirjastokonsortioiden tietokantapalvelimet

GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 27. lokakuuta 2009

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Datatähti alkukilpailu

Luento 1 Tietokonejärjestelmän rakenne

Java-kielen perusteet

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

7/20: Paketti kasassa ensimmäistä kertaa

KOTOMA-hanke. Maatalouden vesiensuojelutoimenpiteiden kohdentaminen. Parkkila Pekka

Java-kielen perusteet

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Ohjelmoinnin perusteet Y Python

4. Luokan testaus ja käyttö olion kautta 4.1

T Ohjelmistokehitysprojekti I Tekninen Määrittely

17. Javan omat luokat 17.1

Luento 2: Tiedostot ja tiedon varastointi

1. Omat operaatiot 1.1

SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

8. Näppäimistöltä lukeminen 8.1

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Menetelmä Markowitzin mallin parametrien estimointiin (valmiin työn esittely)

Kotimaisen mediatarjonnan merkitys suomalaisille Mediapäivä

Jouko Nielsen. Ubuntu Linux

Tietotekniikan valintakoe

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010

BtoB-markkinoinnin tutkimus

Ajankohtaista rakenteiden mekaniikasta. Uusia muotoja virtuaaliseen työntekoon Antti H. Niemi, RIL lounastilaisuus,

15. Ohjelmoinnin tekniikkaa 15.1

4. Lausekielinen ohjelmointi 4.1

Tekla Structures vuosineljänneksen kohde. Antti Hämäläinen Account Manager (M.Sc.)

C++-harjoitustyön raportti: Musta maija

11/20: Konepelti auki

Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely)

HARJOITUKSIA ios-ohjelmointiin LIITTYEN

FYSIIKAN TUTKIMUSLAITOKSEN JOHTOKUNNAN KOKOUS

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen

Toinen harjoitustyö. ASCII-grafiikkaa

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

Ohjelmoinnin peruskurssien laaja oppimäärä

T Ohjelmistokehitysprojekti I Tekninen Määrittely

Polkuriippuvuus trade-off-painotuksessa (valmiin työn esittely)

Hakemistojen sisällöt säilötään linkitetyille listalle.

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

13 Operaattoreiden ylimäärittelyjä

Transkriptio:

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi 24.01.2011 Ohjaaja: Tapio Niemi Valvoja: Harri Ehtamo

Tausta ja työn tavoite Työ tehtiin Helsinki Institute of Physics:ille, Green computing tutkimusryhmälle Tarkoitus oli mallintaa fysiikkatöiden laskemista tietokoneessa simulaattorilla Simulaattori validoitiin lopuksi vertaamalla tuloksia oikeisiin testiajoihin Simulaattorin takana on energiansäästötavoitteet tietokonelaskennassa jossa pyritään käyttämään tietokoneresursseja mahdollisimman tehokkaasti Tavoitteena simulaattori joka antaa käyttökelpoisia tuloksia nopeasti

Simulaattorin matemaattinen malli 1/2 Työt koostuvat pienemmistä tehtävistä jotka vuorotellen käyttävät I/O:ta ja Cpu:ta. Tehtävien pituudet vaihtelevat ja riippuvat töistä Työt varaavat keskusmuistia, ei kuitenkaan otettu huomioon simulaattorissa Töiden ja tehtävien resursikäyttö on Linux Kernel Skedulerin mukaista short time scheduling Skedulointi on Sun Grid Enginen Skedulerin mukaista long time scheduling Malli on nk Black Box malli jota on vaikea tutkia analyyttisesti mutta jota voidaan kontrolloida. Cp u I/O Cpu I/O Cpu I/O

Simulaattorin matemaattinen malli 2/2 Simulaattorille syötetään Joukon ja Tietokoneen ominaisuudet. Skeduleri skeduloi töitä tilan perusteella. Tulosteena on läpimenoaika

Simulaatorin toteutus Simulaattori toteutettiin Java kielellä Olio ohjelmoinnilla Eri luokat simulaattorin eri osille Simulaattorissa eri parametreja joita voidaan säätää simulaattorin toiminnan parantamiseksi. Tärkeimmät niistä Iogrowth ja Cpugrowth joita voidaan muuttaa uusien tulosten esiintyessä Suurimmat ongelmat numeerisessa laskennassa jotka kuitenkin vältettiin käyttämällä sopivia tietotyyppejä Simulaattori debuggattiin / testattiin kunnolla

Simulaattorin validointi Testiasetelma 1/2 Validoinnissa käytettiin testiasetelmaa jossa yksinkertaisia töitä, joukkoja sekä yksinkertainen tietokone 2 eri työtä: Cpu_test ja Io2 3 eri joukkoa: I/O Set, CPU Set ja Mixed Set Jokaisessa joukossa 100 työtä Testitietokone joka oli oikea Tietokone jota HIP käyttää. Testikoneessa oli 12 ydintä Validointi tehtiin kahdella eri tapaa

Simulaattorin validointi Testiasetelma 2/2 Vakiomäärä töitä ajossa asetelmassa pidettiin koko ajan vakiomäärä töitä ajossa. Töiden määrä oli 1-24 Dynaaminen skedulointi asetelmassa skeduloitiin töitä tasaisin väliajoin jolloin töiden määrä ei ole vakio. Aja vaihtelivat setista riippuen Validoinnissa verrattiin simulaattorin antamia tuloksia oikeisiin ajoihin Simulaattorin parametreja säädettiin ajojen välillä tulosten parantamiseksi

Validointi Tulokset 1/3 Alla tulokset ajoista kun vakiomäärä töitä ajossa, 1-12 töitä ajossa kaikille joukoille Tulokset hyviä

Validointi Tulokset 2/3 Alla tulokset ajoista kun vakiomäärä töitä ajossa, 13-24 töitä ajossa kaikille joukoille Trendi mallinettu oikein, muistin loppuminen voi olla ongelma

Validointi Tulokset 3/3 Alla tulokset ajoista kun dynaaminen määrä töitä ajossa. Skedulointiväliajat riippuvat joukosta Hyvät tulokset, muistin loppuminen taas ongelmallista

Yhteenveto Kokonaisuudessaan tulokset hyviä Heiluntaa tilanteissa jossa paljon I/O:ta Muisti voi loppua tetokoneessa mikä johtaa eri tuloksiin Seuraavaksi muistinkäytön tutkimista ja implementointia Simulaattori hyvä pohja tulevalle tutkimukselle energiatehokkaan skeduloinnin alalla Simulaattori antaa käyttökelpoisia tuloksia nopeasti, trendi mallinnettu hyvin

Kiitos! Kysymyksiä?