elosztott rendszerek: alapelvek és paradigmák distributed...
Post on 24-Oct-2019
4 Views
Preview:
TRANSCRIPT
Elosztott rendszerek: Alapelvek és paradigmákDistributed Systems: Principles and Paradigms
Maarten van Steen1 Kitlei Róbert 2
1VU Amsterdam, Dept. Computer Science2ELTE Informatikai Kar
1. rész: Bevezetés
2015. május 24.
Tartalomjegyzék
Fejezet01: Bevezetés02: Architektúrák03: Folyamatok04: Kommunikáció05: Elnevezési rendszerek06: Szinkronizáció07: Konzisztencia & replikáció08: Hibaturés10: Objektumalapú elosztott rendszerek11: Elosztott fájlrendszerek12: Elosztott webalapú rendszerek
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 2 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Definíció: Elosztott rendszer
Az elosztott rendszerönálló számítógépek olyan összessége, amelykezeloi számára egyetlen koherens rendszernek tunik.
Két szempont: (1) független számítógépek és(2) egyetlen rendszer ⇒ köztesréteg (middleware).
Local OS 1 Local OS 2 Local OS 3 Local OS 4
Appl. A Application B Appl. C
Computer 1 Computer 2 Computer 4Computer 3
Network
Distributed system layer (middleware)
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 3 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Az elosztott rendszer céljai
Távoli eroforrások elérhetové tételeÁtlátszóság (distribution transparency)Nyitottság (openness)Skálázhatóság (scalability)
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 4 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Átlátszóság
Fajta Angolul Mit rejt el az eroforrással kapcsolatban?
Hozzáférési/elérési Access Adatábrázolás; elérés technikai részleteiElhelyezési Location Fizikai elhelyezkedésÁthelyezési Migration Elhelyezési + a hely meg is változhatMozgatási Relocation Áthelyezési + használat közben is
történhet az áthelyezésTöbbszörözési Replication Az eroforrásnak több másolata is lehet a
rendszerbenEgyidejuségi Concurrency Több versenyhelyzetu felhasználó is
elérheti egyszerreMeghibásodási Failure Meghibásodhat és újra üzembe állhat
Megjegyzés
A fentiek lehetséges követelmények, amelyeket a rendszerrel kapcsolatbantámaszthatunk. A félév során megvizsgáljuk, hogy melyik mennyire érheto el.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 5 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Az átlátszóság mértéke
Mekkora átlátszóságot várhatunk el?
A teljes átlátszóságra törekvés általában túl eros:
A felhasználók különbözo kontinenseken tartózkodhatnakA hálózatok és az egyes gépek meghibásodásának teljes elfedéseelméletileg és gyakorlatilag is lehetetlen
Nem lehet eldönteni, hogy a szerver csak lassan válaszol vagymeghibásodottTávolról nem megállapítható, hogy a szerver feldolgozta-e akérésünket, mielott összeomlott
A nagymértéku átlátszóság a hatékonyság rovására megy, de akésleltetést is el szeretnénk rejteni
Ilyen feladat lehet a webes gyorsítótárak (cache-ek) tökéletesenfrissen tartásaMásik példa: minden változás azonnal lemezre írása nagymértékuhibaturéshez
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 6 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott rendszerek nyitottsága
Nyitott elosztott rendszerA rendszer képes más nyitott rendszerek számára szolgáltatásokatnyújtani, és azok szolgáltatásait igénybe venni:
A rendszerek jól definiált interfészekkel rendelkeznekAz alkalmazások hordozhatóságát (portability) minél inkábbtámogatjákKönnyen elérheto a rendszerek együttmuködése (interoperability)
A nyitottság eléréseA nyitott elosztott rendszer legyen könnyen alkalmazható heterogénkörnyezetben, azaz különbözo
hardvereken,platformokon,programozási nyelveken.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 7 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Nyitottság: követelményrendszerek, mechanizmusok
A nyitottság implementálása
Fontos, hogy a rendszer könnyen cserélheto részekbol álljonBelso interfészek használata, nem egyetlen monolitikus rendszerA rendszernek minél jobban paraméterezhetonek kell lennieEgyetlen komponens megváltoztatása/cseréje lehetoleg minél kevésbéhasson a rendszer más részeire
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 8 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Nyitottság: követelményrendszerek, mechanizmusok
PéldákA nyitott rendszer követelményeket (policy) ír elo, amelyekhez jó, haminél több megvalósító megvalósítás (mechanism) érheto el arendszerben. Néhány szóbajöheto példa:
Mennyire eros konzisztenciát követeljünk meg a kliensoldaloncache-elt adatokra? Legyen dinamikusan beállítható, hogyandöntse el a rendszer az adatról, milyen erosen legyen konzisztens.A letöltött kód milyen muveleteket hajthasson végre? A mobilkódhoz rendeljünk különbözo megbízhatósági szinteket.Milyen QoS követelményeket támasszunk változó sávszéleségurendszerben? Minden folyamra külön lehessen QoSkövetelményeket beállítani.Milyen mértékben titkosítsuk a kommunikációs csatornánkat? Arendszer kínáljon többfajta titkosítási mechanizmust, amelyekközül választani lehet.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 9 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Átméretezhetoség (scalability)
Átméretezhetoség
Ha egy „kis” rendszer megno, az sokfajta kihívást jelenthet. Több különbözojellege is megnohet a rendszernek:
méret szerinti átméretezhetoség: több felhasználó és/vagy folyamat vana rendszerbenföldrajzi átméretezhetoség: a rendszert nagyobb területrol veszikigénybe, pl. egyetemen belüli felhasználás→világméretufelhasználóbázisadminisztrációs átméretezhetoség: biztonsági, karbantartási,együttmuködési kérdések merülnek fel, ha új adminisztrációstartományok kerülnek a rendszerbe
Megjegyzés
A legtöbb rendszer a méret szerinti átméretezhetoséget kezeli.(Nem mindig) megoldás: erosebb szerverek használata.A másik két jellegu átméretezhetoséget nagyobb kihívás kezelni.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 10 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Technikák az átméretezhetoség megvalósítására
A kommunikációs késleltetés elfedéseA válaszra várás közben más tevékenység végzése:
Aszinkron kommunikáció használataA beérkezo választ külön kezelo dolgozza felProbléma: nem minden alkalmazás ültetheto át ilyenmegközelítésre
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 11 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Technikák az átméretezhetoség megvalósítására
ElosztásAz adatokat és a számításokat több számítógép tárolja/végzi:
A számítások egy részét a kliensoldal végzi (Java appletek)Decentralizált elnevezési rendszerek (DNS)Decentralizált információs rendszerek (WWW)
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 12 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Technikák az átméretezhetoség megvalósítására
Replikáció/cache-elésTöbb számítógép tárolja egy adat másolatait:
Replikált fájlszerverek és adatbázisokTükrözött weboldalakWeboldalak cache-elése (böngészokben, proxy szervereken)Fájlok cache-elése (a szerver- és kliensoldalon)
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 13 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Átméretezhetoség – a probléma
MegjegyzésAz átméretezhetoség könnyen elérheto, de ára van:
Több másolat fenntartása (cache vagy replika) inkonzisztenciáhozvezet: ha módosítunk egy másolatot, az eltér a többitol.A másolatok konzisztensen tartásához globális szinkronizációravan szükség minden egyes változtatás után.A globális szinkronizáció viszont rosszul skálázható nagyrendszerekre.
KövetkezményHa feladjuk a globális szinkronizációt, akkor kénytelenek vagyunkbizonyos fokú inkonzisztenciát elviselni a rendszerünkben.Az, hogy ez milyen mértékben elfogadható, rendszerfüggo.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 14 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott rendszerek fejlesztése: hibalehetoségek
MegjegyzésAz elosztott rendszer környezetérol kényelmes lehet feltételezni, hogymegbízható. Ha ez tévesnek bizonyul, az a rendszer újratervezéséhezvezethet. Néhány ilyen feltételezés:
a hálózat hibamentesa hálózat biztonságosa hálózat homogéna hálózati topológia nem változika kommunikációnak nincsen idoigényea sávszélesség korlátlana kommunikációnak nincsen költségecsak egy adminisztrátor van
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 15 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott rendszerek fajtái
Elosztott számítási rendszerekgridcloudinformációs rendszerek
Elosztott információs rendszerekElosztott átható (pervasive, ubiquitous) rendszerek
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 16 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott számítási rendszerek
Számítási rendszerSok elosztott rendszer célja számítások végzése nagy teljesítménnyel.
Cluster (fürt)Lokális hálózatra kapcsolt számítógépek összessége.
Homogén: ugyanaz az operációs rendszer, hardveresen nem vagycsak alig térnek elA vezérlés központosítva van, általában egyetlen gépre
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 17 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott számítási rendszerek
Local OSLocal OS Local OS Local OS
Standard network
Component of
parallel application
Component of
parallel application
Component of
parallel applicationParallel libs
Management application
High-speed network
Remote access network
Master node Compute node Compute node Compute node
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 18 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott számítási rendszerek
Grid (rács)Több gép, kevésbé egységesek:
Heterogén architektúraÁtívelhet több szervezeti egységenNagyméretu hálózatokra terjedhet ki
MegjegyzésAz együttmuködést sokszor virtuális szervezetek kialakításával segítik.Ez a felhasználókat csoportosítja, akiknek így egységesen leheteroforrásokat kiutalni.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 19 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott számítási rendszerek
Felho (cloud)Többrétegu architektúra.
Application
Infrastructure
Computation (VM), storage (block)
Hardware
Platforms
Software framework (Java/Python/.Net)Storage (DB, File)
Infr
astr
uctu
rea
a S
vc
Pla
tfo
rma
a S
vc
So
ftw
are
aa
Svc Google Apps
YouTubeFlickr
MS AzureAmazon S3
Amazon EC2
DatacentersCPU, memory, disk, bandwidth
Web services, multimedia, business apps
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 20 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott számítási rendszerek
FelhoNégy különbözo réteg:
Hardver: Processzorok, útválasztók (routerek), áramforrások,hutoberendezések. A felhasználók közvetlenül nem látják.Infrastruktúra: Virtuális hardvert tesz elérhetové: szerver,adattároló, hálózati kapcsolat, számítási kapacitás lefoglalása éskezelése.Platform: Magasabb szintu absztrakciókat biztosít. Pl. az AmazonS3 társzolgáltatás különbözo fájlmuveleteket biztosít; afelhasználónak vödrei (bucket) vannak, ebbe feltölthet, letölthetstb. fájlokat egy API segítségével .Alkalmazás: A végfelhasználónak szánt, jellemzoen grafikusfelületu alkalmazások.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 21 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott információs rendszerek
Elosztott információs rendszerekSok elosztott rendszer elsodleges célja adatok kezelése, illetvemeglevo ilyen rendszerek elérése. Példa: tranzakciókezelo rendszerek.
BEGIN_TRANSACTION(server, transaction)READ(transaction, file-1, data)WRITE(transaction, file-2, data)newData := MODIFIED(data)IF WRONG(newData) THEN
ABORT_TRANSACTION(transaction)ELSE
WRITE(transaction, file-2, newData)END_TRANSACTION(transaction)
END IF
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 22 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott információs rendszerek: tranzakciók
ModellA tranzakció adatok összességén (adatbázis, objektumok vagy más adattár)végzett muvelet (lehetnek részmuveletei), melynek az alábbi tulajdonságaivannak. A kezdobetuk rövidítésébol ACID-nek szokás nevezni akövetelményrendszert.
Oszthatatlan, elemi (atomicity): Vagy a teljes tranzakció végbemegy mindenrészmuveletével, vagy pedig az adattár egyáltalán nem változik meg.
Konzisztens (consistency): Az adattárra akkor mondjuk, hogy érvényes, ha(az adattárra jellemzo) feltételek teljesülnek rá. A tranzakció konzisztens,ha érvényes állapotot állít elo. Ez a követelmény csak a tranzakcióvégére vonatkozik: menet közben eloállhat érvénytelen állapot.
Elkülönülo, sorosítható (isolation): Egyszerre zajló tranzakciók "nemzavarják" egymást: olyan eredményt adnak, mintha egymás után sorbanfutottak volna le.
Tartósság (durability): Végrehajtás után az eredményt tartós adattárolóramentjük, így a rendszer esetleges összeomlása után visszaállítható.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 23 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Tranzakciófeldolgozó monitor (Transaction ProcessingMonitor)
MegjegyzésA tranzakciókat sokszor több szerver hajtja végre. Ezeket egy TPmonitor vezérli.
TP monitor
Server
Server
Server
Client application
Requests
Reply
Request
Request
Request
Reply
Reply
Reply
Transaction
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 24 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Alkalmazásintegráció nagy rendszerekben
ProblémaA TP monitor nem választja el az alkalmazásokat az adatbázisoktól.Továbbá az alkalmazásoknak egymással is kommunikálniuk kell.
Server-side application
Server-side application
Server-side application
Client application
Client application
Communication middleware
Távoli eljáráshívás (Remote Procedure Call, RPC)Üzenetorientált köztesréteg (Message-Oriented Middleware, MOM)
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 25 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Elosztott átható rendszerek
Átható rendszerSok modern elosztott rendszer kicsi, mobil elemekbol áll.
Néhány jellemzo
A környezet megváltozhat: A rendszernek ezt követnie kell.Ad hoc szervezodés: A rendszer komponenseit nagyon különbözomódokon használhatják a felhasználók. Ezért a rendszernek könnyenkonfigurálhatónak kell lennie.Megosztott szolgáltatások: Mivel a rendszer nagyon változékony, azadatoknak könnyen kell áramlaniuk. Ennek elosegítésére a rendszerelemei általában nagyon egyszeru szerkezetuek.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 26 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Érzékelohálózatok
JellemzokAz érzékeloket tartalmazó csúcsok
sok van belolük (nagyságrendileg 10-1000 darab)egyszeruek (kevés memória, számítási és kommunikációskapacitás)sokszor elemrol muködnek, vagy áramforrás sem szükségeshozzájuk
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 27 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Érzékelohálózatok mint elosztott rendszerek
Operator's site
Sensor network
Sensor data is sent directly
to operator
Operator's site
Sensor network
Query
Sensors send only answers
Each sensor can process and
store data
(a)
(b)Maarten van Steen, Kitlei Róbert Elosztott rendszerek 28 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Példák
TömegirányításHelyzet: rendezvény fix útvonalakkal (kiállítás, fesztivál)Cél: az embereket a megfelelo helyre irányítani
a hasonló érdeklodésu emberek egy helyre menjenekvészhelyzet esetén a fenti csoportokat ugyanahhoz a kijárathozirányítani
Cél: összetartozó embereket (pl. családokat) egyben tartani
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 29 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Példák
Szociális játékHelyzet: Konferencia, a résztvevok különbözo csoportokbanérkeztek.Cél: A csoportok vegyítésének elosegítése.Megközelítés: A rendszer figyeli, hogy a csoportok hogyanviselkednek
Ha külön csoportokból származó embereket észlel, bónuszpontokatkapnak az emberek és a csoportok egyaránt.A rendszer kiosztja a csoportszintu pontokat a tagok között.Az eredményeket elektronikus kituzok mutatják (feedback andsocial intervention).
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 30 / 31
1.1 Definíció 1.2 Célok 1.3 Elosztott rendszerek fajtái
Példa: Szociális játékA szociális játék egy kituzoje.
Maarten van Steen, Kitlei Róbert Elosztott rendszerek 31 / 31
top related