Introduksjon til Distribuerte System (DS)

Like dokumenter
Introduksjon til Distribuerte System (DS)

Distribuerte objekter og objekt-basert mellomvare

Generelt om operativsystemer

Systemmodeller for distribuerte system

Systemmodeller for distribuerte system

CORBA Component Model (CCM)

Tid og koordinering. Foreleser: Olav Lysne

Peer-to-Peer systemer

1. SQL server. Beskrivelse og forberedelse til installasjon

Naming og trading INF5040. Foreleser: Olav Lysne. Ifi/UiO 1

Generelt om operativsystemer

Generelt om permanent lagring og filsystemer

Innledende Analyse Del 1.2

Replikering. Olav Lysne

Operativsystemer og grensesnitt

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Oppsummering og pensumkommentarer. INF5040 høst forelesere: Frank Eliassen, Olav Lysne. Innhold og mål

INF1300 Introduksjon til databaser

Tildeling av minne til prosesser

Jini. Gruppe 1 Martin Skarsaune Bjørn Arne Dybvik Cuong Huu Truong. Definisjon

Web Services. Olav Lysne

Oppsummering. Thomas Lohne Aanes Thomas Amble

PRODUKTBESKRIVELSE TJENESTE. NRDB Nummerportabilitet

AlgDat 12. Forelesning 2. Gunnar Misund

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Bachelor E. Theodor Rove Nordgård, Chris Sonko HIST DRIFT AV DATASYSTEMER

1. Intro om System Center

Distributed object architecture

Løsningsforslag for Eksamen i TDT4190 Distribuerte systemer. Onsdag 23. mai

Introduksjon til fagfeltet

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Klientadministrasjon og mobil utskrift

PRODUKTBESKRIVELSE TJENESTE. NRDB Videresalg Telefoni

Klientadministrasjon og universelle utskriftsløsninger

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

9 Online Backup. Priser KR 100 / PC lisens KR 300 / Server lisens (inkluderer bl.a. SQL/Exchange) KR 0,50 / GB

Software installasjon og andre ettertanker

6105 Windows Server og datanett

Tildeling av minne til prosesser

AlgDat 10. Forelesning 2. Gunnar Misund

Message Oriented Middleware (MOM) Thomas Filip Andresen Arild Berggren Eivind Bøhn

2. HVA ER EN KOMPONENT?

Bilag til kjøpsavtalen for Transportadministrasjon K Bilag 3 - Kundens tekniske plattform

Evaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet

INF1300 Introduksjon til databaser

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

RM-ODP og Multimedia middleware (M3W):

XML og Mobilt Internett

Kap 3: Anvendelser av Internett

KTN1 - Design av forbindelsesorientert protokoll

Klientadministrasjon og mobil utskrift

Lumia med Windows Phone

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Teknisk informasjon om bruk av BankID - Ansattes bruk av nettbank fra arbeidsplassen

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

Rammeavtale for kjøp av vannmålere

Våre tekniske konsulenter kan bistå slik at din bedrift får en best mulig tilpasset Handyman installasjon ut fra deres infrastruktur.

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Hvorfor operativsystemer? Introduksjon til operativsystemer. Samtidighet. Praktiske hensyn. Kjell Åge Bringsrud INF103

Introduksjon til kurset og dets innhold

INF1300 Introduksjon til databaser

Network Services Location Manager. Veiledning for nettverksadministratorer

Rammeverk for anskaffelse av tjenester i skyen.

Transport - laget (ende-til-ende protokoller) Glidende vindu protokoll. Flyt kontroll. dataoverføringsfasen. Sender. Mottaker

Introduksjon til programmering og programmeringsspråk

Nettverkslaget. Fragmentering/framsending Internetworking IP

UNIVERSITETET I OSLO

Erfaring med praktisk bruk av offentlig IaaS i undervisning ved NTNU

INF2270. Input / Output (I/O)

