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



Samankaltaiset tiedostot
D B. Levytiedostojen käsittely. Levytiedostojen käsittely

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tietokantaoperaatioiden toteutuksesta Harri Laine 1

Levymuisti. R&G Chapter 8 & Tietokannan hallinta, kevät 2006, Jan 1

TK Palvelinympäristö

Tiedon talletuspaikkoja. Levymuisti. Vaihtoehtoisia talletusrakenteita. Tietokantojen säilytys. R&G Chapter 8 & 9. Useita vaihtoehtoja:

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

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

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

D B. Tiedostojen käsittely

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 2: Tiedostot ja tiedon varastointi

Luento 9 Järjestelmän ulkoinen muisti

2 Konekieli, aliohjelmat, keskeytykset

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Helsingin yliopisto/tktl Tietokannan hallinta kevät Harri Laine 1 D B. Yksitasoiset talletusrakenteet

Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen

Luento 9 Järjestelmän ulkoinen muisti

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

Verkon värittämistä hajautetuilla algoritmeilla

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

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

2. Tietokannan tallennusrakenteet

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

D B. Tietokannan hallinta kertaus

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

Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström

Hakemistorakenteet. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1

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

Massamuistit. Kun kiintolevy täyttyy tai hajoaa, edessä on uuden osto. Mutta millainen kiintolevy sopii tietokoneeseeni, miten osaan valita sopivan?

Sisältö. Levy I/O Linux ja W2000 levy I/O. Ch [Stal 05] Ch 20.8 [DDC 04] RAID Lohkopuskurit (disk cache) Esimerkit: Linux, W2K

Levy I/O Linux ja W2000 levy I/O

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

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

Kombinatorinen optimointi

Hakemistotyypeistä. Hakemistorakenteet. Hakemiston toteutuksesta. Hakemiston toteutuksesta

Hajautusrakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Hajautusrakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet

Lyhenteet Siirtoprosessin vaiheet (ja vastaavat viestit) NPO Siirtopyyntö NPOC Siirtohyväksyntä NPC Siirtovahvistus SC-NOTICE SD-NOTICE

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

LUENTO 9. u kannattaa minimoida siirrot. u huonoja, eivät huomioi hakuvarren nykyistä positiota. (Fig 11.6 [Stal05])

TKT-3201 Tietokonearkkitehtuuri 2

Fyysinen suunnittelu

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

FYYSINEN SUUNNITTELU

Luento 9 Järjestelmän ulkoinen muisti

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

Monimutkaisempi stop and wait -protokolla

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Vikasietoisuus ja luotettavuus

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Nopea, hiljainen ja erittäin taloudellinen ilmanpoisto

1. Tietokoneverkot ja Internet

URN: NBN:fi-fe

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

Cabas liitännän käyttö AutoFutur ohjelmassa

7.4 Sormenjälkitekniikka

Ohjelmoinnin perusteet Y Python

Helsingin yliopisto/tktl Kyselykielet, s 2006 Tietokantaoperaatioiden toteutuksesta Harri Laine 1. Tiedostorakenteet.

FYYSINEN SUUNNITTELU

Stallings, Luku

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

Luento 9 Järjestelmän ulkoinen muisti

S Laskuharjoitus 2: Ratkaisuhahmotelmia

Luento 9 Järjestelmän ulkoinen muisti

1 Määrittele seuraavat langattoman tiedonsiirron käsitteet.

LAUSEKKEET JA NIIDEN MUUNTAMINEN

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

Tietorakenteet, laskuharjoitus 7, ratkaisuja

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

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

CUDA. Moniydinohjelmointi Mikko Honkonen

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

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

Linux-ylläpito, kevät -10. Jani Jaakkola

Ulkoinen muisti ja IIO:n toteutus

D B. Harvat hakemistot. Harvat hakemistot

esimerkkejä erilaisista lohkokoodeista

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Tietorakenteet ja algoritmit - syksy

Sisältö. Siirrännän hierarkia. RAID tavoitteet. RAID tavoitteet. Levy I/O Linux ja W2000 levy I/O. Ch [Stal 05] Ch 20.

2G-verkoissa verkkosuunnittelu perustuu pääosin kattavuuden määrittelyyn 3G-verkoissa on kattavuuden lisäksi myös kapasiteetin ja häiriöiden

2 Eläinlistan kautta voidaan tallentaa tietoja kuolleille eläimille

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

mikä sen merkitys on liikkuvalle ammattilaiselle?

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ä

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Dell Fluid Data TM solutions

Transkriptio:

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 sadasta muutamaan tuhanteen, päällekkäiset urat muodostavat sylinterin (cylinder) Urat voivat jakautuvat sektoreihin (sector) 1

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

Levyn rakenne Lohko (=levyjakso, block) on yhdestä tai useammasta peräkkäisestä sektorista muodostuva alue uralla. Lohkokoko on yleensä 512 tavun monikerta (kakkosen potenssi). Lohkot erotetaan toisistaan lohkovälillä, johon talletetaan lohkoon liittyvää kontrollitietoa. jos sektorikoko on 512B ja lohkokoko 8KB muodostuu yksi lohko 16 peräkkäisestä sektorista Tietoa siirretään levyltä ja levylle aina kokonaisina lohkoina. lohkon fyysinen osoite muodostuu levypinnan numerosta, uran numerosta ja uran sisäisestä lohkon numerosta 3

Levyn rakenne Lohkon sisällön hakemiseksi Siirretään luku/kirjoituspäät halutulle sylinterille (päät siirtyvät kullakin pinnalla samanaikaisesti yhdessä) Odotetaan, että haluttu lohko pyörähtää luku/kirjoituspään kohdalle (levyn pyörimisnopeus luokkaa 100 kierrosta sekunnissa) Aktivoidaan halutulla pinnalla oleva luku/kirjoituspää lukemaan dataa yleensä vain yksi pää voi olla samanaikaisesti aktiivinen I/O prosessori siirtää luetun datan hakupyynnön yhteydessä annettuun puskuriin 4

Hakuaika Levyltä hakemiseen kuluva aika (hakuaika, access time) muodostuu: hakuvarren siirtoajasta eli kohdistusajasta (seek time) (sylinterille siirtyminen) (st) aika riippuu siitä millä sylinterillä päät ovat alunperin, lyhyt siirtymä vie vähemmän aikaa, 0 levykohtainen maksimi. Usein ilmoitetaan keskimääräinen kohdistusaika esim. 6 ms pyörähdysviiveestä (rotational delay) (rd) riippuu alkuperäisestä kohdasta ja pyörimisnopeudesta. lohkon siirtoajasta (block transfer time) (btt) riippuu uran kapasiteetista, pyörimisnopeudesta ja lohkon koosta 5

Pyörähdysviive Jos levyn pyörimisnopeus on p kierrosta minuutissa (rpm), niin keskimääräinen pyörähdysviive rd= ½ *(1/p) min = ½*(60*1000/p) ms Jos p=10000, niin rd=3 ms (tyypillinen) Jos p=6000, niin rd= 5 ms 6

