Rinnakkaistietokoneet luento S

Koko: px
Aloita esitys sivulta:

Download "Rinnakkaistietokoneet luento 1 521475S"

Transkriptio

1 Rinnakkaistietokoneet luento S

2 Yleistä Luennnoitsija: Janne Haverinen huone: TS349 s-posti: puh: Assistentti: Jarno Haapamäki huone: TS354 s-posti: puh:

3 Yleistä (jatkuu) Luennot: ma. klo (TS101) ti. klo (TS101) Laskuharjoitukset: to. klo (TS101) Kurssikirja: Dan I. Moldovan (1993), Parallel Processing: From Applications to System. Patterson D., Hennessy J. (1996), Computer Architecture: A Quantitative Approach.

4 Yleistä (jatkuu) Kotisivu: /

5 Von Neumann malli (kts kuva 1.1) Von Neuman malli on hallinnut tietokonearkkitehtuureita yli 40 vuoden ajan: Yksi laskentayksikkö (CPU), joka on kommunikoi erillisen muistin kanssa väylän kautta Lineaarinen muisti jossa kiinteän kokoiset muistisolut lineaarinen muistimalli olettaa, että peräkkäiset käskyt ja dataelementit ovat peräkkäisissä muistiosoitteissa Konekielikäskyt, jotka suorittavat yksinkertaisia operaatioita data operandeille. Sekventiaalinen laskenta ja keskitetty ohjaus (CPU Central Processing Unit)

6 Kuva 1.1: von Neuman malli

7 Sekventiaalinen ja keskitetty laskenta on helppo toteuttaa ja laskennan eteneminen on helppo ymmärtää. Algoritmien toteutus on helppoa voidaan simuloida myös rinnakkaisia prosesseja, esimerkkinä soluautomaatit. Prosessorin ja muistin välinen tiedonsiirto on selkeästi määritetty: yksi osoitus vuorollaan. Sama korkeantason kielellä kirjoitettu ohjelma voidaan kääntää ja ajaa monella eri arkkitehtuurilla: laskennan perusperiaatteet ovat laitteiston organisaatoista riippumatta samat

8 RAM-malli (kts. kuva 1.2) Perinteinen yksiprosessorijärjestelmä voidaan ajatella satunnaisosoitus koneena (random-access machine) eli lyhyesti RAM. RAM malli on teoreettinen malli, jota voidaan hyödyntää algoritmin kehityksessä ja kompleksisuustutkimuksessa Tarjoaa lähtökohdan teoreettisille rinnakkaismalleille

9 Kuva 1.2: RAM malli

10 RAM-malli koostuu ohjelmasta, muistista, lukunauhasta (read-only tape) ja kirjoitusnauhasta Ohjelma koostuu sekventiaalisista käskyistä jotka haetaan muistista ohjelmalaskurin (PC) osoittamasta paikasta Ohjelma prosessoi syötenauhan symbooleja (yksi kerrallaan) ja tuottaa symbooleja tulostenauhalle. Sopivalla ohjelmalla ja syötesymbooleilla voidaan laskea mikä tahansa funktio: vastaus tulkitaan tulostenauhasta ohjelman lopetettua laskenna. Muistuttaa paljon Turingin konetta.

11 Pääasialliset keinot laajennettaessa von Neumann arkkitehtuuria kohti rinnakkaisarkkitehtuureita ovat: käskyjen likuhihnoitus vektoriprosessointi taulukkoprosessorit (SIMD) moniprosessoriarkkitehtuurit

12 Liukuhihnoitus Toiminto jaetaan eri alitoimintoihin jotka suoritetaan rinnakkaisissa vaiheissa (pipe stages) käskytason rinnakkaisuus (kuva 1.3a) Käskyn suorituksen eri vaiheet pyritään rinnakkaistamaan ALU-tason rinnakkaisuus (kuva 1.3b) ALU operaation (esim. liukulukujen kertolasku) eri vaiheet pyritään suorittamaan rinnakkain

13 Kuva 1.3:

14 Vektoriprosessorit Vektoriprosessorit prosessoivat tietoa vektori muodossa (kuva 1.4): operandit ovat vektoreita voidaan toteuttaa käyttämällä vektorin koon verran skalaari-aluja Tekee kovosta monimutkaiset liukuhihnoitus parempi ratkaisu Rinnakkaisia laskutoimituksia paljon (vektorin elementit) Ideaalinen tilanne liukuhihnalle: ei data riippuvuuksia joten data-hasardit harvinaisia Voidaan käyttä useita ALUja (< vektorin koko) Yksiprosessorijärjestelmään voidaan liittää vektoriapuprosessori tukemaan vektorilaskentaa

