TKT-3201 Tietokonearkkitehtuuri 2



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

TK Palvelinympäristö

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

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

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

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

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

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

Työasema- ja palvelinarkkitehtuurit IC Tallennusjärjestelmät. Tallennusjärjestelmät. 5 opintopistettä.

Väylät. Tietokoneen rakenne. Stallings: Ch 3 Mitä väylällä liikkuu? Väylän ominaisuuksia PCI-väylä PCI Express. Luento 2-1

Vikasietoisuus ja luotettavuus

Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen

Luento 2: Väylät Laitteiden väliseen kommunikointiin Tav. yleislähetys: kaikki kuulevat kaiken

Luento 2: Väylät Luento 2. Luento 2-1 R/W. Req / Rel. - Ajoitus. Luento 2-3. Memory. Luento 2-5

Vikasietoisuus ja luotettavuus

Käyttöjärjestelmät: prosessit

NTÄ. Luento 8: SIIRRÄNT. Osio 3: Siirräntä ja tiedostojärjestelmä. ltö. Yleistä siirrännästä. Siirtonopeuksia (teoreettisia) Kuva 11.1.

Osio 3: Siirräntä ja tiedostojärjestelmä

2 Konekieli, aliohjelmat, keskeytykset

Käyttöjärjestelmän rakenne

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

Stallings, Luku

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

1. Keskusyksikön rakenne

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

TK Palvelinympäristö

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

Luento 1 Tietokonejärjestelmän rakenne

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

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

MUISTIPIIRIT H. Honkanen

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

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

Juha Henriksson. Digitaalinen pitkäaikaissäilytys Dr. Juha Henriksson Finnish Jazz & Pop Archive

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 1 Tietokonejärjestelmän rakenne

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

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Järjestelmän ulkoinen muisti I/O

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

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

Tarjotusta tallennusjärjestelmästä pitää olla mahdollista siirtää kapasiteettia hybrid cloud -ympäristöön ilman erillisiä lisähankintoja.

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus.

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

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

OHJ-4301 Sulautettu Ohjelmointi

Backup Exec 3600 Appliance

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:

Tietokoneen toiminta (Computer Organization I)

ltöä rjestelmä Luento 2: LAITTEISTOSTA Tietokonejärjestelm KESKUSYKSIKKÖ Keskusyksikkö Kuva 1.1 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1

I J. D: Luku/kirjoitus-merkkivalo E: Aukko: SMC, SM-RAM F: Aukko: CF I, CF II, MD G: Aukko: SD, Mini SD, MMC, RS-MMC

Toimilohkojen turvallisuus tulevaisuudessa

Tietokoneen toiminta (Computer Organization I)

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

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

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Jakso 8 Ohjelman toteutus järjestelmässä

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

Luento 9 Järjestelmän ulkoinen muisti

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

Verilogvs. VHDL. Janne Koljonen University of Vaasa

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

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

Hammastankohissin modernisointi. Heikki Laitasalmi

Tietokoneen toiminta (Computer Organization I)

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

HELIA 1 (15) Outi Virkki Tiedonhallinta

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

Dell Fluid Data TM solutions

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Jakso 8 Ohjelman toteutus järjestelmässä

Tietokonearkkitehtuuri 2 TKT-3201 (5 op)

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

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

FYYSINEN SUUNNITTELU

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

Turvallisuusseminaari Silja-Line

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

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

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

TK Palvelinympäristö

Transkriptio:

TKT-3201 Tietokonearkkitehtuuri 2 Luku 6: Talletus ja syöttö/tulostuslaitteet Adapted from Computer Organization and Design, 4 th Edition, Patterson & Hennessy, 2008 Adapted from slides by Mary Jane Irwin, PSU

Tietokoneen pääkomponentit Processor Devices Control Memory Input Datapath Output Secondary Memory (Disk) Main Memory Cache #2

Syöttö/tulostuslaitteet (I/O device) I/O-laitteiden karakterisointi: käyttäytyminen: syöttö, tulostus, talletus kumppani: ihminen, kone datansiirto: tavua/sec, siirtoa/sec I/O-väyläliitynnät #3

I/O järjestelmän piirteet käyttövarmuus tärkeä ominaisuus Erityisesti tallennuslaitteille Suorituskykymittarit latenssi (vasteaika) läpäisy (kaistanleveys) työasemat & sulautetut järjestelmät Pääasiassa vasteaika & tuettavien laitteiden monipuolisuus palvelimet Pääasiassa läpäisy & laitteiden laajennettavuus #4

Käyttövarmuus (dependability) Palvelun loppuunsaattaminen toipuminen Palvelu toimitettu kuten määritelty vikaantuminen Palvelun keskeytyminen Poikkeaminen määritellystä palvelusta Virhe (fault): komponentin vikaantuminen (failure) Voi johtaa järjestelmän vikaantumiseen #5

Käyttövarmuuden mittarit Luotettavuus: mean time to failure (MTTF) Palvelun katkeaminen: mean time to repair (MTTR) Keskimääräinen vikaantumisien välinen aika: mean time between failure MTBF = MTTF + MTTR käytettävyys (availability) = MTTF / (MTTF + MTTR) Käytettävyyden parantaminen kasvata MTTF: vikaantumisen välttäminen, vikasietoisuus, vian ennustus pienennä MTTR: paremmat työkalut ja prosessit diagnosointiin ja korjaamiseen #6

Levytallennus Haihtumaton (nonvolatile), pyörivä magneettinen muisti #7

Levysektorit ja -viittaus Jokainen sektori tallentaa Sektorin ID Data (tyypillisesti 512 tavua, laajenemassa 4096 tavuun) Virheenkorjauskoodi (error correcting code, ECC) Käytetään kätkemään virheitä levyssä ja tallennuksessa Synkronointikentät Viittaus sektoriin koostuu jonotusviive, jos edellinen viittaus edelleen käynnissä hakeutumisaika: siirrä lukupäät pyörähtämislatenssi datan siirto ohjaimen aiheuttama rasite #8

Levyviittaus, esim. 512B sektori, 15,000rpm, 4ms keskim. hakeutumisaika, 100MB/s siirtonopeus, 0.2ms ohjaimen viive Keskim. lukuaika 4ms hakeutumisaika + ½ / (15,000/60) = 2ms pyörähtämisviive + 512 / 100MB/s = 0.005ms siirtoaika + 0.2ms ohjaimen viive = 6.2ms Jos keskim. hakeutumisaika olisi 1ms Keskim. lukuaika = 3.2ms Pyörähtämisviive tavallisesti suurin komponentti viittausajassa #9

Levyn suorituskyky Valmistajat mainitsevat keskimääräisen hakeutumisajan Perustuu kaikkiin mahdollisiin hakuihin Paikallisuus ja OS:n vuoronnus johtavat pienempään keskim. hakeutumisaikaan Älykäs levyohjain varaa fyysisiä levysektoreita Isäntäkoneelle esitetään loogisia sektoreita SCSI, ATA, SATA Levyasemissa käytetään välimuisteja Haetaan sektoreita etukäteen ja toivotaan, että niihin tullaan viittaamaan Vältetään hakeutumis- ja pyörähdysviive #10

Flash-tallennus Haihtumaton puolijohdemuisti 100 1000 nopeampi kuin levy Pienempi, alhaisempi virrankulutus, kestävämpi Kalliimpi $/GB (levyn ja DRAM:n välissä) #11

Flash -tyypit NOR flash: bittisolu muistuttaa NOR-porttia Tukee satunnaisia luku/kirjoitusviittauksia Käytetään sulautettujen järjestelmien käskymuisteina NAND flash: bittisolu muistuttaa NAND-porttia tiheämpi (bits/area), mutta viittaukset lohko kerrallaan halvempi per GB Käytetään USB-muisteissa, tallennusmedioissa, Flash:n bitit kuluvat käytön myötä Käytetty RAM-muistina, mutta käytetään jo levynä Kulumisen säästö: kuvataan data vähiten käytettyihin lohkoihin #12