Lohkon siirtoaika Lohkon siirtoaika (= aika, joka kuluu siihen, että lukupää kulkee lohkon sektoreiden yli = täyden kierroksen pyörähdysaika kerrottuna lohkon koon suhteella uran kapasiteettiin Esimerkki: Olkoon lohkokoko 4KB, uralle mahtukoon 50 lohkoa, joten uran kapasiteetti on 200KB. Olkoon kierrosnopeus 6000 rpm eli 100 kierrosta sekunnissa. Tällöin siirtonopeus (transfer rate, tr) =100*200 KB/s =20 KB/ms ja lohkon siirtoaika = lohkokoko/siirtonopeus= 0.2 ms 7

Hakuaika Mitä lähempänä (oikeaan suuntaan) nykyistä kohtaa seuraava haettava jakso on sitä nopeampaa on haku, nopeasta hitaaseen seuraavana samalla uralla samalla sylinterillä seuraavana ei pyörähdysviivettä jossain samalla uralla tai sylinterillä läheisellä sylinterillä kaukaisella sylinterillä 8

Hakuaika Peräkkäisten saman uran ja sylinterin jaksojen siirtäminen on tehokkainta koska tällöin ei tule hakuvarren siirtoa eikä pyörähdysviivettä. Levyjen siirtonopeudet ilmoitetaan usein bitteinä sekunnissa. Voidaan antaa joko sisäinen siirtonopeus ja tehollinen siirtonopeus 9

Hakuaika Olkoon st= kohdistusaika rd= pyörähdysviive btt= jakson siirtoaika= kierrosaika/uran lohkojen lukumäärä. Lohkon hakuaika = sd+rd+btt kohdistusaika ja pyörähdysviive vaihtelevat, arvioissa käytetään usein keskimääräistä hakuaikaa Sivupyynnön toteutuksen palveluaikaan on vielä lisättävä levyohjaimen jonotusaika sillä levyohjain voi suorittaa vain yhtä pyyntöä kerrallaan jonotusaikaan vaikuttaa kaikki levylle kohdistuva kuorma 10

Usean lohkon hakuaika Haettaesa k lohkoa, lohkojen yhteenlaskettu saantiaika on enintään k*(st+rd+btt), jos lohkot sijaitsevat satunnaisesti levyllä sd+k*(rd+btt), jos lohkot sijaitsevat satunnaisesti samalla sylinterillä ja minimissään sd+ rd + k*btt, jos lohkot ovat peräkkäin samalla sylinterillä Kaavojen tekijöistä sd ja rd ovat samaa millisekunneissa mitattavaa kokoluokkaa ja btt T noin kymmes - tuhannesosa niistä (millisekunnin osia) Jos S=5ms, R=5ms ja T=0.2 ms ja k=1000, niin kokonaissaantiajan vaihteluväli olisi 0.22s - 10.2s 11

Levytiedoston käsittely Tiedostot sijoitetaan levylle yhdelle tai useammalle peräkkäisistä lohkoista koostuvalle alueelle voidaan hyödyntää peräkkäiskäsittelyn nopeutta koko tiedoston lukemisessa puskurien hallinnassa voidaan käyttää ns. ennakoivaa hakua (pre-fetch) haetaan valmiiksi puskureihin järjestyksessä seuraavia sivuja vaikka niitä ei ole vielä pyydetty 12

Levytiedoston käsittely Vaikka tiedoston tietueet alunperin sijoitettaisiin tiiviisti lohkoihin voivat poistot ja muutokset huonontaa rakennetta peräkkäisjärjestykseen jää väliin tyhjiä lohkoja poistojen takia jatkotietueet ylivuotolohkoissa vaativat poikkeamista optimaalisesta lukemisjärjestyksestä mahdollisesti jopa siirtymistä pois sylinteriltä 13

RAID levyt ja rinnakkaisuus RAID = redundant array of independent disks ryhmä toisistaan riippumattomia levyjä, jotka toimivat rinnakkain yhtenä loogisena levynä Kullakin levyllä oma levyohjain tavoitteena luotettavuuden ja tehokkuuden parantaminen tehokkuutta parannetaan viipaloinnilla (striping) luotettavuutta redundanssilla (ylimäärällä) Nykyaikainen levyratkaisu 14

RAID levyt ja rinnakkaisuus Viipaloinnin periaatteena on jakaa tiedosto usealle levylle. Tiedonsiirtoa levyjen ja puskureiden välillä voidaan suorittaa rinnakkain koska jokainen levyohjain toimii itsenäisesti. Näin tiedonsiirtonopeus kasvaa. Käytössä on eri viipalekokoihin (striping unit) perustuvia viipalointiperiaatteita. Jos käytettävissä on D levyä, sijoitetaan i:s viipale levylle i mod D. 15

RAID levyt ja rinnakkaisuus Viipalekoko voisi olla yksi bitti. Tällöin D peräkkäistä bittiä ovat kukin eri levyillä ja kaikki D levyä osallistuvat jokaiseen hakuoperaatioon. Koska pienin siirtoyksikkö on lohko joudutaan sivupyynnön yhteydessä siirtämään D lohkoa. Jos käsittely on peräkkäiskäsittelyä, on siirron yhteydessä tehty ennakoiva haku D-kertaisella siirtonopeudella Jos käsittely on hajakäsittelyä, on siirretty turhaa dataa, mutta siihen ei ole mennyt enempää aikaa kuin yhtä levyä käytettäessä 16

RAID levyt ja rinnakkaisuus yhden bitin viipalekoko 4 levyä 0110100100110010001111 010... 100... 101... 011... 17

RAID levyt ja rinnakkaisuus Lohkotason viipaloinnissa viipaleen koko on yksi lohko. Jos sivupyynnöt kohdistuvat eri levyille voidaan pyynnöt suorittaa rinnakkain. Jonotusaika pienenee joten myös hajakäsittely nopeutuu. Peräkkäiskäsittelyssä peräkkäiset lohkot sijaitsevat eri levyillä, joten tiedonsiirtonopeus kasvaa Suurella levymäärällä saadaan suuremmat tehot 18

RAID levyt ja rinnakkaisuus Tietojen jakaminen usealle levylle aiheuttaa luotettavuusongelman. N levyn järjestelmässä häiriön todennäköisyys on N-kertainen yhteen levyyn verrattuna Jos yhden levyn kohdalla häiriövälin odotusarvo on 50000 tuntia (5.7 vuotta), niin 100 levyn järjestelmässä se onkin enää 50000/100 =500 tuntia eli noin 21 päivää Luotettavuutta lisätään ylimäärällä, jolloin häiriöitä voi sietää. 19

RAID levyt ja rinnakkaisuus Eräs ylimäärän muoto on peilaus (mirroring) - Tieto kirjoitetaan kahdelle identtiselle levylle. Jos toinen levy vikaantuu, voidaan jatkaa toisella kunnes vika saadaan korjattua. Kumpaakin levyä voi käyttää sivupyyntöjen toteutukseen, pyyntö ohjataan levylle, jolla on lyhyempi saantiaika. Levyjen tehollinen kapasiteetti puolittuu Kallis ratkaisu 20

RAID levyt ja rinnakkaisuus Peilauksen vaihtoehtona on erilaisia virheenkorjauksen mahdollistavia tekniikoita: Hamming koodi, bittitason tai lohkotason viipalointiin perustuvat pariteettibitit omalla levyllään tai hajautettuna yksikön levyille. 21