Johdatus rinnakkaislaskentaan Markus Inkeroinen Optimointiryhmän seminaari
|
|
- Jaakko Oksanen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Johdatus rinnakkaislaskentaan Markus Inkeroinen Optimointiryhmän seminaari
2 MITÄ ON RINNAKKAISLASKENTA? 1
3 A parallel computer is a set of processors that are albe to work cooperatively to solve a computational problem, Ian T. Foster. Rinnakkaisohjelmoinnin avulla voidaan laskentatehtävä jakaa useammaksi osatehtäväksi suoritettavaksi usealla prosessorilla. Näin laskutehtävän ratkaisemiseen kuluvaa seinäkelloaikaa voidaan usein merkittävästi lyhentää, Juha Haataja, Jari Järvinen ja Yrjö Leino (CSC). "Sequential programming is only the expression of our inability to transfer the natural parallelism of the world to a machine," Craig C. Douglas, Gundolf Haase and Ulrich Langer. 2
4 MIHIN RINNAKKAISLASKENTAA KÄYTETÄÄN? 3
5 -Sää- ja ilmastomallit -Teollisuusprosessien simuloiminen -Mekaniikka ( törmäyskokeet ) -Kuvankäsittely, viihdeteollisuus -Suurien tietomäärien käsittely (data mining) -Laskennallinen tiede (molekyylimallit, virtauslaskenta,...) -Keinotodellisuus... 4
6 MIKSI RINNAKKAISLASKENTAA KÄYTETÄÄN? 5
7 -Laskut kestävät muuten hyvin kauan -Laskut kestävät liian kauan -Tarvitaan paljon muistia -Helpompi, halvempi? 6
8 RINNAKKAISKONEIDEN LUOKITTELU 7
9 Luokittelu muistin mukaan -Karkealla jaolla on kahdenlaisia rinnakkaiskoneita -SMP-tietokone (symmetric multiprocessor): prosessoreilla yhteinen keskusmuisti. (Shared Memory, jaetun muistin koneet, yhteisen muistin koneet.) -MPP-tietokone (massively parallel prosessors): prosessoreilla omat hajautetut keskusmuistit. (Distributet Memory, hajautetun muistin koneet.) 8
10 SMP-tietokone 9
11 -Prosessoreilla yhteinen muisti SMP-tietokone -Prosessoreja yleensä vähän (Josefissa 8 prosessoria) -Kommunikointi muistin välityksellä -Helppo ohjelmoida -Helppo tehdä ei-determististä koodia -Peräkkäisohjelma (sequential code) helppo rinnakkaistaa askel askeleelta -Skaalautuu hyvin pienillä prosessorimäärillä, suurilla muistin käyttö pullonkaulana -Kallista tekniikkaa 10
12 SMP-tietokone UMA (Uniform Memory Access): Kaikki prosessorit käyttävät (lukevat/kirjoittavat) koko muistia yhtä nopeasti. (Välimuistia ei huomioida.) NUMA( Non Uniform Memory Access): Muistin käyttöön kuluva aika riippuu prosessorin sijainnista. DMS (Distributed Shared Memory), Virtual Shared Memory: Koko muisti hajautettu fyysisesti prosessorien kesken, mutta sitä voidaan käyttää kuten yhteistä muistia. esim. Cray T3D 11
13 MMP-tietokone -Jokaisella prosessorilla oma muisti -Kommunikointi viestinvälityksen avulla -Mahdollisuus hyvin skaalautuviin ohjelmiin (parempi kuin SMP-koneissa) -Peräkkäisohjelman rinnakkaistaminen hankalaa (ei asteittain) -Laskennan ja kommunikoinnin välinen suhde merkittävä - Halpaa tekniikkaa 12
14 MPP-tietokone 13
15 Klusteriarkkitehtuuri Prosessorit muodostavat solmuja (node), joissa yhteinen muisti. Solmut kommunikoivat viestinvälityksen avulla. esim. IBM SP 10 solmua, jokaisessa 4 prosessoria, (Agora). IBM SC 16 solmua, jokaisessa 32 prosessoria. Solmuissa sisäinen rakenne, (CSC, Espoo). Terascale GRID Computers Laskentakeskukset muodostavat jättimäisen laskentaverkon. Nopeat yhteydet. Tietosuojaongelmat? 14
16 Rinnakkaisohjelmoinnin mallit 15
17 Ohjelmointimallit ja standardit: (Ville Savolainen, CSC) -Viestinvälitys (MPI-kirjasto) -Yhteisen muistin mallit (OpenMP) -Hajautetun ja yhteisen muistin hybridimalli (MPI ja OpenMP) -Datarinnakkainen malli (HPF) -Yksisuuntainen datanvälitys (SHMEM) -Säikeet(pthreads) - OpenMP käyttää Lähde: 16
18 Viestinvälitys -Nykyisin yleisin rinnakkaisohjelmointimalli -Tavallisesti ohjelma standardia FORTRAN 77, Fortran 90/95 tai C/C++ -koodia -Jokaisella prosessilla omat yksityiset muuttujansa -Kommunikointi kutsumalla viestinvälityskirjaston aliohjelmia -Yleensä jokainen prosessori ajaa samaa ohjelmaa, SPMD-malli (Single Program Multiple Data) -Käyttämällä prosessien tunnisteita (identifier, ID, whoami) saadaan eri prosessit ajamaan eri osia yhteisestä ohjelmakoodista 17
19 Yhteisen muistin malli (Shared memory) -Kaikilla tehtävillä yhteinen muistiavaruus -Kommunikointi muistin kautta -Jako yhteisiin (shared) ja yksityisiin muuttujiin (private) -Muistinkäytön hallinta (lukot ja direktiivit OpenMP:ssä) -Helppo ohjelmoida, helppo tehdä virheitä 18
20 Datarinakkainen malli (Data parallel) -Käytetään omaa ohjelmointikieltä, yleensä Fortranin tai C-kielen laajennus. -Kommunikointi ja suorituksen koordinointi eivät näy ohjelmoijalle (ei pääse vaikuttamaan). -Monesti ohjelmoijalle jää pelkästään datanjako, helppo ohjelmoida. 19
21 Rinnakkaisohjelman suunnittelu Lähde: Designing and Building Parallel Programs, Ian T. Foster. 20
22 Hyvältä rinnakkaisalgoritmilta ja -ohjelmalta vaadittavia ominaisuuksia: - Rinnakkaistuvuus (concurrency). Tehtäviä on pystyttävä suorittamaan yhtäaikaisesti. - Skaalautuvuus (scalability). Algoritmin/ohjelman tulee skaalautua automaattisesti prosessorimäärän muuttuessa. - Lokaalisuus (locality). Prosessien tulee käyttää mahdollisimman paljon lokaalia (omaa) muistia ja vähän etäistä (remote) muistia. - Modulaarisuus (modularity). Ohjelma tulisi pystyä jakamaan pienempiin osiin. HUOM! Hyvä peräkkäisalgoritmi ja hyvä rinnakkaisalgoritmi samalle tehtävälle voivat olla hyvinkin erilaisia. 21
23 PCAM-malli 1. Laskentatehtävän jakaminen (alkeis)tehtäviin (task) (Partitioning). - Laskentatehtävä ja/tai siihen käytettävä data jaetaa suureeen määrään osatehtäviä. - Pyritään mahdollisimman suureen rinnakkaistuvuuteen. 2. Viestintä (Communication). - Määritellään tehtävien suorittamiseen vaadittava tehtävien välinen viestintä ja sen rakenne. 3. Yhteenliittäminen (Agglomeration). - Tarkastelu siirtyy tehokkuuden saavuttamiseen kohdassa luotuja osatehtäviä kasataan yhteen paremman tehokkuuden saavuttamiseksi. 22
24 4. Tehtävien jakaminen prosesoreille (Mapping). - Tehtävät jaetaan prosessorien kesken mahdollismman tehokkaalla tavalla. HUOM. Yleensä SPMD-ohjelmat antavat luoda vain yhden prosessin prosessoria kohden, joten tämä on huomioitava kohdassa 3. Kohdissa 1 ja 2 pyritään rinnakkaistuvuuteen ja skaalautuvuuteen. Kohdissa 3 ja 4 tavoitteena on tehokkuuden lisääminen esim. lisäämällä lokaalisuutta. Mallia ei tule käsittää lineaariseksi. 23
25 TYÖNJAKAMINEN 24
26 Trivial Parallelism, nolo rinnakkaistaminen - Yksinkertaisin työnjakamismenetelmä. - Ajetaan samaa peräkkäiskoodia usealla prosessorilla samanaikaisesti. Parametrien lähtöarvot erilaiset. - Ei tarvita prosessorien välistä viestintää. - Ei auta isoissa tehtävissä. 25
27 Functional Decomposition 26
28 Functional Decomposition - Pitää varmistaa, että osatehtävät ovat yhtä isoja. - Startup ja shutdown -kustannukset. - Huono skaalautuvuus. - Yleensä helppo määritellä tarvittava viestintä. - Sopii vain osalle tehtäviä. 27
29 Isäntä-renki malli (Master Slave, Task Farms) 28
30 Isäntä-renki malli - Helppo ohjelmoida. - Dynaaminen -> kuormantasaus helppoa. - Laskennan lopettamisessa voi olla tyhjäkäyntiä. - Osatehtävien pitää olla toisistaan riippumattomia. - Isäntä voi muodostua pullonkaulaksi. - Vaatii paljon viestintää. 29
31 Aluejakomenetelmä (Domain Decomposition) 30
32 Aluejakomenetelmä - Jaetaan osa-alueet prosessorien kesken. - Voidaan hyödyntää virtuaalitopologiaa. - Jaon ei tarvitse olla säännöllinen. - Vaatii usein tiedon vaihtamista (naapuri)prosessorien kesken. - Viestinnän suunnittelu voi olla hankalaa. 31
33 Aluejakomenetelmä DO WHILE(.NOT.convergent) DO j=1,n DO i=1,n B(i,j)=0.25*( A(i-1,j)+A(i+1,j)+A(i,j-1)+A(i,j+1) ) END DO END DO DO j=1,n DO i=1,n A(i,j)=B(i,j) END DO END DO! convegence test END DO 32
34 Aluejakomenetelmä 33
35 VIESTINTÄ 34
36 Kahden välinen viestintä, (Point-to-Point) Kun vaihdetaa dataa kahden prosessin välillä niin viestintään kuluu aikaa arviolta t com = t s + mt w, missä t s on latenssiaika (startup time), m on viestin pituus, t w on sanaa kohti tarvittava aika. 35
37 Kollektiivinen viestintä Esim. One-to-All Brodcast t com = (t s + mt w ) log 2 p, p on prosessorien lukumäärä. 36
38 TEHOKKUUS 37
39 Relative Parallel Speedup S p (n) = T (n, 1) T (n, p), missä n=tehtävän koko, p=prosessorien lukumäärä, T (n, p)=p:llä prosessorilla tehtävän suorittamiseen kuluva aika. CSC:n vaatimus: Nopeuden pitää kasvaa 50% kun prosessorien lukumäärä kaksinkertaistuu. 38
40 Total (absolute) Speedup S p (n) = T best(n, 1) T (n, p), missä T best (n, 1) on parhaan tiedossa olevan peräkkäisohjelman suoritusaika. Parallel Relative Efficiency E p (n) = S p(n) p = T (n, 1) pt (n, p). 39
41 Suoritusaika (s): MPI:llä rinnakkaistettu liittogradienttimenetelmä n/p Speedup: n/p
42 41
43 Message Passing Interface - MPI 42
44 MPI - Viestinvälityskirjasto. - SPMD-ohjelmointitapa. - Suosituin työkalu tieteellisessä laskennassa. - Sovittu standardi. - Toimii heterogeenisessa ympäristössä. - Versiot MPI-1 ja MPI-2. - Kielenä C/C++ tai Fortran. 43
45 MPI:n ominaisuuksia - Monipuolinen kahdenvälinen viestintä. - Paljon kollektiivisia operaatioita. - Ryhmäviestintä on joustavaa ja nopeaa ohjelmoida. - Laskentatopologoita voi luoda tarpeen mukaan. - Omia tyyppejä voi määritellä ja välittää. 44
46 MPI MPI-1 sisältää yli 120 rutiinia, mutta kuudella voi ohjelmoida (melkein) kaiken. MPI_INIT MPI_COMM_SIZE MPI_COMM_RANK MPI_SEND MPI_RECV MPI_FINALIZE Rinnakkaisohjelmointi MPI:llä on helppoa. Kannattaa kokeilla! 45
47 OpenMP -Open Multi Processing 46
48 OpenMP - Jaetun muistin koneiden teollisuusstandardi. - Koostuu kääntäjädirekdiiveistä, kirjastorutiineista ja ympäristömuuttujista. - Direktiiveihin voidaan lisätä tarkentimia (clauses). - Kielenä C/C++ tai Fortran. - Mahdollistaa sekä suurijakoisen (coarce grain ) että hienojakoisen (fine grain ) rinnakkaistamisen. - On mahdollista kirjoittaa koodi siten, että se toimii sekä rinnakkaisohjelmana että peräkkäissohjelmana ilman OpenMP:tä. - Mahdollistaa astettaisen rinnakkaistamisen. 47
49 OpenMP - Direktiivin tunniste:!$omp - Ehdollisen kääntämisen tunniste:!$ - Rinnakkaisalue muodostetaan direktiiviparilla!$omp PARALLEL!$OMP END PARALLEL. - Ennen ja jälkeen rinnakkaisaluetta ohjelmaa suorittaa yksi säie. - Rinnakkaisalueen alussa muodostetaan ryhmä säikeitä. - Muuttujat joko yhteisiä (shared) tai säikeen yksityisiä (private). (- OpenMP-koodin testaaminen syö hermoja. :) 48
50 OpenMP 49
51 Materiaalia Efficient and Accurate Parallel Genetic Algorithms, by Erick Cantu- Paz. A tutorial on Elliptic PDE Solvers and their Parallelization, by Douglas, Haase and Langer. TOP500 SUPERCOMPUTER SITES: Introduction to Parallel Computing, by Ananth Grama, Anshul Gupta, George Karypis ja Vipin Kumar. Designing and Building Parallel Programs, by Ian Foster. 50
52 EPCC Edinburgh Parallel Computing Centre Message Passing Interface Forum Rinnakkaisohjelmointi MPI:llä,Juha Haataja ja Kaj Mustikkamäki. MPI: The Complete Reference, by Marc Snir, Steve Otto, Steven Huss- Lederman, David Walker, and Jack Dongarra. Parallel Programming with MPI, by Peter Pacheco. Using MPI, by William Gropp, Ewing Lusk and Anthony Skjellum. 51
53 Using MPI-2,by William Gropp, Ewing Lusk and Rajeev Thakur. Official OpenMP Specifications. Parallel Programming in Fortran 95 using OpenMP, by Miguel Hermanns. Parallel Programming in OpenMP, by Rohit Chandra, Ramesh Menon, Leo Dagum, David Kohr, Dror Maydan and Jeff McDonald. 52
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
S-114.240 Rinnakkaislaskenta laskennallisessa tieteessä:
S-114.240 Rinnakkaislaskenta laskennallisessa tieteessä: MPI ja työasemaklusterit: Beowulf Risto Virkkala Laskennallisen tekniikan laboratorio 5.5.1999 Muokattu: 5.7.1999 (testit 16 koneen Beowulf klusterilla)
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...
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
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
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
Samanaikaisuuden hallinta
Samanaikaisuuden hallinta TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 20. maaliskuuta 2007 Samanaikaisuus engl. concurrency useampaa
Datahajautettu klusterointi. ITKC35 Rinnakkaislaskenta Harjoitustyö. Sami Äyrämö
Datahajautettu klusterointi ITKC35 Rinnakkaislaskenta Harjoitustyö Sami Äyrämö JYVÄSKYLÄN YLIOPISTO Informaatioteknologian tiedekunta Tietotekniikan laitos syksy 2003 Sisältö 1 Johdanto 1 2 Tutkimussuunnitelma
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
Yleisen PSCR-menetelmän toteutus ohjelmoitavalla näytönoh
Yleisen n toteutus ohjelmoitavalla näytönohjaimella Mirko Myllykoski mirko.myllykoski@jyu.fi 15.2.2011 Mitä teen? Tarkoituksena toteuttaa (ja osin jo toteutettukin) stä versio ohjelmoitavalle näytönohjaimelle
Rinnakkaisalgoritmit ja rinnakkaistietokoneet
Tietojenkäsittelytiede 26 Heinäkuu 2007 sivut 9 21 Toimittaja: Antti Valmari c kirjoittaja(t) Rinnakkaisalgoritmit ja rinnakkaistietokoneet Martti Penttonen Kuopion yliopisto Tietojenkäsittelytieteen laitos
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
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ä:
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
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ä
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
TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit
TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen
Makrojen mystinen maailma lyhyt oppimäärä
Makrojen mystinen maailma lyhyt oppimäärä Makrot osana SAS-teknologiaa Yleiskuva Jouni Javanainen Aureolis lyhyesti Aureolis on jatkuvia Business Intelligence -palveluita tuottava asiantuntijaorganisaatio
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:
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
Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3
Johdatus f90/95 ohjelmointiin H, R & R luvut 1-3 Fortran-kieli ( 3.1-3) IBM 1954, FORmula TRANslator ISO/ANSI standardit f90, f95, f2003 tieteellinen & teknillinen laskenta rinnakkaislaskenta (HPF, openmp)
TEKNIIKKA JA LIIKENNE. Tietotekniikka. Ohjelmistotekniikka INSINÖÖRITYÖ RINNAKKAISLASKENTA MPI-YMPÄRISTÖSSÄ
TEKNIIKKA JA LIIKENNE Tietotekniikka Ohjelmistotekniikka INSINÖÖRITYÖ RINNAKKAISLASKENTA MPI-YMPÄRISTÖSSÄ Työn tekijä: Juha Katajisto Työn ohjaajat: Miikka Mäki-Uuro Simo Silander Työ hyväksytty:.. 2009
815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
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ää
Tietokonearkkitehtuuri 2 TKT-3201 (5 op)
Tietokonearkkitehtuuri 2 (5 op) syksyllä 2012 periodit I & II (viikot 35-41 & 43-49) luennot tiistaisin klo 14-16 (periodi I: sali S4, periodi II: sali TB109) Kurssin tavoite Käydään läpi tietokoneen toimintaa
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
Tietokoneet täh++eteessä
Tietokoneet täh++eteessä Peter Johansson Fysiikan laitos, Helsingin yliopisto PC- käy:äjät ry kevätkokous 2014 Helsinki 23.3.2014 1. Miksi +etokoneita tarvitaan täh++eteessä ja mikä on niiden rooli modernissa
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
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
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
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
automaattisen tietotyypin tunnistamisen osalta, minkä Smith koki olevan avaintekijä onnistuneen rinnakkaisen ohjelmointikielen toteuttamisessa.
Chapel Group 15 Chapel on korkean asteen abstraktiotason ohjelmointikieli, joka on tarkoitettu pääasiassa rinnakkaisuuden (engl. parallelism) ohjelmoimiseen korkean tuotannon ympäristöissä suuren kokoluokan
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
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
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
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
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
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 =
4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
Dynaaminen ohjelmointi ja vaikutuskaaviot
Dynaaminen ohjelmointi ja vaikutuskaaviot. Taustaa 2. Vaikutuskaaviot ja superarvosolmut 3. Vaikutuskaavion ratkaiseminen 4. Vaikutuskaavio ja dynaaminen ohjelmointi: 5. Yhteenveto Esitelmän sisältö Optimointiopin
Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan
Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan CC1991:n ja CC2001:n vertailu Tutkintovaatimukset (degree requirements) Kahden ensimmäisen vuoden opinnot Ohjelmistotekniikan
CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa
CT50A2602 Käyttöjärjestelmät Seminaarityö Tietokoneen muisti nyt ja tulevaisuudessa Jyrki Eurén Raimo Asikainen Janne Laitinen Teppo Lapinkoski Manu Toivanen Pasi Ruuth Johdanto Taustaa Työn taustana ryhmän
Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)
Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Jani Laine 31.10.2017 Ohjaaja: DI Jimmy Kjällman Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston
Käännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi
Älysopimusten kehittäminen Sopimus suuntautunut ohjelmointi There are currently 5,000 blockchain developers. By 2020, we project a global need for over 500,000 - ConsenSys Älysopimus alustat q Ethereum
Koulutuksen digitalisaatio Tulevaisuutta kohti
Koulutuksen digitalisaatio Tulevaisuutta kohti Omnia 26.9.2014 P a s i S i l a n d e r Kuva:Finavia Korkeakoulut - Yliopistot - AMKit Sähköiset ylioppilaskirjoitukset Uudet OPSit Tietoyhteiskuntataidot
Scheduling of Genetic Analysis Workflows on Grid Environments (valmiin työn esittely) Arttu Voutilainen
Scheduling of Genetic Analysis Workflows on Grid Environments (valmiin työn esittely) Arttu Voutilainen 20.4.2015 Ohjaaja: FT Lauri Eronen (Biocomputing Platforms Ltd.) Valvoja: Prof. Harri Ehtamo Työn
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.
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
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
SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus
SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön
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,
Sovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
Esimerkkejä vaativuusluokista
Esimerkkejä vaativuusluokista Seuraaville kalvoille on poimittu joitain esimerkkejä havainnollistamaan algoritmien aikavaativuusluokkia. Esimerkit on valittu melko mielivaltaisesti laitoksella tehtävään
Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013
Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi
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
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ä
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ä
Page 1 of 9. Ryhmä/group: L = luento, lecture H = harjoitus, exercises A, ATK = atk-harjoitukset, computer exercises
Tietotekniikan tarjoama opetus syksyllä 2016 23.5.2016 CS course schedule in autumn 2016 Sari Salmisuo I periodi / period I 12.9. 21.10.2016 viikot/weeks 37-42 II periodi / period II 31.10. 9.12.2016 viikot/weeks
JOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KUINKA RIKASTUA NAIVI BAYES FROM: "MARGARETTA NITA" SUBJECT: SPECIAL OFFER : VIAGRA ON SALE AT $1.38!!! X-BOGOSITY: YES, TESTS=BOGOFILTER, SPAMICITY=0.99993752,
8/20: Luokat, oliot ja APIt
Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti
Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)
Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä Prosessoriväylä Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master) Suuremmissa erillisiä väyliä Muistiväylä Oheislaiteväylät
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ä,
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii
HELIA 1 (14) Outi Virkki Tiedonhallinta
HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11
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:
HOJ J2EE & EJB & SOAP &...
HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
S Rinnakkaislaskenta laskennallisessa tieteessä: Matriisilaskenta. Mika Prunnila S T
S-114.240 Rinnakkaislaskenta laskennallisessa tieteessä: Matriisilaskenta Mika Prunnila S4 44608T Sisältö 1. Johdanto 2 2. Rinnakkais ohjelmointi ja rinnakkaiskoneet 2 3. Matriisien ja vektoreiden lohkominen
THM-MALLIN NUMERIIKKA. Antti Niemistö, Janne Martikainen Numerola oy
THM-MALLIN NUMERIIKKA Antti Niemistö, Janne Martikainen Numerola oy 1 THM-mallin Numerrin-toteutus pohjana Petri Jussilan väitöstyössä esitetty THM-malli 3D toteutus Numerrin4 mallinnusalustalle numeerisen
815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä
Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k
1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.
PC-LAITTEEN TESTAAMINEN
PC-LAITTEEN TESTAAMINEN PC-Check-ohjelma Kun laite on koottu, on perusteltua testata sen toiminta ennen käyttöönottoa. Tätä varten on luotu erilaisia ohjelmia, joilla voi laitteen eri osat testata. Yksi
Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa
Tietokoneverkot T-110.4100 Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa ja Matti Siekkinen Tietokoneverkot 2014 sanna.suoranta@aalto.fi Kurssista kaksi versiota
Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi
Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on
24.9.2015. Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen
Työasema- ja palvelinarkkitehtuurit (IC130301) 5 opintopistettä Petri Nuutinen 5 opintopistettä Petri Nuutinen Apumuistit Tarvitaan ohjelmien ja dokumenttien tallentamiseen, kiintolevyjen varmuuskopiointiin,
Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö
Kon-15.4199 Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö 22.1.2016 Harjoituksessa 1. Varmistetaan että kaikilla on pari! Ilmoittautukaa oodissa etukäteen! 2. Tutustutaan ensimmäiseen tehtävään
Sisältöä SÄIKEET, SMP
LUENTO 5 Sisältöä SÄIKEET, SMP Stallings, Luku 4 Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä SMP Windowsin säikeet 1 2 Säikeet (multithreading) Prosessi
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Aliohjelmat, foreign function interface Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 3. 2013 Sisältö 1 Aliohjelmien käyttäminen
Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi
Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi 24.01.2011 Ohjaaja: Tapio Niemi Valvoja: Harri Ehtamo Tausta ja työn tavoite Työ tehtiin Helsinki Institute of Physics:ille,
ASCII-taidetta. Intro: Python
Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.
Other approaches to restrict multipliers
Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of
Use of spatial data in the new production environment and in a data warehouse
Use of spatial data in the new production environment and in a data warehouse Nordic Forum for Geostatistics 2007 Session 3, GI infrastructure and use of spatial database Statistics Finland, Population
JOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KUINKA RIKASTUA NAIVI BAYES FROM: "MARGARETTA NITA" SUBJECT: SPECIAL OFFER : VIAGRA ON SALE AT $1.38!!! X-BOGOSITY: YES, TESTS=BOGOFILTER, SPAMICITY=0.99993752,
MUISTIPIIRIT H. Honkanen
MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen
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
Esimerkkejä polynomisista ja ei-polynomisista ongelmista
Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia
ELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
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
4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
Test-Driven Development
Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole
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
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ä
.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
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
Moniydinsuorittimien rinnakkaisohjelmointi
Moniydinsuorittimien rinnakkaisohjelmointi Turun yliopisto Informaatioteknologian laitos Tietojenkäsittelytiede Pro gradu -tutkielma Jari-Matti Mäkelä Maaliskuu 2011 TURUN YLIOPISTO Informaatioteknologian
Ohjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien
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
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.
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
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö