Uuden äärellä rinnakkaisuus ja samanaikaisuus

Koko: px
Aloita esitys sivulta:

Download "Uuden äärellä rinnakkaisuus ja samanaikaisuus"

Transkriptio

1 Uuden äärellä rinnakkaisuus ja samanaikaisuus Petteri Kaski Tietotekniikan laitos Aalto-yliopisto ICS-A1120 Ohjelmointi huhtikuuta

2 What s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more. Alan J. Perlis (1 April February 1990) in foreword to Harold Abelson and Gerald Jay Sussman, with Julie Sussman, Structure and Interpretation of Computer Programs, 2nd ed., MIT Press, 1996

3 Sisältö (kierrokset ja moduulit) I 1. Lämmittelykierros Tietokoneen mysteeri 2. Bitit ja data 3. Kombinaatiologiikka 4. Sekventiaalilogiikka 5. Ohjelmoitava kone II Abstraktiot ja analyysi III Funktionaalinen ohjelmointityyli Suorituskykyanalyysi Rekursio Algoritmit ja informaation esitykset Uuden äärellä 10. Rinnakkaisuus ja samanaikaisuus 11. Virtualisointi ja skaalautuvuus 12. Ohjelmoitava vai oppiva kone? (Intel Xeon Phi Knights Landing -lastu, 72 suoritusydintä, 8 miljardia transistoria, 14 nanometrin litografia) (Google Hamina)

4 Uuden äärellä 10. Samanaikaisuus ja rinnakkaisuus 11. Virtualisointi ja skaalautuvuus 12. Ohjelmoitava vai oppiva kone? helppoa rinnakkaisuutta: rinnakkaiskokoelmat, futuurit ja lupaukset laskentaa saa kuin sähköä seinästä skaalautuvuus omasta koneesta tehdashallitietokoneeseen*; Apache Spark (asennettu Maarille) konetta voi joskus opettaa sen sijaan että sitä ohjelmoidaan, ts. kone osaa joskus näppärästi yleistää sille esitetyistä esimerkeistä *) vain sähkösopimus (ja luottokortti) tarvitaan

5 The complexity for minimum component costs has increased at a rate of roughly a factor of two per year. Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years. Gordon E. Moore, in Electronics (19 April 1965)

6

7 The end of dramatic exponential growth in single-processor performance marks the end of the dominance of the single microprocessor in computing. The era of sequential computing must give way to a new era in which parallelism is at the forefront. The Future of Computing Performance: Game Over or Next Level? Samuel H. Fuller and Lynette I. Millett, Eds.; Committee on Sustaining Growth in Computing Performance; National Research Council, The National Academies Press, Samanaikaisuus ja rinnakkaisuus

8 Intel Haswell (***) 22 nm Haswell AVX2 suoritusydin: 2 x 8 = 16 liukulukulaskentayksikköä (binary32) Intel Xeon E v3 12 x AVX2 suoritusydintä = 192 liukulukulaskentayksikköä (2.6 GHz base, 3.5 GHz boost) [1.0 Tflops base, 1.3 Tflops boost]

9 NVIDIA Kepler (***) SMX: 6 x 32 = 192 liukulukulaskentayksikköä (binary32) Tesla K40 Kepler GK110 (15 SMX) = 2880 liukulukulaskentayksikköä (745 MHz base, 875 MHz boost) [4.3 Tflops base, 5.0 Tflops boost] Tesla K80 2 x Kepler GK210 (13 SMX) = 2 x 2496 = 4992 liukulukulaskentayks. (562 MHz base, 875 MHz boost) [5.6 Tflops base, 8.7 Tflops boost] 28 nm

10 10. Samanaikaisuus ja rinnakkaisuus

11 Peräkkäismalli Tähän asti kurssilla olemme rajoittuneet tarkastelemaan laskentaa yksinkertaistettuna ilmiönä jossa ei ole samanaikaisuutta eikä rinnakkaisuutta (~ [yksi] prosessori[ydin] suorittaa konekielikäskyjä yksi kerrallaan, peräkkäin, eristettynä muusta maailmasta)

