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.
  1. [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.
    1. Mikä on verkkokortin maksimikapasiteetti saapuvien viestien suhteen?
    2. Mikä on keskimääräinen viestipuskurin (B) täyttöaste (utilization)?
    3. Kauanko kestää keskimäärin, että juuri saapunut viesti on luettavissa verkkokortin datarekisterissä?
    4. Kauanko kestää keskimäärin, että saapunut viesti on saatu kopioitua keskusmuistiin?
    5. Mikä on (datarekisteriin DReg) perille tulevien viestien saapumistiheys?
    6. Miten suuri osa viesteistä hylätään?
    7. Mitkä ovat johtopäätöksesi verkkokortin suorituskyvystä?
    8. 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.

  2. [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.

  3. [13 p] MVA ja approksimatiivinen MVA (Approximate MVA).
    1. [3 p] Minkä ongelman ne ratkaisevat? Miten ne eroavat toisistaan? Mitä niillä on yhteistä?
    2. [6 p] Hahmottele ratkaisumenetelmät pääpiirteissään. (Pelkät kaavat eivät riitä!)
    3. [2 p] Milloin MVA:ta kannattaa käyttää, mutta ei approksimatiivista MVA:ta? Miksi?
    4. [2 p] Milloin approksimatiivista MVA:ta kannattaa käyttää, mutta ei MVA:ta? Miksi?


  4. [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:
    1. [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.
    2. [4 p] Osa töistä on tärkeämpiä kuin muut ja ne saaavat etusijan suorittimen skeduloinnissa.
    3. [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.