RUSSISKE HACKERE I AKSJON. Copyright 2016 EMC Corporation. All rights reserved.

Kapittel 1: Datamaskiner og programmeringsspråk

1. Introduksjon til operativsystemer

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

6105 Windows Server og datanett

Sikkerhet og tilgangskontroll i RDBMS-er

InfraWorld avslutningsseminar. - Introduksjon. torsdag 13/9-12

Gjennomgang av kap Kommunikasjonsformer Typer av nettverk Adressering og routing Ytelse Protokoller

Transkript:

Introduksjon til Distribuerte System (DS) IN-ODP høst 2001 foreleser: Frank Eliassen Ifi/UiO 1 Hva er et distribuert system? Definisjon [Coulouris] Et distribuert system består av maskinvare- og programvarekomponenter lokalisert i et nettverk av datamaskiner som kommuniserer og koordinerer sine aksjoner kun ved å sende meldinger. Definisjon [Lamport] Et distribuert system er et system som hindrer deg i å få gjort noe arbeid når en maskin du aldri har hørt om før, feiler. Ifi/UiO 2 INODP Høsten 2001 1

Eksempler på distribuerte systemer Internett og intranett kan sees på som store distribuerte system muliggjør tjenester som www, filoverføring, e-post, navne-tjenenste (DNS) Mobil og allestedsværende databehandling miniatyrisering og trådløse nett bærbare Pcer, PDAer, mobiltelefoner, dingser, innbakte systemer i hvitevarer, musikksystemer, biler, kjøleskap Ifi/UiO 3 Eksempler på distribuerte applikasjoner Boeing 777 Configuration Managment Ifi/UiO 4 INODP Høsten 2001 2

Problemer som må løses 3 millioner deler i hvert fly Hvert eneste fly er konfigurert enkeltvis Internasjonale regler krever at historien til hver enkelt del blir logget Flykonfigurasjonen utvikler seg under vedlikehold Boeing lager 500 fly i året Konfigurasjonsdatabasen vokser med 1.5 milliarder deler hvert år. Antatt levetid til hvert fly er 30 år 45000 ingeniører og mekanikere trenger on-line tilgang til data. Ifi/UiO 5 Problemer som må løses forts. COTS integrasjon Eksisterende IT infrastruktur var uegnet Boeing ønsket ikke å ta kostnadene med å kjøpe inn alt fra scratch Komponenter ble kjøpt inn fra flere forskjellige tilbydere Komponentene måtte integreres Ifi/UiO 6 INODP Høsten 2001 3

Problemer som må løses forts. Heterogenitet 20 Sequent database maskiner som database servere. 200 UNIX applikasjonsservere NT og UNIX stasjoner for ingeniørene og mekanikerne. Ifi/UiO 7 Infrastruktur for Fotballforbundet Holder orden på serier, landslag, klubber, spilleroverganger etc. Konstruert eksempel Ifi/UiO 8 INODP Høsten 2001 4

Krav Autonome klubber Hver klubb styrer selv sin administrasjon, skedulering av treningskamper etc. Trenger integrasjon for å registrere spillere i forbundet reservere spillere til landskamper oppnå enighet om kampoppsett Heterogenitet forskjellige maskiner forskjellige programmeringsspråk Ifi/UiO 9 Likhetspunkter Integrasjon av nye komponenter, eksisterende komponenter og COTS. Ønsker ikke å måtte modifisere eksisterende komponenter COTS kan ikke modifiseres. Heterogenitet innen Hardware plattform Operativsystemer Nettverk Programmeringsspråk Konstruksjon av distribuerte systemer Ifi/UiO 10 INODP Høsten 2001 5