15 Kuva 1.4: vektoriprosessori

16 Taulukkoprosessorit Taulukkoprosessorissa (kuva 1.5) on useita erillisiä laskentayksiköitä, jotka voivat tehdä saman operaation yht aikaa niiden omalle datalle omasta muistista Keskusyksikkö synkronoi kaikki ALUt kontrollisignaalien avulla Sama käsky operoi useilla eri operandilla: SIMD (single instruction multiple data) tietokone Data-rinnakkainen (data parallel) malli

17 Kuva 1.5: taulukkoprosessoriarkkitehtuuri

18 Jaetun muistin moniprosessorit Useita keskusyksiköitä joilla oma ALU ja paikallinen muisti (LM) (kuva 1.6) Prosessorit kommunikoivat käyttäen: jaettua muistia (shared memory) (kuva 1.6), tai viestin välitystä (message passing), joka voidaan toteuttaa käyttäen erillistä tiedonsiirtolinkkiä (esim. sarjamuotoinen) Jokaisella prosessorilla on oma käskyvirta, joka sijaitsee paikallisessa tai jaetussa muistissa Moniprosessori järjestelmä on asynkrooninen arkkitehtuuri

19 Kuva 1.6: moniprosessoriorganisaatio

20 PRAM-malli PRAM-malli eli rinnakainen satunnaisosoituskone (parallel randomaccess machine) malli (kuva 1.7) Abstrahoi jaetun muistin moniprosessorijärjestelmän samalla tavalla kuin RAM malli yksiprosessorijärjestelmän

21 Kuva 1.7: PRAM malli

22 PRAM malli koostuu: p kpl ohjelmia p akkumulaattoria, yksi jokaiselle ohjelmalle jaettu muisti jota voidaan osoittaa jokaisesta ohjelmasta lukunauha ja kirjoitusnauha Jokainen ohjelma on eri ja kaikki käskyt vievät saman ajan Kommunikointi viive on 0

23 Muistinosoitus mahdollisuudet mallissa: EREW (exclusive read, exclusive write) ohjelmat eivät voi saman aikaisesti osoittaa samaa muistisolua ERCW (exclusive read, concurrent write) ohjelmat voivat kirjoittaa saman muistisolun yht aikaa CREW (concurrent read, concurrent write) ohjelmat voivat lukea saman muistisolun yht aikaa CRCW (concurrent read, concurrent write) ohjelmat voivat lukea ja/tai kirjoittaa solun yht aikaa

24 PRAM-malli on hyödyllinen, kun suunnitellaan rinnakkaisalgoritmeja jaetun muistin moniprosessorijärjestelmille ja tutkittaessa algoritmien ominaisuuksia

25 Viestinvälitysmoniprosessorijärjestelmä Useita keskusyksiköitä joilla oma ohjelma- ja datamuisti Tiedonvälitys prosessorien välillä tapahtuu käyttämällä erityistä tiedonsiirtoverkkoa Tietokoneverkko (esim. internet) voidaan ajatella viestinvälitysmoniprosessori arkkitehtuuriksi

26 Kuva 1.8: viestinvälitysmoniprosessorijärjestelmä

27 Muita von Neumann mallin laajennuksia Systoliset prosessorit Datavuo prosessorit Logiikka-päättely mallit (deduktio/induktio mallit) Reduktiomallit (vaatimuslähtöinen, demand driven) Neuroverkot

28 Systolinen laskenta (kts. kuva 1.9) Systoliset taulukot ovat likuhihnoitettuja taulukkoprosessoreita koostuen samanlaisista soluista (kuva 1.10), jotka suorittavat yksinkertaisia operaatioita Tieto liikkuu solusta toiseen missä arvo päivitetään huomioiden edellisen solun laskema tulos Lopulta vastaus saadaan viimeisestä solusta Rinnakkaisuus saavutetaan, koska solut suorittavat operaatioita samanaikaisesti

29 Kuva 1.9 (ja 1.10): matriisin ja vektorin kertolasku systoolisella prosessorilla

30 Datavuolaskenta (dataflow computation) Datavuomallissa laskenta tapahtuu heti, kun operandit ovat saatavilla Ohjelmalaskuria ei tarvita: laskenta etenee vuon tavoin operaatiosta toiseen Operaatin tulos siirtyy seuraavan, tuloksesta riippuva, operaation operandiksi Datavuota voidaan kuvata käyttämällä datavuoverkkoa (kuva 1.11), joka koostuu solmuista (node) tai toimijoista (actor) reunoista (edges, arcs), jotka yhdistävät solmuja