RAID -levyjärjestelmä #13 Redundant Array of Inexpensive (Independent) Disks kasvatetaan potentiaalista läpäisyä käyttämällä useampia pieniä levyjä (vrt. 1 iso levy) data levitetään useammalle levylle useampia samanaikaisia viittauksia usealle levylle luotettavuus alempi kuin yhdessä levyssä käytettävyyttä voidaan kasvattaa lisäämällä redundantteja levyjä (RAID) hävinnyt informaatio voidaan rekonstruoida redundantista datasta vikaantunut levy voidaan vaihtaa järjestelmää sammuttamatta ( hot swap )

RAID: taso 0 (ei redundanssia; lomitus) sec1 sec2 sec3 sec4 sec1,b0 sec1,b1 sec1,b2 sec1,b3 Levitetään sektorin data useammalle levylle (striping) useampaa sektorin lohkoa voidaan hakea rinnakkain 4-levyinen järjestelmä antaa 4x läpäisyn verrattuna yhden levyn järjestelmään Tyypillisesti kustannus sama kuin yhden ison levyn kustannus Ei redundanssia, joten entäpä jos yksi levy vikaantuu? levyn vikaantuminen on todennäköisempää levyjen määrän kasvaessa #14

RAID: taso 1 (redundanssi peilaamalla) sec1 sec2 sec3 sec4 sec1 sec2 sec3 sec4 redundant (check) data Käytetään 2x määrä levyä verrattuna RAID 0 Aina kaksi kopiota datasta (esim. 8 pienempää levyä; toinen 4 levyn joukko kopioi ensimmäisen levyjoukon datan) Redundanttien levyjen lkm = dataa sisältävien levyjen lkm (kustannus 2x yhteen isoon levyyn verrattuna) Kirjoitukset on tehtävä molempiin levyjoukkoihin, joten kirjoitukset vievät kaksi kertaa pidemmän ajan kuin vastaavan levymäärän RAID 0 järjestelmän kirjoitukset Yhden levyn vikaantuessa data haetaan peili -levystä #15

RAID: taso 0+1 (lomitus ja peilaus) sec1,b0 sec1,b1 sec1,b2 sec1,b3 sec1,b0 sec1,b1 sec1,b2 sec1,b3 sec1 blk2 blk3 blk4 blk1 blk2 blk3 blk4 redundant (check) data Yhdistää RAID 0:n ja RAID 1:n edut: data on lomitettu levyjen kesken ja peilataan Esimerkissä 4x läpäisy (lomituksesta johtuen) Redundanttien levyjen lkm = datalevyjen lkm, eli kustannus sama kuin yhden ison levyn kustannus Kirjoitukset on tehtävä molempiin levyjoukoihin, joten kirjoitukset vievät kaksi kertaa pidemmän ajan kuin vastaavan levymäärän RAID 0 järjestelmän kirjoitukset Yhden levyn vikaantuessa, järjestelmä hakee datan peili -levystä #16

RAID: taso 2 (redundanssi virheenkorjauskoodilla) sec1,b0 sec1,b1 sec1,b2 sec1,b3 Checks 4,5,6,7 Checks 2,3,6,7 Checks 1,3,5,7 Lomitus bitteinä virheenkorjauskoodilevyt (ECC) sisältävät erillisistä levyistä saatavan datan #17 1 0 1 0 1 0 1 0 3 5 6 7 4 2 1 ECC disks ECC -levyt 4 ja 2 osoittavat datalevyyn 6 tai 7, mutta ECC -levy 1 sanoo levyn 7 olevan virheetön, joten levyn 6 datan on oltava virheellinen Redundanttien levyjen lkm = log (datalevyjen lkm), kustannus melkein 2x yhden ison levyn kustannus Sietää rajoitetusti levyn vikaantumisen, koska data voidaan rekonstruoida Ei yleisesti käytössä; liian kompleksinen

RAID: taso 3 (Bittilimitetty pariteetti) sec1,b0 sec1,b1 sec1,b2 sec1,b3 1 0 1 0 1 Lomitus tavuina Suuremman käytettävyyden kustannusta lasketaan tekijällä 1/N, missä N on levyjen lukumäärä suojausryhmässä Redundanttien levyjen lkm = suojausryhmien lkm Kirjoitukset vaativat uuden datan kirjoittamisen datalevylle ja pariteetin laskemisen (, mikä vaatii muiden levyjen lukemisen, jotta pariteetti voidaan päivittää) Sietää rajoitetusti (yhden) levyn vikaantumisen, koska data voidaan rekonstruoida Luvut vaativat kaikkien toimivien datalevyjen ja pariteettilevyjen lukemisen, jotta vikaantuneen levyn data voidaan laskea #18 Ei laajasti käytössä levyvika (pariton) pariteettilevy