12 Laskenta todellisuudessa Peräkkäisyys on sangen karkea yksinkertaistus vallitsevasta todellisuudesta Laskenta on käytännössä samanaikaisesti ja rinnakkain etenevä ilmiö, yli mittakaavojen yksittäisen prosessorin suoritusytimistä tehdashallitietokoneisiin ja tietoverkkoihin (~ kaikki Internetiin kytketyt tietokoneet)

13 Samanaikaisuus ja rinnakkaisuus ohjelmoijan arjessa? Rinnakkaisnopeutus. Eräät tehtävät ovat luonteeltaan rinnakkaistuvia, ts. koko tehtävä, tai eräät tehtävän osat voidaan pilkkoa toisistaan riippumattomiin alitehtäviin Riippumattomat alitehtävät voidaan suorittaa rinnakkain siten, että koko tehtävä valmistuu ( seinäkelloajassa ) nopeammin kuin peräkkäin suoritettuna Valkopyykki ja väripyykki, kaksi pesukonetta

14 Samanaikaisuus ja rinnakkaisuus ohjelmoijan arjessa? Kokonaissuorituskyky. Monet yksittäiset tehtävät/palvelupyynnöt eivät rinnakkaistu, koska niiden suoritusaskelten välillä on riippuvuuksia (edellisen askelen tulos on oltava käytettävissä jotta seuraava voidaan suorittaa) Riippuvuuksista huolimatta rinnakkaisuudella voidaan usein parantaa kokonaissuorituskykyä (ratkaistuja tehtäviä tai palvelupyyntöjä aikayksikköä kohti), olettaen että tehtävät/pyynnöt ovat toisistaan riippumattomia Viisi pesulaa pesee viisinkertaisen määrän paitoja, vaikka mikään yksittäinen paita (esipesu, pesu, linkous, silitys) ei sen nopeammin tule pestyksi

15 Samanaikaisuus ja rinnakkaisuus ohjelmoijan arjessa? Saatavuus/vasteaika. Rinnakkaisuus mahdollistaa alitehtävien jakamisen ja aikatauluttamisen siten, että järjestelmän eri osat ovat saatavilla halutulla tavalla Pyykin vastaanotto/pestyjen luovutus toimii välittömästi riippumatta siitä mitä varsinaisella pesulinjalla tapahtuu

16 Samanaikaisuus ja rinnakkaisuus ohjelmoijan arjessa? Käytännössä laskenta on ilmiö, jossa useat samanaikaiset suoritukset etenevät rinnakkain, mutta vuorovaikutuksessa Mitä vähemmän vuorovaikutusta, sitä helpompaa on hyödyntää rinnakkaisuutta

17 10. Samanaikaisuus ja helppo rinnakkaisuus Säikeet ja rinnakkaisuus Asynkroninen suoritus, synkronointi Riippuvuus ja riippumattomuus suorituksessa yksinkertaisessa funktionaalisessa suoritusmallissa riippuvuuksien DAG-mallinnus Nopeutuskerroin ja Amdahlin laki Helppo rinnakkaisuus ohjelmoinnissa: Rinnakkaiskokoelmat Futuurit ja lupaukset

18 Suoritussäie (thread of execution) Ohjelmassa käytössä vain yksi suoritussäie (kuten kurssilla tähän asti) = peräkkäisohjelma

19 Monisäikeinen ohjelma

20 Monisäikeinen ohjelma

21 Monisäikeinen ohjelma Jokaisella säikeellä on oma sisäinen tila (ohjelmalaskuri, muut rekisterit, välimuisti,...) Lisäksi säikeillä on jaettu tila (ohjelman keskusmuistialue, käyttöjärjestelmäresurssit,...) Jokaisella säikeellä on oma näkymä jaettuun tilaan näkymä riippuu säikeen sisäisestä tilasta (esimerkiksi säikeen oman välimuistin sisällöstä!) ja säikeiden vuorovaikutuksesta

22 Asynkronisuus ja synkronointi Kunkin säikeen suoritus etenee asynkronisesti ja omassa näkymässään, oleellisesti täysin riippumatta mitä muut säikeet tekevät, ellei ohjelmoija erikseen synkronoi säikeiden suoritusta