Konsekvenser av distribuerte system Komponenter feiler uavhengig av hverandre delvis feiling & ufullstendig informasjon Upålitelig kommunikasjon Tap av forbindelse og meldinger. Bitfeil i meldinger. Usikker kommunikasjon Mulighet for uautorisert avlytting og modifikasjon av meldinger Kostbar kommunikasjon Kommunikasjon mellom datamaskiner har vanligvis lavere båndbredde, høyere latenstid, og koster mer, enn mellom uavhengige prosesser i samme maskin. Samtidighet komponenter eksekverer i samtidige prosesser som leser og oppdaterer delte ressurser. Krever koordinering (samtidighetskontroll) Ingen global klokke vanskeliggjør tett koordinering Ifi/UiO 11 Krav som leder til distribuerte system ressurs deling muligheten til å benytte tilgjengelig ressurser hvor som helst åpenhet et åpent system kan utvides og forbedres inkrementelt skalerbarhet betjene flere brukere, gi kortere svartider feiltoleranse opprettholde tilgjengelighet selv i tilfeller der komponenter har liten pålitelighet heterogenitet nettverk og maskinvare, operativsystem, programmeringsspråk, implementasjon av forskjellige utviklere Ifi/UiO 12 INODP Høsten 2001 6

Ressursdeling Muligheten til å benytte tilgjengelig maskinvare, programvare eller data hvor som helst i systemet Ressursforvaltere (managers) kontrollerer aksess, tilbyr skjema for navngiving, og kontrollerer samtidighet En ressursforvalter er en programvaremodul som forvalter en ressurs av en bestemt type. Ressursdelingsmodell (som er klient/tjener eller objekt-basert) beskriver hvordan ressurser gjøres tilgjengelig ressurser kan brukes tjenesteyter og bruker interagerer med hverandre Ifi/UiO 13 Ressursdelingsmodeller Klient-tjener ressursmodell Tjenerprosesser opptrer som ressursforvaltere, og tilbyr tjenester (samling prosedyrer). Klientprosesser sender forespørsler til tjenere Objekt-basert ressursmodell Enhver entitet innen en prosess modelleres som et objekt med et meldingsbasert grensesnitt som gir adgang til dets operasjoner. Enhver delt ressurs modelleres som et objekt Ifi/UiO 14 INODP Høsten 2001 7

Åpenhet Et åpent DS kan utvides og forbedres inkrementelt Krever en uniform interprosessmekanisme og at komponentgrensesnitt offentliggjøres (f.eks. gjenstand for standardisering) IETF RFC: Protokollspesifikasjon (www.ietf.org) OMG: grensesnittspesifikasjoner m.m. (www.omg.org) Nye komponenter må kunne integreres med (virke sammen med) eksisterende komponenter Ifi/UiO 15 Samtidighet Komponenter i DS eksekverer i samtidige prosesser Komponenter aksesserer og oppdaterer delte ressurser (f.eks. variable, databaser, device drivere) Integriteten til systemet kan brytes hvis samtidig oppdatering ikke koordineres tapte oppdateringer inkonsistent analyse Bevaring av integritet krever samtidighetskontroll hvor samtidig aksess til samme ressurs synkroniseres Ifi/UiO 16 INODP Høsten 2001 8

Skalerbarhet Et system er skalerbart hvis det forblir effektivt når det er en betydelig økning i mengden ressurser og antall brukere. Internett: antall brukere og tjenester har vokst enormt Skalerbarhet betegner altså et systems egnethet til å handtere en økende last i fremtiden Krav om skalerbarhet leder ofte til en distribuert systemarkitektur (flere maskiner) Ifi/UiO 17 Skalerbarhet : utfordringer Kontrollere kostnader (ressurser) Et system med n brukere er ressurs-skalerbarhet dersom antall ressurser som kreves for å underholde dem er høyst O(n) Kontrollere ytelsestap (når mengden data øker) Et system er ytelses-skalerbart dersom tiden det tar å aksessere hierarkisk ordnede data er høyst O(log n) derner mengden data Hindre at systemet slipper opp for programvareressurser: Dimensjonere datastrukturer o.l. slik at systemet kan handtere fremtidige krav (vanskelig - jfr IP adresser) Unngå ytelsesflaskehalser krever desentraliserte algoritmer (partisjonering, caching og replikering) Ifi/UiO 18 INODP Høsten 2001 9

