Constructing scalable services Ville Kyrki 1757 Rinnakkaislaskennan jk Kevät 2000
Skaalautuvat palvelut •Monimutkaisissa järjestelmissä paljon erilaisia resursseja •Järjestelmän eri osat tarvitsevat vaihtelevia palveluita •Resurssien jako (resource sharing) on eräs avainongelma
Resurssien jako •Tavoitteena löytää resurssin ylimäärä- ja tarveparit •Maksimoitava tehokkuus käyttämällä järjestelmän kaikkia resursseja •Algoritmien oltava skaalautuvia •Jakamisen onnistuttava myös heterogeenisessä ympäristössä •Keskitettyä hallintaa vältettävä
Monimutkaiset järjestelmät •Vaihtelevat kommunikointiajat •Solmut tarjoavat eri resursseja •Ongelmia: –turvallisuus –heterogeenisuus –toimivuus –tehokkuus (erityisesti järjestelmän koon kasvaessa)
Skaalautuvuus •Algoritmi&arkkitehtuuri -yhdistelmän ominaisuus •Skaalautuva systeemi toimii tehokkaasti myös solmujen määrän kasvaessa •Resurssin tarve ei saa riippua järjestelmän koosta •Keskitetty järjestelmä ei yleensä mahdollinen
Resurssienjakoalgoritmeja •Satunnainen valinta •Kynnysmenetelmä –Etsii ensimmäisen tiettyä kynnystä paremman solmun •Lyhin jono –Tutkii useita solmuja ja valitsee lyhimmän jonon
FLS (Flexible Load Sharing) •Kuten kynnysmenetelmä, mutta käytetään välimuistiin talletettuja paikallisia tietoja •Käytetään luonnollisia yhteistyökumppaneita –Resurssipula ja -ylimäärä-parit –Selviävät aluksi satunnaisesti •Ei turhaan etsitä parasta ratkaisua vaan tyydytään kelvolliseen
Läheisyys •Läheisyys (proximity) kuvaa lähinnä kahden solmun kommunikaatioviivettä •FLS algoritmiä voidaan parantaa noin 20 % käyttämällä lisätietona läheisyysmittaa •Järjestelmien skaalautuvuus 80 % kuormalla lähes 1
Johtopäätökset •Monimutkaisissa verkoissa päätökset pakko tehdä paikallisesti •Skaalautuvuus tärkeää, myös tulevaisuuden teknologioiden nopeaksi omaksumiseksi •Eräs vaihtoehto välimuistin käyttö –tallennetaan etäisyystietoja –tietojen uudelleenkäyttö myös mahdollista