31 Yksi tapa suorittaa datavuoverkko on laukaista toimija vain, kun data on saapunut reunoja pitkin toimijan operandeiksi.

32 Kuva 1.11: datavuolaskentaesimerkki

33 Rinnakkaisuuden tasot Työtaso (job level) esim. monirobottijärjestelmä voi tehdä rakennuksen vartiointia rinnakkaisesti Tehtävätaso (task level) esim. yksittäinen robotti voi suorittaa rinnakkain liikkeen havainnointia, etäisyyden mittausta ja moottorien ohjausta: työ on jaettu useaan tehtävään, jotka voidaan rinnakkaistaa

34 Prosessitaso (kts. kuva 1.12) jokainen tehtävä voidaan jakaa useaksi prosessiksi (monella tavalla) esim. robotin liikkuessa mitataan rinnakkain nopeutta ja suoritetaan ajomoottoreiden säätöä nopeuden perusteella Muuttujataso (kuva 1.13) prosessi voi koostua useista käskyistä (laskutoimituksista), jotka tuottavat muutujien arvoja: useita muuttujia voidaan laskea rinnakkain

35 Bittitaso (bit level) useimmat tietokoneet suorittavat binääriaritmetiikaa useampi bittisillä luvuilla: rinnakkaisuus saavutetaan operoimalla samanaikaisesti useaa bittiä, jotka muodostavat binääriluvun esim. binäärilukujen yhteenlasku

36 Kuva 1.12: prosessitason rinnakkaisuus

37 Kuva 1.13: muuttujatason rinnakkaisuus

38 Rinnakkaislaskenna sovellutukset Sään ennustaminen simuloidaan ilmakehän ilmiöitä lähtien tietystä alkutilanteesta, joka on muodostettu tehtyjen mittausten perusteella epälineaaristen vuorovaikutusten laskenta resoluutio vaikuttaa ennusteen tarkkuuteen: pyritään parantamaan rinnakkaislaskennalla

39 Tekniikka esim. numeeriset menetelmät ja simulointi: lujuuslaskelman nesteen virtausmallit aerodynamiikka Materiaalitekniikka, esim: sähköiset ilmiöt puolijohteissa kiderakenteiden muodostuminen

40 Fysiikka esim. simulointi: alkuräjähdys, taivaankappaleiden liikkeiden ennustaminen Taloustiede esim. osakemarkkinoiden ennustaminen Tekoäly esim. koneoppiminen, neurolaskenta, kuvankäsittely, päätöksentekoprosessit, puheen tunnistaminen, tehtyjen mittausten nopea (=reaaliaikainen) analysointi yleensä

41 Rinnakkaisalgoritmien ja arkkitehtuurien suhde Rinnakkainen algoritmi voidaan ajatella koostuvan joukosta itsenäisiä tehtäviä (moduleita), joista osa voidaan suorittaa samanaikaisesti Modulit kommunikoivat algoritmin suorituksen aikana Koska algoritmit suoritetaan rinnakaislaskenta laitteistolla, on luonnollista miettiä algoritmin ja laitteiston suhdetta: auttaa suunnittelemaan tehokkaita rinnakkaislaskentajärjestelmiä

42 Rinnakkaisalgoritmi voidaan luonnehtia käyttäen seuraavia kriteereitä: 1. moduulin rakeisuus (module granularity) Laskennan määrä tyypillisessä modulissa Suuri rakeisuus: monimutkaisemman prosessorit vähän kommunikointia Pieni rakeisuus: yksinkertaiset prosessorit paljon kommunikointia Paras tulos saavutetaan tekemällä kompromissi rakeisuuden ja kommunikaatiomäärän välillä laskenta tehokkuuden maksimoimiseksi

43 2. Samanaikaisuuden kontrollointi (concurrence control) tapa jolla valitaan suoritettavat modulit kullakin ajan hetkellä ottaa huomioon data- ja kontrolliriippuvuudet siten, että algoritmin suoritus on oikeellinen Mahdollisia kontrollitapoja: datavuo (data-flow) esim. algoritmit, joissa ehdollisia tilansiirtymiä, tilakoneet, epäsäännölliset algoritmit keskuskontrolli (synchronized) esim. matriisien kertolasku, säännölliset algoritmit systoliset- ja taulukkoprosessorit vaatimuslähtöinen (demand-driven) esim. logiikka/päättely algoritmit, päätöksenteko algoritmit