Feilhandtering Maskinvare, programvare og nettverk feiler!! DS må opprettholde tilgjengelighet selv i tilfeller der maskinvare/programvare/nettverk har liten pålitelighet Feil i distributerte system er partiell gjør feilhandtering spesielt vanskelig Ifi/UiO 19 Teknikker for feilhandtering Deteksjon av feil f.eks. sjekksum utfordring: feil kan ikke alltid detekteres, men kan ha mistenke Maskering av feil feil som er blitt oppdaget kan skjules eller gjøres mindre alvorlig retransmisjon i protokoller replikering av disker Tolerere feil ikke praktisk å prøve å skjule alle feil (jfr Internett) konstruere klienter slik at de tolererer feil (jfr web-browsere) Ifi/UiO 20 INODP Høsten 2001 10

Teknikker for feilhandtering Gjenoppretting ( recovery ) programvare som gjenoppretter tilstanden til persistente data etter at en server har kræsjet (rollback) Redundans replikere operasjoner/tjenester på feiluavhengige måter DNS replikerer alle navnetabeller til minst to servere Ifi/UiO 21 Heterogenitet Variasjon og forskjeller som må handteres nettverk Internett-protokollen er implementert over mange ulike nettverk maskinvare forskjeller i data representasjon til datatyper på forskjellige prosessorer operativsystem API til samme protokoll og tjeneste varierer programmeringsspråk forskjellig representasjon av tegnsett og datastrukturer implementasjon av forskjellige utviklere sikre at ulike programmer kan kommunisere krever enighet om en rekke ting (jfr standarder) Ifi/UiO 22 INODP Høsten 2001 11

Heterogenitet rollen til mellomvare skjule heterogenitet mobil kode heterogenitet komplisererer realisering interpreterbar kode kode som ikke eksekvereres direkte av maskinvaren men som tolkes av en interpreter (script-språk) virtual machines kompilator genererer kode for virtuell maskin (VM) VM må implementeres på ulik maskinvare Java byte-kode og Java VM Ifi/UiO 23 Transparens DS bør oppfattes av brukere og applikasjonsprogrammer som en enhet i stedet for som en samling av samarbeidende komponenter. Transparens skjuler konsekvensene av distribusjon Transparens har forskjellige dimensjoner [ODP] Disse representerer ulike egenskaper et distribuert system kan ha (målestokk for å vurdere design av et system) Ifi/UiO 24 INODP Høsten 2001 12

Aksesstransparens Muliggjør at lokale og fjerne ressurser/komponenter kan aksesseres ved bruk av identiske operasjoner Eksempel: Fil system operasjoner i NFS Eksempel: Navigering i www Eksempel: SQL spørringer i distribuerte databaser Komponenter som ikke har transparent aksess kan ikke enkelt flyttes fra en maskin til en annen. Ifi/UiO 25 Lokasjonstransparens Muliggjør at ressurser/komponenter kan aksesseres uten kunnskap om deres lokasjon Eksempel: Fil system operasjoner i NFS Eksempel: Websider (URLer) i www Eksempel: Tabeller i distribuerte databaser Ifi/UiO 26 INODP Høsten 2001 13

Samtidighetstransparens Muliggjør at flere prosesser kan operere samtidig mot delte ressurser uten interferens mellom dem Eksempel: NFS Eksempel: Minibank nettverk Eksempel: Database management system Ifi/UiO 27 Replikeringstransparens Muliggjør at flere instanser av ressurser/komponenter kan brukes for å øke pålitelighet og ytelse uten kunnskap om replikaene hos brukere og applikasjonsprogrammer Eksempel: Distribuerte DBMS Eksempel: Speilede web sider Avhengig av aksess- og lokasjonstransparens Viktig for skalering av et system Ifi/UiO 28 INODP Høsten 2001 14