23 Vaikea rinnakkaisuus käsittelee säikeitä manuaalisesti erikseen synkronoi säikeitä keskenään yrittää välttää synkronointia käymällä läpi kaikki tavat miten säikeet voivat vuorovaikuttaa keskenään ja synkronoimalla säikeiden toimintaa mahdollisimman vähän siten, että haluttu säikeiden yhteistoiminta saadaan kuitenkin aikaan vaikeaa

24 Helppo rinnakkaisuus käyttää korkean tason abstraktioita (esimerkiksi rinnakkaiskokoelmat, futuurit ja lupaukset) ohjelmoija ei ota kantaa säikeistykseen eikä synkronointiin ohjelmoija kertoo mitä saa rinnakkaistaa, mutta ei kerro miten rinnakkaistetaan ohjelmoijan vastuulla on edelleen ymmärtää, että korkean tason abstraktiot pohjautuvat säikeisiin ja synkronointiin jaetusta tilasta ja säikeiden omista näkymistä ei tule olettaa mitään mitä abstraktio ei lupaa taata

25 [Lyhyesti vaikeasta rinnakkaisuudesta ]

26 Säikeet ja asynkronisuus Scalalla class SumWorker(name: String, target: Int, report: Int) extends Runnable { def run() { // This method contains the code we want to run in a thread //... say, we want to take the sum of the integers i = 1,2,...,target, // and issue a progress report to the console after every // "report" integers var s = 0L var i = 1 while(i <= target) { s = s + i if(i % report == 0) { println("worker %s reporting at i = %d".format(name, i)) } i = i + 1 } println("worker %s is done and reports sum s = %d".format(name, s)) } } // The thread stops when run() returns, i.e. here

27 Valmistellaan kolme työtä ja kolme säeittä ajamaan töitä... val wa = new SumWorker("SumA", , ) // prepare worker A val wb = new SumWorker("SumB", , ) // prepare worker B val wc = new SumWorker("SumC", , ) // prepare worker C val ta = new Thread(wa) val tb = new Thread(wb) val tc = new Thread(wc) // prepare a thread for worker A // prepare a thread for worker B // prepare a thread for worker C... ja käynnistetään säikeet ta.start() tb.start() tc.start() // start thread of worker A // start thread of worker B // start thread of worker C

28 Säikeet töissä, asynkronisesti... [demo]

29 Asynkroninen suoritus vieläkin selkeämmin... class Greeter(id: Int, num: Int) extends Runnable { def run() { for(i <- 0 until num) { print("%d".format(id)) // greet by writing a single digit to console } } } val n = 10 // ten greeters -- one for each digit 0,1,...,9 val num_greetings = 200 // each greeter sends 200 greetings val greeters = (0 until n).map(id => new Greeter(id, num_greetings)) val threads = greeters.map(new Thread(_)) threads.foreach(_.start()) [demo]

30 Asynkronisuus ja synkronointi Kunkin säikeen suoritus etenee asynkronisesti ja omassa näkymässään, oleellisesti täysin riippumatta mitä muut säikeet tekevät, ellei ohjelmoija erikseen synkronoi säikeiden suoritusta

31 Kaksi esimerkkiä synkronoinnista Säikeen käynnistäminen käynnistävän ja käynnistyvän t.start() säikeen näkymä jaettuun tilaan on sama, käynnistymishetkellä Säikeen pysähtymisen odottaminen ( säikeeseen liittyminen, join ) t.join() pysähtyneen säikeen jaettuun tilaan tekemät muutokset näkyvät sitä odottaneen säikeen näkymässä

32 Ohjelmoijan vastuu odottelusta Ohjelmoijan vastuulla on huolehtia, että odottaminen päättyy (Ei ole mitenkään vaikeaa epähuomiossa saada kahta säiettä odottamaan toistensa touhuja ristiin!)

33 Ohjelmoijan vastuu säikeiden näkymistä jaettuun tilaan

34 [Lyhyesti vaikeasta rinnakkaisuudesta ] Samanaikaisuuden ja rinnakkaisuuden hallinta on kokeneellekin ohjelmoijalle vaikea asia Varovaisuus on siis paikallaan, ja lisäoppi on suotavaa, mutta kauhusta ei pidä kangistua

35 Helppo rinnakkaisuus

36 Rinnakkaiskokoelmat Lisää vain.par kokoelmatyypin perään tämän jälkeen kaikki kokoelmalle tehtävä laskenta suoritetaan automaattisesti rinnakkain [demo: matriisikertolasku rinnakkain, isoille matriiseille] (Huom: Lisäämällä.par otat ohjelmoijana vastuun, että kutakin kokoelman alkiota käsittelevä laskenta kaikkine sivuvaikutuksineen on riippumatonta muita kokoelman alkioita käsittelevästä laskennasta)

37 Mitä voidaan rinnakkaistaa?

38 Funktionaalinen, yksinkertaistettu suoritusmalli Laskenta on jono arvoja, jotka saadaan soveltamalla puhtaita funktioita jonon edeltäviin arvoihin

39 Riippumattomuus

40 ... koska arvot ovat toisistaan riippumattomia, laskenta voidaan rinnakkaistaa...

41 Esimerkki nk. SIMD-rinnakkaisuudesta ( Single Instruction, Multiple Data )

42 Riippuvuus

43 Mitä voidaan rinnakkaistaa? Riippumaton voidaan rinnakkaistaa, riippuvaista ei voida

44 Riippuvuuksien kartoittaminen (yksinkertaistetussa funktionaalisessa mallissa)

45 Riippuvuudet suunnattuna asyklisenä graafina ( DAG ) Oikealla oleva graafi esittää samaa laskentaa (funktioiden parametrien järjestystä vaille)

46 Sama graafi, oikealla piirrettynä yksi topologinen taso kerrallaan

47 Idea: Suoritetaan laskenta ahneesti ( opportunistisesti ), ts. jokaisen funktion laskenta aloitetaan heti ja riippumatta muusta käynnissä olevasta laskennasta (*) kun funktiolle annettavat arvot ovat käytettävissä *) mikäli käytännössä rinnakkaislaskentaresurssit vain riittävät!

48 Liitetään jokaiseen funktiokutsuun sen suoritusaika Havainto (*): Ahneella suorituksella 5 1 kokonaislaskenta-aika on laskentagraafin ajaltaan pisimmän suunnatun polun ( kriittisen polun **) vaatima laskenta-aika *) rajattomilla rinnakkaisresursseilla ja vailla viiveitä säikeitä käynnistettäessä, liitettäessä jne **) joita voi olla useita

49 Futuurit ja lupaukset Futuuri ( Future ) (olio, joka edustaa arvoa tai virhettä tulevaisuudessa kun futuuriin liittyvä laskenta valmistuu) Futuureilla on mahdollista laskea ennakkoon (vrt. ennen kuin arvot valmistuvat, on jo kerrottu mitä niille tehdään ) Lupaus ( Promise ) lupausabstraktio ( erikseen täydennettävä futuuri )

50 Futuurit ja lupaukset [demo]

51 Helppo rinnakkaisuus

52 Tehtävät parallel matriisikertolaskun rinnakkaistaminen rinnakkaiskokoelmilla (lisää vain.par ja johan nopeutuu, isoille matriiseille) futures futuuriabstraktio ( arvo tai virhe tulevaisuudessa kun asynkroninen suoritus valmistuu) futuureilla laskenta ennakkoon (vrt. ennen kuin arvot valmistuvat on jo kerrottu mitä niille tehdään ) mekaaninen funktioiden nostaminen tulevaisuuteen ( future-lifting / futurization ) ja tästä saatava tehokkuusetu promises lupausabstraktio ( erikseen täydennettävä futuuri ) työskentely futuureilla ja lupauksilla, lupausten täydentäminen futuureilla threads (haastetehtävä) säikeiden kanssa työskentelyä

53 Rinnakkaisnopeutuskerroin ja Amdahlin laki suoritusaika peräkkäissuorituksena suoritusaika rinnakkaisuutta hyväksikäyttäen

54 Amdahlin laki Peräkkäissuorituksen osuus muuten täysin rinnakkaistuvasta ongelmasta = 1 P, missä 0 P < 1 Rinnakkaisnopeutuskerroin on enintään 1/(1 P)

Uuden äärellä ohjelmoitava vai oppiva kone?

Uuden äärellä ohjelmoitava vai oppiva kone? 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Uuden äärellä ohjelmoitava vai oppiva kone? Petteri Kaski Tietotekniikan laitos Aalto-yliopisto CS-A1120 Ohjelmointi

Lisätiedot

Abstraktiot ja analyysi algoritmit ja informaation esitykset

Abstraktiot ja analyysi algoritmit ja informaation esitykset 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Abstraktiot ja analyysi algoritmit ja informaation esitykset Petteri Kaski Tietotekniikan laitos Aalto-yliopisto

Lisätiedot

Uuden äärellä ohjelmoitava vai oppiva kone?

Uuden äärellä ohjelmoitava vai oppiva kone? 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Uuden äärellä ohjelmoitava vai oppiva kone? Petteri Kaski Tietotekniikan laitos Aalto-yliopisto ICS-A1120 Ohjelmointi

Lisätiedot

ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2015)

ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2015) 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2015) Tommi Junttila & Petteri Kaski Tietotekniikan laitos Aalto-yliopisto!