44 3. Tietomekanismi (data mechanism) viittaa operandien käyttämiseen ohjataanko suoraan tarvitsevalle operaatiolle (data-flow malli) vai kirjoitetaanko muistiin, johon tarvittaessa viitataan osoitteella (von Neumann malli) tiedon hakemiseksi (tiedon tarvitsija hoitaa itse operandin haun muistista) 4. Tiedonsiirtogeometria (communication geometry) viittaa tiedonsiirtoyhteyksiin laskennallisten moduleitten välillä algoritmin tiedonsiirtogeometrian sanotaan olevan säännöllinen, kun tiedonsiirrot moduleiden välillä toistuvat samanlaisina läpi laskennan ( ensin tämä kommunikoi tuon kanssa ja sitten tuon, sen jälkeen tämä tuon.. ) tiedonsiirtogeometria on epäsäännöllinen, jos tiedonsiirrot moduleiden välillä ovat satunnaisia (ei säännöllistä kuviota: tuo kommunikoi joskus tuon ja silloin tällöin tuon ja ehkäpä myös tuon kanssa.. ) Säännölliset tiedonsiirtoyhteydet voivat muistuttaa puurakennetta, kuutioita tai muita luonnossa esiintyviä rakenteita (modulit ovat solmuja ja yhteyden niiden välisiä reunoja)

45 5. Algoritmin koko viittaa laskutoimitusten määrään jonka algoritmin täytyy suorittaa Voi olla pieni, keskikokoinen tai suuri 1000 x 1000 matriisin laskemista voidaan pitää suurena tehtävänä Algoritmin koko vaikuttaa prosessorien määrään ja vaadittavan muistin määrään

46 Rinnakkaistietokonearkkitehtuureita voidaan luonnehtia käyttäen seuraavia kriteereitä: 1. Prosessorin kompleksisuus viittaa käytettävän prosessorin (tai useiden) laskentatehoon ja sisäiseen organisaatioon Homogeeninen järjestelmä koostuu useista samanlaisista prosessoreista ja heterogeeninen järjestelmä erilaisista prosessoreista joilla voi olla eri tehtäviä esim. systolisissa prosessoreissa solut ovat yksinkertaisia ja dataa prosessoidaan eikä tallenneta esim. moniprosessorijärjestelmissä jokaisella prosessorilla on oman muistinhallinta, välimuisti, jne. Suurirakeisissa arkkitehtuureissa on muutama tehokas prosessori ja pienirakeisissa monia yksinkertaisia prosessoreita (esim. Connection Machine: )

47 2. Toimintatila (mode of operation) käskyvuo (command-flow) ohjelmakäskyt laukaisevat laskentatapahtumat datavuo (data-flow) operaatiot laukaistaa heti, kun operandit ovat käytössä vaatimusvuo (demand-flow) laskentaoperaatio käynnistyy vain, jos joku tarvitsee sen tulosta Eri toimintatilojen yhdistelmät ovat mahdollisia Arkkitehtuurin toimintatila liittyy algoritmin samanaikaisuuden kontrollointiin

48 3. Muistirakenne (memory structure) Muisti voi olla RAM tyyppistä, osoitteella osoitettavaa tai assosiatiivista, jolloin muistista haetaan tietoa osan tiedosta toimiessa hakuehtona Neuroverkoissa muistina toimivat neuroneiden väliset painokertoimet, jotka edustavat järjestelmään tallennettua tietoa (knowledge) 4. Yhteysverkko (interconnection network) laitteistotason yhteydet prosessoreiden ja prosessoreiden ja muistien välillä Mahdollisimman yhteensopiva algoritmin tiedonsiirtogeometrian kanssa maksimaalisen suorituskyvyn saavuttamiseksi kompleksinen yhteysverkko soveltuu moniin algoritmeihin mutta on kallis toteuttaa ja pidentää kytkentäaikoja tiedon reitityksen monimutkaistuessa

49 5. Prosessoreiden lukumäärä ja muistin koko Pienillä järjestelmillä prosessoreiden määrä on Keskisuurilla ja suurilla yli 1000 (kirjan määritelmä) Prosessoreiden määrän kasvattaminen lisää suorituskykyä: ideaalitilanteessa prosessoreiden määrä vastaa algoritmin kokoa jolloin ei vaadita algoritmin pilkkomista

50 Rinnakkaislaskennan suorituskyky Kuinka rinnakkaistietokoneita voisi hyödyntää mahdollisimman tehokkaasti useilla eri sovellutusalueilla? On arvioitu, että supertietokoneet käyttä keskimäärin vain 10% niiden huippulaskentatehopotentiaalista Kuitenkin juuri laskentateho on syy miksi supertietokoneita tehdään ja käytetään