RAID: taso 4 (lohkolomitettu pariteetti) Lomitus lohkoina sec1 sec2 sec3 sec4 Korkeamman käytettävyyden hinta edelleen 1/N, mutta pariteetti talletettu lohkoina Esimerkissä 4x läpäisy (lomituksesta johtuen) redundanttien levyjen lkm = suojausryhmien lkm Block parity disk Tukee lukemista ja kirjoitusta vain yhteen tai muutamaan suojausryhmän datalevyyn ( pieni kirjoitus / pieni luku ); ei tarvetta lukea kaikkia levyjä Tarkastamalla mitkä bitit vaihtuvat kirjoituksen yhteydessä, pariteettilevylle tarvitsee vaihtaa vain vastaavat bitit Pariteettilevy pitää päivittää jokaisen kirjoituksen yhteydessä, joten siitä tulee pullonkaula perättäisissä kirjoituksissa Sietää rajoitetusti levyn vikaantumisen, koska data voidaan rekonstruoida Ei laajasti käytössä #19

Kirjoitusten vertailu RAID 3 kirjoitus uusi D1 data D1 D2 D3 D4 P 3 lukua ja 2 kirjoitusta kohdistuen kaikkiin levyihin D1 D2 D3 D4 P RAID 4 pieni kirjoitus uusi D1 data D1 D2 D3 D4 P #20 2 lukua ja 2 kirjoitusta kohdistuen ainoastaan kahteen levyyn D1 D2 D3 D4 P

RAID: taso 5 (hajautettu lohkolomiteltu pariteetti) Näistä yksi määrätään lohkopariteettilevyksi Korkeamman käytettävyyden hinta edelleen 1/N, mutta pariteettilohko voi sijaita missä tahansa levyssä, jolloin yksittäisestä levystä ei tule kirjoitusten yhteydessä pullonkaulaa Esimerkissä 4x läpäisy (lomituksesta johtuen) redundanttien levyjen lkm = suojausryhmien lkm Tukee lukemista ja kirjoitusta vain yhteen tai muutamaan suojausryhmän datalevyyn ( pieni kirjoitus / pieni luku ) Sallii useamman samanaikaisen kirjoituksen, jos kirjoitukseen liittyvät pariteettilohkot sijaitsevat eri levyillä Sietää rajoitetusti levyn vikaantumisen, koska data voidaan rekonstruoida Laajassa käytössä #21

Time Pariteettilohkojen hajauttaminen RAID 4 RAID 5 1 2 3 4 P0 1 2 3 4 P0 5 6 7 8 P1 5 6 7 P1 8 9 10 11 12 P2 9 10 P2 11 12 13 14 15 16 P3 13 P3 14 15 16 voidaan suorittaa rinnakkain #22 Pariteettilohkojen hajauttaminen kaikille levyille mahdollistaa pienten kirjoitusten suorittamisen rinnakkain

Tietokoneen komponentit Processor Devices Control Memory Output Datapath Input #23 I/O-järjestelmän tärkeimmät mittarit suorituskyky laajennnettavuus luotettavuus hinta, koko, paino turvallisuus

Tyypillinen I/O -järjestelmä Processor Interrupts Cache Memory - I/O Bus Main I/O I/O I/O Memory Controller Controller Controller Disk Disk Graphics Network #24

Kytkentäkomponentit Tarvitaan mekanismi tietokoneen eri osien kytkemiseen toisiinsa CPU, muisti, I/O ohjaimet väylä: jaettu kommunikointikanava Joukko rinnakkaisia signaalilinjoja datalle ja data siirtojen synkronointiin Usein järjestelmän pullonkaula Suorituskykyä rajoitavat fyysiset tekijät Langoituksen pituus, liityntöjen lukumäärä Viimeaikaisin vaihtoehto: nopea sarjaväylä kytkimillä Muistuttaa verkkoa #25

