Suorituskykyanalyysi, 2 ov, kurssikuulustelu 13.5.2002
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi,
opiskelijanumero (tai henkilötunnus),
kurssin nimi, nimikirjoitus ja sivunumero.
Sallittu oheismateriaali: laskin ja jaettu liite "Appendix C -
Formulas" [Menasce 1994].
Liite tulee palauttaa kokeen jälkeen.
- [13 p] Yksinkertainen verkkokortti käsittelee saapuvia viestejä yksi
kerrallaan. Verkkopuolella viestit saapuvat keskimäärin 30 ms välein ja
ne tallettuvat viestipuskuriin (B). Kommunikointiprosessorille (IP)
lähetetään signaali viestipuskurin täytyttyä. Kommunikointiprosessori
IP (tai oikeastaan kommunkointiprosessi joka suorittaa IP:llä) kopioi
viestin (ilman mitattavaa viivettä) puskurista B verkkokortin
muistialueelle (datarekisteriin) DReg, joka on myös laskentaprosessorin
(GPU) osoiteavaruudessa. IP signaloi sen jälkeen laitekeskeytyksellä
GPU:lla suoritettavaa verkon laiteajuria, joka kopio tiedon DReg'istä
keskusmuistiin. Tähän kuluu keskimäärin 10 ms, jonka jälkeen IP voi
jälleen kopioida seuraavan viestin puskurista B datarekisteriin DReg, jne.
Jos puskuri B on täynnä viestin saapuessa, viesti hylätään ja (toivon
mukaan) lähetetään myöhemmin uudelleen jonkin ylemmän tason protokollan
toimesta.
- Mikä on verkkokortin maksimikapasiteetti saapuvien viestien suhteen?
- Mikä on keskimääräinen viestipuskurin (B) täyttöaste
(utilization)?
- Kauanko kestää keskimäärin, että juuri saapunut viesti on
luettavissa verkkokortin datarekisterissä?
- Kauanko kestää keskimäärin, että saapunut viesti on saatu
kopioitua keskusmuistiin?
- Mikä on (datarekisteriin DReg) perille tulevien viestien
saapumistiheys?
- Miten suuri osa viesteistä hylätään?
- Mitkä ovat johtopäätöksesi verkkokortin suorituskyvystä?
- Miten arvioisit useamman viestipuskurin lisäämisen vaikutusta kortin
suorituskykyyn?
(Älä tee tätä arviointia, mutta kerro miten se tulisi tehdä)
Kirjaa oletuksesi ja perustele työsi.
- [12 p] Tarkasteltavana on WWW-verkkopalvelin, jonka suorituskyky on
havaittu heikoksi. Asiakkaat valittavat, että sivut tulevat esille
hitaasti. Mahdollisina toimenpiteinä on ehdotettu ainakin
keskusmuistitilan määrän kaksinkertaistamista, tiedostovälimuistille
varatun keskusmuistialueen lisäämistä ja/tai levyasemien (4 kpl)
vaihtamista uudempiin, nopeammin pyöriviin. Tehtävänäsi on hahmotella
yrityksen johdolle suorituskykyanalyysiin perustuva projekti, jonka avulla
päästään haluttuun tulokseen mahdollisimman pienillä kustannuksilla.
Oletetaan tässä (epärealistisesti), että suorituskykyanalyysi tehdään
harjottelijavoimin, eikä sen tekemisestä tarvitse siten maksaa juurikaan
palkkaa. Työn jälki on silti tietenkin erinomaista!
Anna karkea (alle 3 sivua) suorituskyvynarviointisuunnitelma tämän
projektin suorittamiseksi. Kerro myös, minkälaisia laitteisto ja
henkilöresursseja projektiin tarvitaan, ja mikä on projektin arvioitu
kestoaika.
- [13 p] MVA ja approksimatiivinen MVA (Approximate MVA).
- [3 p] Minkä ongelman ne ratkaisevat? Miten ne eroavat toisistaan?
Mitä niillä on yhteistä?
- [6 p] Hahmottele ratkaisumenetelmät pääpiirteissään. (Pelkät
kaavat eivät riitä!)
- [2 p] Milloin MVA:ta kannattaa käyttää, mutta ei approksimatiivista
MVA:ta? Miksi?
- [2 p] Milloin approksimatiivista MVA:ta kannattaa käyttää, mutta ei
MVA:ta? Miksi?
- [12 p] Joissakin tapauksissa suoraviivaista jonoverkkomallien
analyyttistä ratkaisua ei voida käyttää. Kerro kustakin alla olevasta
esimerkistä, (i) miksi suoraviivaista ratkaisua ei voida käyttää ja (ii)
kuinka malli voitaisiin kuitenkin ratkaista:
- [4 p] Järjestelmän osana on I/O-alijärjestelmä, jossa on useita
eri komponentteja, joiden toiminnasta emme saa lainkaa selkoa. Niitä ei
ole dokumentoitu lainkaan, emmekä voi helposti suorittaa mitään
komponenttikohtaisia mittauksia. Toisaalta, alijärjestelmä voidaan
eristää muusta systeemistä ja pystymme tekemään koko
alijärjestelmää koskevia mittauksia erilaisilla kuormitusasteilla.
Esimerkiksi, jos alijärjestelmässä on 4 I/O-työtä, niin sen
keskimäärinen vasteaika on 16 ms.
- [4 p] Osa töistä on tärkeämpiä kuin muut ja ne saaavat etusijan
suorittimen skeduloinnissa.
- [4 p] Meillä on isohko järjestelmä, jossa muutamassa työluokassa
kukin työ käyttää paljon suuria temp-tiedostoja, jotka allokoidaan
aina siltä levyltä, jolla työn alussa on vähiten kuormaa (pienin
jonopituus). Levyjä on useita erilaisia eri valmistajilta. Eri
työluokilla on kullakin hyvin erilaiset palveluajat suorittimella.
Suorittimen skedulointi on puhdas FIFO eikä se perustu
työluokkakohtaisiin prioriteetteihin.