Lisätiedot

Tietokoneen mysteeri ohjelmoitava kone

Tietokoneen mysteeri ohjelmoitava kone 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Tietokoneen mysteeri ohjelmoitava kone Petteri Kaski Tietotekniikan laitos Aalto-yliopisto ICS-A1120 Ohjelmointi

Lisätiedot

ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2016)

ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2016) 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 ICS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2016) Petteri Kaski Tietotekniikan laitos Aalto-yliopisto 22. helmikuuta

Lisätiedot

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat ehdottomia? 2012-2013 Lasse Lensu 2 Nykyiset tietokoneet

Lisätiedot

Tietokoneen mysteeri ohjelmoitava kone

Tietokoneen mysteeri ohjelmoitava kone Tämä luento poikkeuksellisesti salissa TU2, TUAS-talo, Maarintie 7 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Tietokoneen mysteeri ohjelmoitava kone Petteri

Lisätiedot

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat ehdottomia? 2013-2014 Lasse Lensu 2 Nykyiset tietokoneet

Lisätiedot

CS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2018)

CS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2018) 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 CS-A1120 Ohjelmointi 2 (5 op, IV V, kevät 2018) Petteri Kaski Tietotekniikan laitos Aalto-yliopisto 19. helmikuuta

Lisätiedot

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman

Lisätiedot

RINNAKKAINEN OHJELMOINTI A,

RINNAKKAINEN OHJELMOINTI A, RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

Lisätiedot

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli

Lisätiedot

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

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

Intel Threading Building Blocks

Intel Threading Building Blocks Intel Threading Building Blocks Markku Vajaranta Esko Pekkarinen TBB Pähkinänkuoressa C++ luokkamallinen rinnakkaisuus Abstrahoi rinnakkaisuutta korkean tason tehtävät (tasks) ja niiden skedulointi suuri

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

anna minun kertoa let me tell you

anna minun kertoa let me tell you anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 19: Rinnakkaisuus Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 24. 3. 2011 Sisältö 1 Säikeet 2 Lukot 3 Monitorit 4 Muuta säikeisiin

Lisätiedot

Efficiency change over time

Efficiency change over time Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Rinnakkaisuus Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 4. 2012 Sisältö 1 Rinnakkaisuusmalleja: säie ja prosessi 2

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

1. Liikkuvat määreet

1. Liikkuvat määreet 1. Liikkuvat määreet Väitelauseen perussanajärjestys: SPOTPA (subj. + pred. + obj. + tapa + paikka + aika) Suora sanajärjestys = subjekti on ennen predikaattia tekijä tekeminen Alasääntö 1: Liikkuvat määreet

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi 17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. START START SIT 1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. This is a static exercise. SIT STAND 2. SIT STAND. The

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio Päättääkö opettaja ohjelmasta? Vai voisivatko opiskelijat itse suunnitella

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Verkon värittämistä hajautetuilla algoritmeilla

Verkon värittämistä hajautetuilla algoritmeilla Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)

Lisätiedot

21~--~--~r--1~~--~--~~r--1~