#26 Väylätyypit Prosessori-muisti väylät (front side bus) lyhyt, nopea väylä Suunniteltu sopimaan muistiorganisaatioon I/O -väylät Pidempiä, hitaampia sallii useampia kytkentöjä Määritelty standardeissa yhteensopivuuden takaamiseksi Taustaväylä (backplane bus) Mahdollistaa prosessorin, muistin ja I/O-laitteen toimivan samalla väylällä Käytetään väliväylänä I/O-väylän kytkemiseen prosessori-muisti -väylään

Väyläsignaalit Datalinjat Siirtävät osoitteita ja dataa Multipleksoitu tai erilliset linjat Ohjauslinjat Indikoi datan tyyppi, synkronoi tapahtumat #27

Synkronointi Synkroninen väylä (esim. prosessori-muisti -väylä) #28 sisältää kellosignaalin ohjaussignaaleissa kiinteitä kommunikointiprotokolla, joka on määritelty suhteessa kellosignaaliin etu: tarvitaan vähän logiikkaa ja voi toimia nopeasti haitta: kaikkien laitteiden on käytettävä samaa kellotaajuutta kellosignaalin etenemisviiveen takia, väylän pituus ei voi olla pitkä jos kellotaajuus on korkea Asynkroninen väylä (esim. I/O -väylät) ei kellotettu, joten tarvitaan kättelyprotokolla ja ylimääräisiä ohjauslinjoja (ReadReq, Ack, DataRdy) etu: voi tukea erilaisia laitteita ja eri siirtonopeuksia väylää voidaan pidentää ilman kellosignaalin etenemisviiveen aiheuttamia ongelmia tai synkronointiongelmia haitta: hitaampi

I/O väyläesimerkkejä Firewire USB 2.0 PCI Express Serial ATA Serial Attached SCSI Intended use External External Internal Internal External Devices per channel 63 127 1 1 4 Data width 4 2 2/lane 4 4 Peak bandwidth 50MB/s or 100MB/s 0.2MB/s, 1.5MB/s, or 60MB/s 250MB/s/lane 1, 2, 4, 8, 16, 32 300MB/s Hot pluggable Yes Yes Depends Yes Yes 300MB/s Max length 4.5m 5m 0.5m 1m 8m Standard IEEE 1394 USB Implementers Forum PCI-SIG SATA-IO INCITS TC T10 #29

#30 Tyypillinen x86 PC I/O -järjestelmä

I/O-hallinta OS hallinnoi välillisesti I/O-toimintaa Useampi ohjelma jakaa I/O-resursseja Tarvitaan suojaus- ja vuoronnusmekamismeja I/O aiheuttaa asynkronisia keskeytyksiä Samat mekanismit kuin poikkeuksissa I/O ohjelmointi vaatii pikkutarkkuutta OS tarjoaa ohjelmille abstraktion ja kätkee yksityiskohdat #31

I/O -komennot I/O-ohjaimen laitteisto hallinnoi I/O-laitteita siirtää dataa laitteelle/laitteelta Synkronoi operaatiot ohjelmiston kanssa Komentorekisterit Komentaa laitteen tekemään annetun toiminnon Tilarekisterit Indikoi mitä laite on tekemässä ja mahdollisten virheiden tapahtuminen Datarekisterit Siirrä dataa laitteelle tai laitteelta #32

I/O rekistereiden kuvaus Muistikuvattu I/O Rekisterit kuvataan samaan avaruuteen kuin muisti Osoitedekoodaus erottaa muistin ja I/O rekisterit OS käyttää osoitteenkäännösmekanismia niin, että I/O-rekistereitä voi käyttää vain kernel-tilassa I/O -käskyt Käytössä erilliset käskyt I/O rekistereiden viittaukseen Käskyjä voidaan käyttää vain kernel-tilassa #33

Kiertokysely (polling) Tarkastetaan I/O-tilarekisteri jaksollisesti Jos laite on valmis, suoritetaan operaatio Jos virhetila, suoritetaan tarvittavat toipumistoimenpiteet Yleinen pienissä ja matalan suorituskyvyn reaaliaikaisissa sulautetuissa järjestelmissä Ennustettava ajoitus Alhainen laitekustannus Muissa järjestelmissä tuhlaa CPU-aikaa #34