51 Laskentatehoa laskee sovelluksen (ratkaistava ongelman), ohjelmiston (algoritmitoteutuksen) ja laitteiston yhteensopimattomuudet Pääkohdat jotka johtavat suorituskyvyn laskemiseen: ongelma: rinnakkaisuuden aste algoritmi: kuinka ongelma ratkaistaan ohjelmointikieli ja kääntäjä: kuinka algoritmi kuvataan prosessorille, pystytäänkö kuvaamaa rinnakkaisuutta? käyttöjärjestelmä: algoritmin suoritus laitteistolla, laskenta resurssien jakaminen Laitteisto: tiedonsiirtoverkko, prosessorin/muistin nopeus, prossessoreiden määrä, muistihierarkia (tukevatko rinnakkaisuutta?)

52 Sovellutusten kuvaaminen rinnakkaistietokoneille ja rinnakkaisprosessoreiden tasapainottaminen eri sovellutuksille on vaikea ongelma ja ymmärtämys tällä alueella on vielä heikkoa (aivot näyttävät ratkaisseen nämä ongelmat) Suorituskyvyn määrittämistä tarvitaan: uusien koneiden evaluointi niiden tullessa markkinoille tietoa algoritmien ja arkkitehtuurien yhteensovittamiseksi ja sitä kautta koneiden laskentatehon tehokkaampi hyödyntämienen tiedon kerääminen uusien koneiden suunnittelun tueksi

53 Suorituskyvyn määrittämistä voidaan lähestyä: analyyttisesti usein liikaa yksinkertaistuksia, joka johtaa mallien epäonnistumiseen: ei kuvaa todellista tilannetta Kompleksisissa järjestelmissä analyyttiset malli pystyvät harvoin kuvaamaan järjestelmäkokonaisuuden suorituskykyä kokeellisesti, mittaamalla ja analysoimalla tällä hetkellä ainoa tapa saada luotettavaa tietoa rinnakkaistietokoneen suorituskyvystä useita mittauksia ohjelmistosta ja laitteistosta monilla eri sovellutusohjelmilla mittapuut (benchmarks) eivät anna tietoa siitä, kuinka arkkitehtuuria, laitteistoa ja algoritmeja säädetään parhaan suorituskyvyn saavuttamiseksi: halutaan tietoa miksi järjestelmän suorituskyky on mitä on ja kuinka sitä parannetaan

54 Suorituskyvyn mittareita Suoritustahti (execution rate) MIPS (miljoonaa käskyä sekunnissa) MFLOPS (miljoonaa likulukukäskyä sekunnissa) LIPS (loogista päättelyä sekunnissa) Nopeutus, Sp (speedup) Sp = T1/Tp, missä T1 suoritusaika yksiprosessorijärjestelmällä ja Tp suoritusaika moniprosessori järjestelmällä (p prosessoria), eli T1 on sekventiaalinen prosessointiaika ja Tp on rinnakkainen prosessointiaika Mitä suurempi Sp on sitä enemmän rinnakkaislaskenta nopeuttaa laskentaa (olettaen, että sekventiaalinen algoritmi on lähes optimaalinen kuvattuun ongelmaan) 1 Sp p

55 Tehokkuus, Ep (efficiency) Nopeutuksen ja prosessoreiden määrän suhde (ideaalitilanteessa 1): Ep = Sp / p = T1/pTp Mittaa laskennan hinta-tehokkuutta: kuinka hyvin prosessoreiden lukumäärä (vaikuttaa hintaan) on saatu siirrettyä laskentatehokkuudeksi (nopetus yksiprosessorijärjestelmään verrattuna) Redudanttisuus, Rp Rinnakkaislaskennassa käytettyjen operaatioiden määrän suhde yksiprosessorijärjestelmässä käytettyjen operaatioiden määrään: Rp = Op/O1

56 Hyödynnettävyys, Up (utilization) Rinnakkaislaskennassa käytettyjen operaatioiden määrän suhde opeeraatioiden määrän teoreettiseen minimiin: Up = Op / ptp Olettaa, että joka aikayksikössä voidaan suorittaa yksi operaatio jokaisessa p prosessorissa

57 Rinnakkaislaskennan rajat [Worlton 1968] on esittänyt mallin, jolla voidaan arvioida moniprosessorijärjestelmän toimintaa. Määritellään seuraavat muuttujat: ts = synkrontiaika t = keskimääräinen tehtävän suoritusaika t0 = tehtävään liittyvä rinnakkaislaskentalisä (overhead) N = tehtävien määrä synkronointitapahtumien välissä P = prosessoreiden lukumäärä

