—VS—
Eigenschaften
VerteilteSysteme,c©WolfgangSchroder-Preikschat
Uberblick
•charakteristischeEigenschaften:
–Heterogenitat.........................................................5–Nebenlaufigkeit......................................................10–Fehlerverarbeitung...................................................13
•wunschenswerteEigenschaften:
–Sicherheit............................................................17–Offenheit............................................................18–Skalierbarkeit........................................................19–Transparenz.........................................................22
VS—Eigenschaften,c©wosch1
PhysikalischeVerteiltheit
...derHardwarebeziehtsichaufdieVerbindungvonRechnernzueinemNetz,uberdirekteLeitungenbeliebigerArtoderuberTransportsysteme.
•TransportsystemebestehenihrerseitsausRechnernundLeitungen–siebildenalsoeinRechnernetzinnerhalbeinesRechnernetzes
•dieTransportsystemrechnerdienenderDatenweitergabe(Vermittlung)
...derSoftwarespiegeltsichindenProzessenwider,dieaufGrundlagedesRechnernetzeszurAusfuhrungkommenunderoffnetwichtigeVorteiledurch:
•dezentraleInformationsverarbeitung•gemeinsameNutzungvonBetriebsmitteln•ErhohungderZuverlassigkeit
VS—Eigenschaften,c©wosch2
LogischeVerteiltheit
Sonaheliegendesist,diephysikalischeVerteiltheitalsKennzeicheneinesverteiltenSystemsanzusehen,sounklaristes,wannmaneinSystemalsphysikalischverteiltbetrachtetundwannnicht.EsdrangtsichunwillkurlichdieFrageauf,abwelcherEntfernungvonKomponentendieBezeichnungalsverteiltesSystemgerechtfertigtist.[2]
•TechnologiefortschrittbeiderHardwarelasstDistanzenschrumpfen
–gesternnochRechnernetz,heute/morgenein”systemonchip“(SOC)
–dieAufteilungvonFunktionenaufeigenstandigeKomponentenbleibt
•physikalischeVerteilungganzaußerachtzulassen,warejedochzuvoreilig1
1BeispielsweiseerfordertZuverlassigkeitphysikalischvoneinandergetrenntebzw.entfernteKomponenten.
VS—Eigenschaften,c©wosch3
GemeinsameNutzungvonBetriebsmitteln
•derZugriffaufBetriebsmittelkann(zusatzlich)ausderFerneerfolgen
–BetriebsmittelallenProzessenalsDienstleistungzuganglichmachen∗{Druck,Datenbank,Datei,Web,...,Namens}dienst
–BetriebsmittelverwaltersinddabeiselbstProzesse→Server
•diegesamteBetriebsmittelmengekonntegemeinschaftlichverwaltetwerden
SowieesineinemkonventionellenSystemfurdieDurchfuhrungeinesPro-zessesz.B.unerheblichist,welchenSpeicherplatzerzugewiesenbekommt,kannesnunvollkommenegalsein,aufwelchemRechnererausgefuhrtwird.
•dieBetriebsmittelvergabeerweitertsichumeinegeographischeKomponente
VS—Eigenschaften,c©wosch4
Heterogenitat
he·te·ro’gen<Adj.>andersartig,ungleichartig,verschiedenartig,fremstoffig;Ggs.homogen
2
He·te·ro·ge·ni’tat<f.;-;unz.>istinfolgendenBereichenvorzufinden:
•Netzwerke..................Anschlusstyp,Medium,Technik,Topographie•Prozessoren..........................Informationsdarstellung,
”ByteSex“
•Betriebssysteme.............................Ausfuhrungsumgebung,API•Programmiersprachen...............................Semantik,Pragmatik•ImplementierungendurchverchiedenePersonen.................Standards
2ho·mo’gen<Adj.>gleichartig,gleichgeartet,gleichstoffig,gleichmaßig,zusammengesetzt
VS—Eigenschaften,c©wosch5
Heterogenitat”ByteSex“
RAM
$0818$0817$0816
address4711
0 31register
1174
0 31
4711
register
4711
little endian
1174
value
$0815
$0815 points to least significant byte
big endian
$0815 points to most significant byte
value
VS—Eigenschaften,c©wosch6
HeterogenitatAusfuhrungsumgebung
wosch@faui42y18>make03vs.pdf
03vs.dvi->03vs.ps
Thisisdvips(k)5.90aCopyright2002RadicalEyeSoftware(www.radicaleye.com)
’TeXoutput2003.03.28:2225’->ps/03vs.ps
<texc.pro><texps.pro><special.pro><color.pro>.<cmssi10.pfb><cmss10.pfb>
<cmex10.pfb><cmsy10.pfb><cmr10.pfb><cmtt10.pfb><cmmi7.pfb><cmssbx10.pfb>
<cmmi10.pfb><cmbxsl10.pfb><cmsy7.pfb>[0][1][2][3][4][5][6
<fig/endian.eps>][7][8][9][10][11<fig/server0.eps>][12<fig/client0.eps>]
[13][14][15][16][17][18][19][20][21][22][23][24][25]
03vs.ps->03vs.pdf
wosch@faui42y19>
wosch@faui40u20>make03vs.pdf
ThisisTeX,Version3.14159(Web2C7.3.1)
!Ican’tfindfile‘.INIT’.
<*>.INIT
Pleasetypeanotherinputfilename:
DieLosungdesProblems:
aliasmakegmake⇐= “Youarenotexpectedtounderstandthis.”
VS—Eigenschaften,c©wosch7
Heterogenitat=⇒Middleware
•SoftwareschichtzurAbstraktionvondenjeweiligenSystemeigenheiten
–Programmiersprachen
{
unabhangig→CORBAabhangig→JavaRMI
•einheitlichesProgrammiermodellzurEntwicklungverteilterSoftware
–Prozedurfernaufruf(remoteprocedurecall,RPC[3])–Objektfernaufruf(remoteobjectinvocation,ROI)–entfernteEreignisbenachrichtigungoderSQL-Zugriffe–verteilteTransaktionsverarbeitung
•grundlegendeBausteinebildenProzesseundBotschaftenaustausch
VS—Eigenschaften,c©wosch8
Heterogenitat=⇒VirtuelleMaschine
•derBegriff”mobilerKode“beziehtsichaufubertragbarenMaschinenkode
–beispielsweiseJava-Applets,aberauch(viele)PostScript-Programme:-)
–nichtjedochalsAnhangeine-PostanUNIXversandte.exe-Dateien:-(
•AnweisungsfolgenubertragbarenMaschinenkodessindHardwareunabhangig
–einUbersetzererzeugtZwischenkodefureinevirtuelleMaschine(VM)–dieVMistfurjedenTypHardwarenureinmalimplementiert→JVM–einInterpreter(d.h.dieVM)fuhrtdenZwischenkodeaus,nichtdieCPU–ggf.erfolgtaucheine
”justintime“UbersetzungeinzelnerKomponenten
•derAnsatzisti.A.abhangigvonderProgrammierspracheJava,¬C++
VS—Eigenschaften,c©wosch9
Nebenlaufigkeit
•gemeinsameNutzungvonBetriebsmittelnistgrundlegendesCharakteristikum
–”gleichzeitige“,sichuberlappendeBetriebsmittelzugriffesindhochsttypisch
•dienebenlaufigenZugriffefindenaufverschiedenenEbenenstatt:
1.mehrereProzesse(→Clients)benutzeneinenServerzumselbenZeitpunkt,2.derServeristmehrfadigausgelegt,d.h.bedientmehrereKlientengleichzeitig3.und/oderdieBetriebsmittelliegenklientenseitigalsReplikatevor(Caching)
•KooperationderZugriffegeht(weit)uberklassischeSemaphorverfahrenhinaus
–KonsistenzwahrungerfordertdenEinsatzverteiltarbeitenderAlgorithmen
VS—Eigenschaften,c©wosch10
NebenlaufigkeitServer-Varianten
Client
Client
readwrite
get
Client
Client
Server
write read
put get
Servermultithreaded
put
ResourceResource
VS—Eigenschaften,c©wosch11
NebenlaufigkeitReplikation
readwritereadwrite
multithreadedClient
ClientClient
Cache
read
Cache Cache
VS—Eigenschaften,c©wosch12
Fehlerverarbeitung
•dieWahrscheinlichkeitvonFehlern(intechnischenSystemen)istniemals0
–fehlerbedingteAusfalleinverteiltenSystemensindpartiell∗d.h.,einigeKomponentenfallenaus,wahrendanderenochfunktionieren
–zurVerarbeitungvonFehlernkommenverschiedeneTechnikenzumEinsatz:∗Fehlererkennen,maskieren,tolerieren∗WiederherstellungnachFehlern∗Redundanz
–verteilteSystemebieteneinen(relativ)hohenGradanVerfugbarkeit3
•”5-nines“(99.999%)FehlertoleranzisteinedergroßenHerausforderungen
3EinMaßfurdenZeitanteil,wahrenddessendasSystemzurVerfugungsteht.
VS—Eigenschaften,c©wosch13
FehlerverarbeitungFehler...
∼erkennenEinigeFehlersinderkennbar(z.B.durchPrufsummen),anderesindunmoglichzuerkennen(z.B.einenServer-Ausfall).DieHerausforderungist,mitnichterkenn-abervermutbarenFehlernumzugehen.
∼maskierenEinigeFehler,dieerkanntwurden,konnenverborgenwerden(z.B.verloreneNachrichtenwiederholen,DateienaufmehrereDatentragersichern)oderabgeschwachtwerden(z.B.fehlerhafteNachrichtenverwerfen).Problemebereitetdernichtganzausschließbare
”schlimmsteFall“
4.
∼tolerierenEinigeFehler,dienichterkanntodermaskiertwerdenkonnten,sindhinzunehmenundggf.bishinaufzurAnwendungsebene
”hochzureichen“.
SoftwareverteilterSystemesoll”fehlergewahr“sein.Redundanzhilftdabei.
4BeispielsweiseistderWiederholungszahlerabgelaufenoderdieweiterenDatentragersindebenfallsdefekt.
VS—Eigenschaften,c©wosch14
FehlerverarbeitungWiederherstellung
•Rechnerabsturzebzw.Komponentenausfallezeigeni.A.typischeFehlermuster:
–BerechnungenvonProgrammensindunvollstandig–permanenteDatenbefindensichmoglichweiseiminkonsistentenZustand
•grundsatzlichwirddabeizwischenzweiFehlerartenunterschieden:
transienteFehlerwerdendurch∼smaßnahmenbehoben,diezumZielhaben,einenkonsistentenSystemzustand(wieder)zuerreichen–checkpointing,(forward/backward)recovery,Transaktionen
permanenteFehlerwerdendurchReparaturbehoben,indemdiefehlerhafteKomponenteersetztoderumgangenwird
•MaßnahmenzurWiederherstellungsindimSoftwareentwurfzuberucksichtigen
VS—Eigenschaften,c©wosch15
FehlerverarbeitungRedundanz
•Fehlertoleranzbedeutet”uberdasNotwendigehinausgehen“zumussen:
–mehralseine
{
RoutezwischenzweiPunktenimRechnernetzvorsehenServerinstanz(Prozess,Rechner)derselbenArteinsetzen
•kritische”Funktionsgruppen“liegendazuoftfunktionalrepliziertvor
–redundanteImplementierungeinundderselbenEinheit–realisiertdurchEinsatzunabhangigerEntwicklungsteams
•betrachtlicherMehraufwandstehtdenerhofftseltenenAusfallengegenuber
–FernaufrufeanServergruppenabsetzen—die”richtige“Antwortauswahlen
–Datenmehrfachspeichern—Aktualisierungenuberallnachvollziehen
VS—Eigenschaften,c©wosch16
Sicherheit
•denEigenwertvonInformationenfurihreBenutzerzusichernbedeutet:
Schutzvor
OffenlegunggegenuberUnbefugten→VertraulichkeitVeranderungoderBeschadigung→IntegritatStorungendesBetriebsmittelzugriffs→Verfugbarkeit
•sensibleInformationensindsicherubereinNetzwerkzuubertragen
–dabeireichtesnicht,nurdenInhaltderNachrichtenzuverbergen–dieIdentitatdesAbsenders(Benutzer,Agent)istsicherzustellen
•Verschlusselungsverfahrenhelfen,dieAuthentizitatvonKlientenzubestimmen
VS—Eigenschaften,c©wosch17
Offenheit
offeneSystemezeichensichdurchdieVeroffentlichung(derSpezifikationundDokumentation)derSchnittstellenihrer
”Schlusselkomponenten“aus.
offeneverteilteSystemebasierenaufdemVorhandenseineineseinheitlichenKommunikationsmechanismusundveroffentlichtenSchnittstellenfurdenZu-griffaufgemeinsamgenutzeBetriebsmittel;
∼konnenausheterogenerHard-undSoftwareaufgebautsein,dieinsbesondereauchvonunterschiedlichenHerstellernstammenkonnen.
DieHerausforderungist,mitderKomplexitatvonSystemenzurechtzukommen,dieausvielenKomponenten(unterschiedlicherHerkunft)bestehen.
VS—Eigenschaften,c©wosch18
Skalierbarkeit
EinSystem,dasalsskalierbarbezeichnetwird,bleibtauchdanneffektiv,wenndieAnzahlderRessourcenunddieAnzahlderBenutzerwesentlichsteigt.[1]
•darausleitensichfolgendeProblemfelderfurEntwurfundImplementierungab:
–Kontrolle
{
derKostenfurdiephysischenBetriebsmitteldesLeistungsverlusts
–Vermeidung
{
vonBetriebsmittelerschopfung(32/128-BitInternetadressen)vonLeistungsengpassen(Replikation,Caching)
•imIdealfallsolltederZuwachs”transparent“seinfurSystemundAnwendungen
VS—Eigenschaften,c©wosch19
SkalierbarkeitKomplexitat
KostenkontrolleSolleinSystemmitnBenutzernskalierbarsein,sosolltedieAnzahlderphysischenRessourcenfurihreUnterstutzungmindestensproportionalzunsein,d.h.O(n).
VerlustkontrolleSuchalgorithmen(umz.B.EintrageimDomainNameSystem,DNS,zufindenundaufzulosen),diehierarchischeStrukturenverwenden,skalierenbesseralssolchemitlinearenStrukturen.GleichwohlresultiertderGroßenanstiegineinengewissenLeistungsverlust:
•dieZeit,diefurdenZugriffaufeinehierarchischeStrukturbenotigtwird,istO(logn),wobeindieGroßederDatenmengedarstellt.
DamiteinSystemskalierbarist,solltedermaximaleLeistungsverlustnichthohersein.
VS—Eigenschaften,c©wosch20
SkalierbarkeitInternet-RechnerJahrComputerWebserverAnteil(Quelle:[1])197918800%
198913000000%199317760001300.008%
199566420002350000.4%19971954000012030966%
199956318000659869712%
Webserver
1e+007
2e+007
3e+007
4e+007
5e+007
1980 1985 1990 1995 2000
Computer
0
Webserver
1000
10000
100000
1e+006
1e+007
1980 1985 1990 1995 2000
Computer
100
VS—Eigenschaften,c©wosch21
Transparenz(1)
Zugriffs∼ermoglichtdenZugriffauflokaleundglobale(d.h.entfernte)Betriebs-mittelunterVerwendungidentischerOperationen.DasbetreffendeAPImachtkeinenUnterschiedzwischenlokalenundentferntenOperationen.
Orts∼(auchPositions∼)erlaubtdenZugriffaufBetriebsmittel,ohneihrePosi-tion/ihrenOrtkennenzumussen.BeispielsweiseerfolgtderZugriffnichtdirektuberInternetadressen,sondernindirektuberDomanennamen(DNS).
BeidewerdenunterdemBegriffNetzwerktransparenzzusammengefasst.Soistz.B.wosch@informatik.uni-erlangen.deNetzwerktransparent.[warum?]
VS—Eigenschaften,c©wosch22
Transparenz(2)
Nebenlaufigkeits∼erlaubtmehrerenProzessengleichzeitigesundkonfliktfreiesArbeitenmitdenselbengemeinsamgenutztenBetriebsmitteln.
Replikations∼erlaubtdieVerwendungmehrererBetriebsmittelinstanzen(d.h.Repliken),umZuverlassigkeitundLeistungzuverbessern.
Fehler∼erlaubtdenkontinuierlichenRechnereinsatztrotzdesmoglichenAusfallsvonHard-undSoftware-Komponenten(non-stopcomputing).
VS—Eigenschaften,c©wosch23
Transparenz(3)
Migrations∼(auchMobilitats∼)erlaubtdasVerschiebenbzw.WandernvonBetriebsmittelnundProzesseninnerhalbeinesSystemsohneBeeintrachtigungderlaufendenArbeitvonBenutzernbzw.Programmen.
Leistungs∼erlaubtdieLastabhangigeNeukonfigurierungdesSystemszumZweckederLeistungssteigerung.
Skalierungs∼erlaubtdieVergroßerung(ggf.auchVerkleinerung)desSystemsohneAuswirkungenaufdierealisierteStrukturunddiezumEinsatzgebrachtenAlgorithmen.
VS—Eigenschaften,c©wosch24
Unscharfeprinzip
EsistdieEigenartverteilterSysteme,daßesaufDauerkeinezweiProzessegibt,diezurgleichenZeitdiegleiche,zutreffendeSichtdesSystemshaben.EinProzeßinnerhalbdesSystemsverfugtentwederuberunvollstandige,aktuelleoderubervollstandige,uberholteZustandsinformationen.[2]
VS—Eigenschaften,c©wosch25
Zusammenfassung
Everythingshouldbemadeassimpleaspossible,butnosimpler.(AlbertEinstein)
Youknowyouhaveachievedperfectionindesign,notwhenyouhavenothingmoretoadd,butwhenyouhavenothingmoretotakeaway.(AntoinedeSaintExupery)
VS—Eigenschaften,c©wosch26
Referenzen
[1]G.Coulouris,J.Dollimore,andT.Kimberg.VerteilteSysteme:KonzepteundDesign.Pearson
Education,2002.ISBN3-8273-7022-1.
[2]R.G.HerrtwichandG.Hommel.KooperationundKonkurrenz—Nebenlaufige,verteilteund
echtzeitabhangigeProgrammsysteme.Springer-Verlag,1989.ISBN3-540-51701-4.
[3]B.J.Nelson.RemoteProcedureCall.TechnicalReportCMU–81–119,Carnegie-Mellon
University,1982.
[4]B.Randell,P.A.Lee,andP.C.Treleaven.ReliabilityIssuesinConputingSystemDesign.
ACMComputingSurveys,10(2):123–165,June1978.
[5]D.P.SiewiorekandR.S.Swarz.ReliableComputerSystems:DesignandEvaluation.AK
PetersLtd.,3rdedition,1998.ISBN15-688-1092-X.
VS—Eigenschaften,c©wosch27