Keskeytykset Laitteen vapautuessa tai virheen tapahtuessa ohjain keskeyttää CPU:n Keskeytys ei ole synkronoitu käskyn suoritukseen kuten poikkeus Prioriteetit Välitöntä huomiota tarvitsevat laitteet saavat korkeamman prioriteetin Korkeamman prioriteetin keskeytys voi keskeyttää alemman prioriteetin käsittelijän Edut: prosessorin ei tarvitse jatkuvasti kysellä I/O-laitteen tilaa sovellusohjelman suoritus keskeytyy ainoastaan varsinaisen datan siirron ohjauksen yhteydessä Haitta: tarvitaan erillinen keskeytyslaitteisto #35

I/O -datan siirto Kiertokysely ja keskeytysohjattu I/O CPU siirtää dataa muistin ja I/O datarekisterin välillä Kuluttaa aikaa nopeiden laitteiden yhteydessä Suora muistihaku (direct memory access, DMA) OS antaa siirtoon varatun muistialueen alkuosoitteen I/O ohjain siirtää data itsenäisesti Ohjain antaa keskeytyksen tehtävän päätyttyä tai virheen ilmaantuessa #36

DMA/välimuisti -vuorovaikutus jos DMA kirjoittaa muistilohkoon, joka on välimuistissa välimuistissa oleva kopio pilaantuu jos takaisinkirjoittavassa välimuistissa on likainen lohko ja DMA lukee lohkon Luettu data pilaantuu välimuistin koherenssi on varmistettava tyhjennä välimuistista ne lohkot, jos DMA tulee käyttämään niitä, tai käytä I/O:n yhteydessä muistipaikkoja, joihin ei sovelleta välimuistia #37

DMA/VM vuorovaikutus OS käyttää virtuaaliosoitteita muistin osoitukseen, jolloin DMA-lohkot eivät ole välttämättä muistissa peräkkäin pitäisikö DMA:n käyttää virtuaaliosoitteita? Vaatisi ohjaimen suorittavan osoitekäännöksen jos DMA käyttää fyysisiä osoitteita siirrot voi joutua katkomaan sivun-kokoisiksi paloiksi, tai ketjuttamaan useampia siirtoja, tai allokoidaan peräkkäisiä fyysisiä sivuja DMA:lle #38

I/O:n suorituskyvyn mittaus I/O-suorituskyky riippuu laitteistosta: CPU, muisti, ohjaimet, väylät ohjelmistosta: OS, tietokannan hallinta, sovellukset kuormasta: pyyntöjen taajuudesta ja kuviosta I/O järjestelmän suunnitelu on kompromissi vasteajan ja läpäisyn välillä Läpisymittaukset tehdään usein rajoitetulla vasteajalla #39

I/O:n vs. CPU:n suorituskyky Amdahlin laki I/O:n suorituskykyä ei pidä jättää huomioimatta rinnakkaisuuden kasvattaessa laskentakykyä Esim. Benchmark-sovellus vie 90s CPU-aikaa, 10s I/O-aikaa Kahdessa vuodessa ytimien lukumäärä kaksinkertaistuu, mutta I/O ei muutu Year CPU-aika I/O-aika kokonaisaika I/O-aika % nyt 90s 10s 100s 10% +2 45s 10s 55s 18% +4 23s 10s 33s 31% +6 11s 10s 21s 47% #40

Levyn luotettavuus Jos valmistaja lupaa MTTF = 1,200,000hr (140yr) niin levy toimii virheettä näin kauan Väärin: kyseessä keskimääräinen aika vikaantumiseen Mikä on vikaantumisten hajonta? Jos käytössä olisi 1000 levyä, niin kuinka monta vikaantuu vuoden aikana? 1000 disks 8760 hrs/disk Annual FailureRate (AFR) = = 1200000 hrs/failure 0.73% #41

Määritelmä 1GB/s väylä siirtää 1GB yhdessä sekunnissa Paljonko on GB? kaistanleveydessä, 1GB = 10 9 B talletuksessa, 1GB = 2 30 B = 1.075 10 9 B 1GB/sec = 0.93GB yhdessä sekunnissa #42