21~--~--~r--1~~--~--~~r--1~ - K.Loberg FYSE420 DIGITAL ELECTRONICS 13.05.2011 1. Toteuta alla esitetyn sekvenssin tuottava asynkroninen pun. Anna heratefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine Information on Finnish Language Courses Spring Semester 2017 Jenni Laine 4.1.2017 KIELIKESKUS LANGUAGE CENTRE Puhutko suomea? Do you speak Finnish? -Hei! -Moi! -Mitä kuuluu? -Kiitos, hyvää. -Entä sinulle?

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

TW-LTE 4G/3G. USB-modeemi (USB 2.0) TW-LTE 4G/3G USB-modeemi (USB 2.0) Tiedonsiirtonopeus: 100 Mbps/50 Mbps LTE: 1800/2100/2600 MHz GSM/GPRS/EDGE: 850/900/1800/1900 MHz UMTS: 900/2100 MHz Pikaohje (Finnish) CE Käyttöönotto- ohje SIM- kortin

Lisätiedot

Results on the new polydrug use questions in the Finnish TDI data

Results on the new polydrug use questions in the Finnish TDI data Results on the new polydrug use questions in the Finnish TDI data Multi-drug use, polydrug use and problematic polydrug use Martta Forsell, Finnish Focal Point 28/09/2015 Martta Forsell 1 28/09/2015 Esityksen

Lisätiedot

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen

Lisätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia? Käyttöliittymät II Sari A. Laakso Käyttöliittymät I Kertaus peruskurssilta Keskeisin kälikurssilla opittu asia? 1 Käyttöliittymät II Kurssin sisältö Käli I Käyttötilanteita Käli II Käyttötilanteet selvitetään

Lisätiedot

Vertaispalaute. Vertaispalaute, /9

Vertaispalaute. Vertaispalaute, /9 Vertaispalaute Vertaispalaute, 18.3.2014 1/9 Mistä on kyse? opiskelijat antavat palautetta toistensa töistä palaute ei vaikuta arvosanaan (palautteen antaminen voi vaikuttaa) opiskelija on työskennellyt

Lisätiedot

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmät: poissulkeminen ja synkronointi Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Lisätiedot

HARJOITUS- PAKETTI A

HARJOITUS- PAKETTI A Logistiikka A35A00310 Tuotantotalouden perusteet HARJOITUS- PAKETTI A (6 pistettä) TUTA 19 Luento 3.Ennustaminen County General 1 piste The number of heart surgeries performed at County General Hospital

Lisätiedot

CALL TO ACTION! Jos aamiaistilaisuudessa esillä olleet aiheet kiinnostavat syvemminkin niin klikkaa alta lisää ja pyydä käymään!

CALL TO ACTION! Jos aamiaistilaisuudessa esillä olleet aiheet kiinnostavat syvemminkin niin klikkaa alta lisää ja pyydä käymään! CALL TO ACTION! Jos aamiaistilaisuudessa esillä olleet aiheet kiinnostavat syvemminkin niin klikkaa alta lisää ja pyydä käymään! Monikanavaisen viestinnän mittaaminen: https://www.vapamedia.fi/mittaaminen/

Lisätiedot

AYYE 9/ HOUSING POLICY

AYYE 9/ HOUSING POLICY AYYE 9/12 2.10.2012 HOUSING POLICY Mission for AYY Housing? What do we want to achieve by renting apartments? 1) How many apartments do we need? 2) What kind of apartments do we need? 3) To whom do we

Lisätiedot

Exercise 1. (session: )

Exercise 1. (session: ) EEN-E3001, FUNDAMENTALS IN INDUSTRIAL ENERGY ENGINEERING Exercise 1 (session: 24.1.2017) Problem 3 will be graded. The deadline for the return is on 31.1. at 12:00 am (before the exercise session). You

Lisätiedot

Rinnakkaisuus. Tarkastelemme, miten algoritmien suoritusta voi nopeuttaa käyttämällä useaa laskentayksikköä samanaikaisesti.

Rinnakkaisuus. Tarkastelemme, miten algoritmien suoritusta voi nopeuttaa käyttämällä useaa laskentayksikköä samanaikaisesti. Rinnakkaisuus Tarkastelemme, miten algoritmien suoritusta voi nopeuttaa käyttämällä useaa laskentayksikköä samanaikaisesti. Miksi rinnakkaisuus on tärkeää? Millaisia nopeutuksia rinnakkaistamalla ylipäänsä