Feiltransparens Muliggjør at feil kan skjules Tillater brukere og applikasjoner å fullføre deres oppgaver selv om andre komponenter feiler Eksempel: Database Management System Avhenger av samtidighets- og replikeringstransparens feil forårsaket av operasjonertil klient må ikke forplante seg til andre samtidige klienter feil kan skjules ved replikering av ressurser/komponenter Ifi/UiO 29 Migreringstransparens Tillater at ressurser endrer lokasjon innen et system uten at brukere og applikasjonsprogrammer oppdager det [ODP] Eksempel: NFS Eksempel: Web sider Avhenger av aksess- og lokasjonstransparens Generalisert til mobilitetstransparens i [Coulouris] inkluderer migrering av klienter Ifi/UiO 30 INODP Høsten 2001 15

Ytelsestransparens Tillater at systemet rekonfigureres for å bedre ytelse i takt med at lasten på systemet varierer Brukere og applikasjonsprogrammer ser ikke hvordan ytelses vedlikeholdes Eksempel: Distributed make Avhenger av replikerings- og migreringstransparens replikere ressurser for last-balansering flytte ressurser nærmere brukere Ifi/UiO 31 Skaleringstransparens Tillater at systemet og applikasjonene ekspanderer i skala uten å måtte endre systemstruktur eller applikasjonsalgoritmene Brukere og applikasjonsprogrammer ser ikke hvordan skalering oppnås i systemet Eksempel: World-Wide-Web Eksempel: Distribuerte databaser Ifi/UiO 32 INODP Høsten 2001 16

Distribusjonstransparens Skalerbarhets transparens Ytelses Ytelses transparens Feil Feil transparens Migrerings transparens Replikerings transparens Samtidighets transparens Aksess Aksess transparens Lokasjons transparens Ifi/UiO 33 Mellomvare Er definert somet programvarelag over operativsystemet men under applikasjonene Muliggjør interaksjon over et nettverk Tilbyr felles tjenester Ifi/UiO 34 INODP Høsten 2001 17

Mål for distribuert mellomvare Tilby distribusjonstransparens vha programmeringsabstraksjoner Tilby et maskinvare-, operativsystem- og språkuavhengig bilde av distribuert databehandling Oppmuntre til portabilitet og interoperabilitet DISTRIBUERT MELLOMVARE Plattform 1 PlattformUavhengig grensensitt OS Avhengig grensesnitt Plattform 2... Plattform n Distribuerte applikasjoner og tjenester Ifi/UiO 35 Varianter av mellomvare Varierer mhp tilbudt programmingsabstraksjtion og typen heterogenitet de skjuler utover nettverk og maskinvare Distributed tuples (database oriented) Remote Procedure Call Message queues Transaction oriented Distributed Objects Ifi/UiO 36 INODP Høsten 2001 18

Fokus på distribuerte objekter Distribuert objektmellomvare tilbyr abstraksjonen av et objekt som er fjernt men der dets metoder kan kalles på samme måte som metodene til et objekt som er i samme adresserom som kalleren (lokasjons- og aksesstransparens) Gjør alle fordelene til objekt-orienterte teknikker i software engineering innkapsling, arv, og polymorfi tilgjengelig for utviklere av distribuerte applikasjoner Ifi/UiO 37 Oppsummering Distribuert system: maskinvare- og programvare-komponenter lokalisert i et nettverk av datamaskiner som kommuniserer og koordinerer sine aksjoner kun ved å sende meldinger Konsekvenser av distribuerte system Komponenter feiler uavhengig av hverandre Usikker kommunikasjon (sikkerhet) Ingen global klokke Krav som ressursdeling, åpenhet, skalerbarhet, feiltoleranse og heterogenitet kan tilfredstilles av distribuerte system Mål for distribuert mellomvare Høste potensielle fordeler av distribuerte system uten å måtte betale for alle dens utfordringer og problemer (transparens) Ifi/UiO 38 INODP Høsten 2001 19