58 N tehtävän sekventiaalinen laskenta kestää: T1 = Nt Rinnakkaistietokoneessa laskenta kestää: TN,P = ts + [N/P](t+t0), missä [N/P] on vaatittavien rinnakkaisten askelten määrä (pyöristetty lähimpään suurempaan kokonaislukuun, eli [N/P] = ceil(n/p) ) Nopeutus: SN,P = T1 / TN,P = Nt / (ts + [N/P](t+t0) ) = 1 / ( ts/(nt) + (1/N)[N/P](1+t0/t) ) Nopeutus voidaan maksimoida minimoimalla nimittäjä, eli minimoimalla synkronoinnin vaikutus, rinnakkaistamisesta aiheutuva aikalisä ja rinnakkaisaskelten määrä

59 Synkronoinnin vaikutusta (ts/nt) voidaan pienentää pienentämällä synkronointiaikaa ts tai suorittamalla enemmän tehtäviä synkronointien välillä (suurempi N) Rinnakkaistamislisäaikaa (overhead) voidaan pienentään pienentämällä t0:aa tai kasvattamalla sovelluksen rakeisuutta (t kasvaa, enemmän laskentaa / tehtävä, vähemmän tehtäviä): vähentää myös syknronoinnin vaikutusta (N ja t pienenevät) Laskenta-askelten määrää voidaan vähentää käyttämällä enemmän prosessoreita

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

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

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

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

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

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

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

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja. IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone

Lisätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949. Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

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

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

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 Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan

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

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

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 Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

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

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

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

LIITE. asiakirjaan. komission delegoitu asetus

LIITE. asiakirjaan. komission delegoitu asetus EUROOPAN KOMISSIO Bryssel 12.10.2015 C(2015) 6823 final ANNEX 1 PART 6/11 LIITE asiakirjaan komission delegoitu asetus kaksikäyttötuotteiden vientiä, siirtoa, välitystä ja kauttakulkua koskevan yhteisön

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Tietokonejärjestelmä Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.

Lisätiedot

Algoritmit 2. Luento 1 Ti Timo Männikkö

Algoritmit 2. Luento 1 Ti Timo Männikkö Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

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

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

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

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

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

1. Keskusyksikön rakenne

1. Keskusyksikön rakenne 1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.

Lisätiedot

Tietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori

Tietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori kevät 2004 TP02S-D Tietokoneen rakenne: Harjoitustyö Motorola MC68030 -prosessori Työn valvojat: Seppo Haltsonen Pasi Lankinen RAPORTTI 13.5.2004 Sisällysluettelo sivu Tiivistelmä... 1 Lohkokaavio... 2

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

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

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet SISÄLLYS 1 2 3 4 Tietokoneen toimintaperiaate ja käyttö 14 1.1 Mikä tietokone on? 14 1.2 Tieteen ja toimiston koneista yleistietokoneeseen 15 1.3 Mekaanisista ja sähköisistä laitteista sulautettuihin tietokoneisiin

Lisätiedot

Käyttöjärjestelmän rakenne

Käyttöjärjestelmän rakenne Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa

Lisätiedot

Juha Merikoski. Jyväskylän yliopiston Fysiikan laitos Kevät 2009

Juha Merikoski. Jyväskylän yliopiston Fysiikan laitos Kevät 2009 FYSP120 FYSIIKAN NUMEERISET MENETELMÄT Juha Merikoski Jyväskylän yliopiston Fysiikan laitos Kevät 2009 1 Kurssin sisältö JOHDANTOA, KÄSITTEITÄ, VÄLINEITÄ [1A] Laskennallista fysiikkaa [1B] Matlabin alkeita

Lisätiedot

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007 Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden

Lisätiedot

Pikaintro käyttöjärjestelmiin

Pikaintro käyttöjärjestelmiin Tietotekniikan laitos Jyväskylän yliopisto TIES406 Tietotekniikan opintojen aktivointi, luento 17.8.2011 Outline Tietokonelaitteisto 1 Tietokonelaitteisto 2 3 4 Outline Tietokonelaitteisto 1 Tietokonelaitteisto

Lisätiedot

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Tekoäly muuttaa arvoketjuja

Tekoäly muuttaa arvoketjuja Tekoäly muuttaa arvoketjuja Näin kartoitat tekoälyn mahdollisuuksia projektissasi Harri Puolitaival Harri Puolitaival Diplomi-insinööri ja yrittäjä Terveysteknologia-alan start-up: Likelle - lämpötilaherkkien

Lisätiedot

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta

Lisätiedot

Kombinatorisen logiikan laitteet