Lisätiedot

EUROOPAN PARLAMENTTI

EUROOPAN PARLAMENTTI EUROOPAN PARLAMENTTI 2004 2009 Kansalaisvapauksien sekä oikeus- ja sisäasioiden valiokunta 2008/0101(CNS) 2.9.2008 TARKISTUKSET 9-12 Mietintöluonnos Luca Romagnoli (PE409.790v01-00) ehdotuksesta neuvoston

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

2_1----~--~r--1.~--~--~--,.~~

2_1----~--~r--1.~--~--~--,.~~ K.Loberg FYSE420 DIGITAL ELECTRONICS 3.06.2011 1. Toteuta alia esitetyn sekvenssin tuottava asynkroninen pun. Anna heditefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

Sisällysluettelo Table of contents

Sisällysluettelo Table of contents Sisällysluettelo Table of contents OTC:n Moodlen käyttöohje suomeksi... 1 Kirjautuminen Moodleen... 2 Ensimmäinen kirjautuminen Moodleen... 2 Salasanan vaihto... 2 Oma käyttäjäprofiili... 3 Työskentely

Lisätiedot

812315A Ohjelmiston rakentaminen. Asynkronisuus

812315A Ohjelmiston rakentaminen. Asynkronisuus 812315A Ohjelmiston rakentaminen. Asynkronisuus Ari Vesanen ari.vesanen (at) oulu.fi Yleistä moduulista Tällä kertaa sisältää Java-kielistä monisäieohjelmointia Suoritustapa: Neljästä ohjelmointitehtävästä

Lisätiedot

Rinnakkaisuuden hyväksikäyttö tietokonepeleissä

Rinnakkaisuuden hyväksikäyttö tietokonepeleissä Rinnakkaisuuden hyväksikäyttö tietokonepeleissä Paula Kemppi Helsinki 1.5.2008 Ohjelmistotuotanto ja tietokonepelit -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto 1

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

Lisätiedot

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed Online Meeting Guest Online Meeting for Guest Participant Lync Attendee Installation Online kokous vierailevalle osallistujalle Lync Attendee Asennus www.ruukki.com Overview Before you can join to Ruukki

Lisätiedot

The CCR Model and Production Correspondence

The CCR Model and Production Correspondence The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls

Lisätiedot

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka

Lisätiedot

VUOSI 2015 / YEAR 2015

VUOSI 2015 / YEAR 2015 VUOSI 2015 / YEAR 2015 Kansainvälisen opetuksen ja tutkimustoiminnan kehittäminen Developing international teaching and research activities Rehtorin strateginen rahoitus vuosille 2014-2016 / Strategic

Lisätiedot

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille? Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille? 10.10.01 Tuomo Suortti Ohjelman päällikkö Riina Antikainen Ohjelman koordinaattori 10/11/01 Tilaisuuden teema Kansainvälistymiseen

Lisätiedot

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine 4.1.2018 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Rekisteröiminen - FAQ

Rekisteröiminen - FAQ Rekisteröiminen - FAQ Miten Akun/laturin rekisteröiminen tehdään Akun/laturin rekisteröiminen tapahtuu samalla tavalla kuin nykyinen takuurekisteröityminen koneille. Nykyistä tietokantaa on muokattu niin,

Lisätiedot

Ajettavat luokat: SM: S1 (25 aika-ajon nopeinta)

Ajettavat luokat: SM: S1 (25 aika-ajon nopeinta) SUPERMOTO SM 2013 OULU Lisämääräys ja ohje Oulun Moottorikerho ry ja Oulun Formula K-125ry toivottaa SuperMoto kuljettajat osallistumaan SuperMoto SM 2013 Oulu osakilpailuun. Kilpailu ajetaan karting radalla

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

FIS IMATRAN KYLPYLÄHIIHDOT Team captains meeting

FIS IMATRAN KYLPYLÄHIIHDOT Team captains meeting FIS IMATRAN KYLPYLÄHIIHDOT 8.-9.12.2018 Team captains meeting 8.12.2018 Agenda 1 Opening of the meeting 2 Presence 3 Organizer s personell 4 Jury 5 Weather forecast 6 Composition of competitors startlists

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 3 521475S Rinnakkaiset Numeeriset Algoritmit Silmukattomat algoritmit Eivät sisällä silmukka lauseita kuten DO,FOR tai WHILE Nopea suorittaa Yleisimmässä muodossa koostuu peräkkäisistä

Lisätiedot

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi Ideasta projektiksi - kumppanuushankkeen suunnittelun lähtökohdat Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi Erasmus+ -ohjelman hakuneuvonta ammatillisen koulutuksen kumppanuushanketta

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen

Lisätiedot

Tilanne sekä MS-A0003/4* Matriisilaskenta 5 op

Tilanne sekä MS-A0003/4* Matriisilaskenta 5 op MATEMATIIKKA Mat-1.1210 Matematiikan peruskurssi S1 ei järjestetä enää MS-A0103/4* Differentiaali- ja integraalilaskenta I 5 op sekä MS-A0003/4* Matriisilaskenta 5 op Mat-1.1110 Matematiikan peruskurssi

Lisätiedot

Numeriikan kirjastoja

Numeriikan kirjastoja Numeriikan kirjastoja + Säästää aikaa, hikeä ja kyyneleitä + Aliohjelmat testattuja ja luotettavia + Tehokkuus optimoitu - Ei aina sovellu kovin hyvin omaan tehtävään - Kaupallisista kirjastoista ei saa

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 4 521475S Rinnakkaiset ei-numeeriset algoritmit: transitiivisulkeuma (transitive closure) Oletetaan suunnattu graafi G = (V,E) ja halutaan tietää onko olemassa kahta pistettä

Lisätiedot

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi Network to Get Work Tehtäviä opiskelijoille Assignments for students www.laurea.fi Ohje henkilöstölle Instructions for Staff Seuraavassa on esitetty joukko tehtäviä, joista voit valita opiskelijaryhmällesi

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 2 521475S Tietokonealgoritmien rinnakkaisuuden analysointi Algoritmi on proseduuri, joka koostuu äärellisestä joukosta yksiselitteisiä sääntöjä jotka muodostavat operaatiosekvenssin,

Lisätiedot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:

Lisätiedot

Laundry Center. Radiotaajuuslinkki pesukoneen ja kuivausrummun välillä

Laundry Center. Radiotaajuuslinkki pesukoneen ja kuivausrummun välillä Laundry Center Radiotaajuuslinkki pesukoneen ja kuivausrummun välillä Johdanto Monissa maissa käytettävissä oleva kokonaissähköteho on rajoitettu käytettäessä kahta kodinkonetta yhtä aikaa: -Kokonaisteho

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto Serve Research Brunch 24.10.2013 Esityksen sisältö ATLAS-hanke lyhyesti ATLAS-kartan kehittäminen:

Lisätiedot

SIMULINK S-funktiot. SIMULINK S-funktiot

SIMULINK S-funktiot. SIMULINK S-funktiot S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita. Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku 24.8.2017 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve terve!

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland Anne Mari Juppo, Nina Katajavuori University of Helsinki Faculty of Pharmacy 23.7.2012 1 Background Pedagogic research

Lisätiedot

Tampereen kansainvälinen koulu, FISTA

Tampereen kansainvälinen koulu, FISTA HARRASTAVA ILTAPÄIVÄTOIMINTA Tampereen kansainvälinen koulu, FISTA lv. 2018-2019 Tampereen kaupungin Harrastava iltapäivä (HIP) - kerhot toimivat syksyllä 3.9. - 7.12.2018 ja keväällä 7.1. - 10.5.2019.

Lisätiedot

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto If you are searched for a book by Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice over LTE (VoLTE) in pdf form, then you have come

Lisätiedot

Information on preparing Presentation

Information on preparing Presentation Information on preparing Presentation Seminar on big data management Lecturer: Spring 2017 20.1.2017 1 Agenda Hints and tips on giving a good presentation Watch two videos and discussion 22.1.2017 2 Goals

Lisätiedot