Kombinatorisen logiikan laitteet Kombinatorisen logiikan laitteet Kombinatorinen logiikka tarkoittaa logiikkaa, jossa signaali kulkee suoraan sisääntuloista ulostuloon Sekventiaalisessa logiikassa myös aiemmat syötteet vaikuttavat ulostuloon

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen

Intel Pentium Pro -prosessori. tietokonearkkitehtuurit, syksy -96 Ari Rantanen Intel Pentium Pro -prosessori tietokonearkkitehtuurit, syksy -96 Ari Rantanen Tarkasteltavat aiheet Katsaus Pentium Pro:n ominaisuuksiin Käskyn suoritus Pentium Pro:n liukuhihnalla Pentium Pro:n suorituskyky

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit 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 Käyttöjärjestelmä

Lisätiedot

Ohjelmasuoritusmalli ja sen käyttö

Ohjelmasuoritusmalli ja sen käyttö Ohjelmasuoritusmalli ja sen käyttö Luento 3 58153003 Ohjelmistojen suorituskyky 1 Skenaarioiden suorituksen kuvaaminen OHJELMASUORITUSMALLI SOFTWARE EXECUTION MODEL 58153003 Ohjelmistojen suorituskyky

Lisätiedot

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0-1 Tietokoneen rakenne Asema opetuksessa u 1999 HajaTilin pakollinen,

Lisätiedot

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja

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

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0-1 Tietokoneen rakenne Asema opetuksessa u 1999 HajaTilin pakollinen,

Lisätiedot

Integrointialgoritmit molekyylidynamiikassa

Integrointialgoritmit molekyylidynamiikassa Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin

Lisätiedot

TK081001 Palvelinympäristö

TK081001 Palvelinympäristö TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! RAID RAID = Redundant Array of Independent Disks Useasta fyysisestä kiintolevystä muodostetaan yhteinen

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut

Lisätiedot

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita. Mikä on tietokone PUNOMO NETWORKS OY 22.7.2016 pva, piirroskuvat J. Mansikkaviita Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Tietokone on elektroninen

Lisätiedot

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}. 42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

Lisätiedot

AB TEKNILLINEN KORKEAKOULU

AB TEKNILLINEN KORKEAKOULU AB TEKNILLINEN KORKEAKOULU Tietoverkkolaboratorio S-38.145 Liikenneteorian perusteet (2 ov) Kevät 2002 Samuli Aalto Tietoverkkolaboratorio Teknillinen korkeakoulu samuli.aalto@hut.fi http://keskus.hut.fi/opetus/s38145/

Lisätiedot

ABTEKNILLINEN KORKEAKOULU Tietoverkkolaboratorio

ABTEKNILLINEN KORKEAKOULU Tietoverkkolaboratorio ABTEKNILLINEN KORKEAKOULU Tietoverkkolaboratorio S-38.145 Liikenneteorian perusteet (2 ov) Kevät 2002 Samuli Aalto Tietoverkkolaboratorio Teknillinen korkeakoulu samuli.aalto@hut.fi http://keskus.hut.fi/opetus/s38145/

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

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out Digitaalitekniikan matematiikka Luku ivu (2).9.2 Fe C = Aseta Aseta i i = n i > i i i Ei i < i i i Ei i i = Ei i i = i i -- On On On C in > < = CI CO C out -- = + (-) (-) = + = C + Digitaalitekniikan matematiikka

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

GPU-laskennan optimointi

GPU-laskennan optimointi Jari Isohanni GPU-laskennan optimointi Tietotekniikan pro gradu tutkielma Mobiilijärjestelmät 16. marraskuuta 2013 Jyväskylän yliopisto Tietotekniikan laitos Kokkolan yliopistokeskus Chydenius Tekijä:

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

Turingin koneen laajennuksia

Turingin koneen laajennuksia Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k

Lisätiedot

AB TEKNILLINEN KORKEAKOULU

AB TEKNILLINEN KORKEAKOULU AB TEKNILLINEN KORKEAKOULU Tietoverkkolaboratorio S-38.145 Liikenneteorian perusteet (2 ov) Kevät 2001 Samuli Aalto Tietoverkkolaboratorio Teknillinen korkeakoulu samuli.aalto@hut.fi http://keskus.hut.fi/opetus/s38145/

Lisätiedot

Moderneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia

Moderneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia 1 Datan rinnakkaistamisessa siis eri prosessointiyksiköt suorittavat saman operaation annetulle datalle, joka pilkotaan prosessointiyksikköjen kesken. Pointti on siis se, että kyseessä ei ole tehtävien

Lisätiedot

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos TIES325 Tietokonejärjestelmä Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos Kevät 2008 Luku 1 Tietokone abstraktina yksikkönä Tietokoneen asbtratiotasoa sen muotoisena kuin me sen tällä hetkellä

Lisätiedot

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu

Lisätiedot

3. Laskennan vaativuusteoriaa

3. Laskennan vaativuusteoriaa 3. Laskennan vaativuusteoriaa tähän asti puhuttu siitä, mitä on mahdollista laskea äärellisessä ajassa siirrytään tarkastelemaan laskemista kohtuullisessa ajassa vaihtoehtoisesti voidaan laskenta-ajan

Lisätiedot

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA Tavallisimmin lukuja käsittelevien datasanojen tyypiksi kannattaa asettaa kokonaisluku 16 bitin INT, jonka vaihtelualueeksi tulee

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

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus Versio: 28.2.2013 Julkaistu: 28.2.2013 Voimassaoloaika: toistaiseksi Sisällys 1 Yleiset vaatimukset... 2 2 Latauspalvelun

Lisätiedot

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

Käyttöjärjestelmien historia. Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien historia Joni Herttuainen Henri Jantunen Markus Maijanen Timo Saksholm Johanna Tjäder Eetu Turunen Käyttöjärjestelmien jaottelu Voidaan jaotella erilaisin menetelmin Aikajana (määrä,

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

Lisätiedot

Korkean resoluution ja suuren kuva-alueen SAR

Korkean resoluution ja suuren kuva-alueen SAR Korkean resoluution ja suuren kuva-alueen SAR Risto Vehmas, Juha Jylhä, Minna Väilä ja prof. Ari Visa Tampereen teknillinen yliopisto Signaalinkäsittelyn laitos Myönnetty rahoitus: 50 000 euroa Esityksen

Lisätiedot

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Mikrotietokone Moderni tietokone Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Sen käyttötarkoitus on yleensä työnteko, kissavideoiden katselu internetistä tai pelien pelaaminen. Tietokoneen

Lisätiedot

1 Kannat ja kannanvaihto

1 Kannat ja kannanvaihto 1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:

Lisätiedot

Videon tallentaminen Virtual Mapista

Videon tallentaminen Virtual Mapista Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta

Lisätiedot

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento0-1 Tietokoneen rakenne Asema opetuksessa u 2005 HajaTilin valinnainen,

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

Laboratoriotyö. 1. Laitteisto. 1.1 Kamera

Laboratoriotyö. 1. Laitteisto. 1.1 Kamera Laboratoriotyö 1. Laitteisto 1.1 Kamera Järjestelmän kamerassa (Hitachi, VK-C77E) on CCD -kenno ja mahdollisuus kuvan asynkroniseen päivitykseen. Kamerassa on sarjaliitäntä, jonka kautta voidaan ohjata

Lisätiedot

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt Digress: vakio- vs. muuttuva kiihtyvyys käytännössä Kinematiikkaa yhdessä dimensiossa taustatietoa Matlab-esittelyä 1 / 20 Luennon sisältö Digress: vakio-

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

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 6 521475S Silmukkamuunnokset Silmukkamuunnoksilla silmukat muunnetaan joihinkin edellä esitettyihin rinnakkaismuotoihin Jakson kutistaminen (cycle shrinking) tämä muunnos soveltuu

Lisätiedot

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) JOHDATUS TEKOÄLYYN TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA) KONEOPPIMISEN LAJIT OHJATTU OPPIMINEN: - ESIMERKIT OVAT PAREJA (X, Y), TAVOITTEENA ON OPPIA ENNUSTAMAAN Y ANNETTUNA X.

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Stabilointi. arvosana. arvostelija. Marja Hassinen

Stabilointi. arvosana. arvostelija. Marja Hassinen hyväksymispäivä arvosana arvostelija Stabilointi Marja Hassinen Helsinki 28.10.2007 Hajautetut algoritmit -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1 1 Johdanto 1 2 Resynkroninen

Lisätiedot

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä? Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi 27.1.2011 Tietokone suoritin (CPU) väylä tai väylät laiteohjaimet muiden koneiden kanssa Ethernet, modeemi,... laitteiden kanssa Levy, DVD, CD,

Lisätiedot

Johdatus tekoälyyn. Luento 6.10.2011: Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Johdatus tekoälyyn. Luento 6.10.2011: Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ] Johdatus tekoälyyn Luento 6.10.2011: Koneoppiminen Patrik Hoyer [ Kysykää ja kommentoikaa luennon aikana! ] Koneoppiminen? Määritelmä: kone = tietokone, tietokoneohjelma oppiminen = ongelmanratkaisukyvyn

Lisätiedot