Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Designing a DHT for low latency and high through TDT2 – Avanserte distribuerte systemer 10.10.2005 Øystein Ellingbø.

Liknende presentasjoner


Presentasjon om: "Designing a DHT for low latency and high through TDT2 – Avanserte distribuerte systemer 10.10.2005 Øystein Ellingbø."— Utskrift av presentasjonen:

1 Designing a DHT for low latency and high through TDT2 – Avanserte distribuerte systemer Øystein Ellingbø

2 Oversikt Teknisk bakgrunn  Chord, DHash++, Vivaldi Lav latency  Iterativ og rekursiv lookup, proximity neighbor selection, koding og replisering, integrasjon Høy throughput  TCP, STP Oppsummering

3 Chord Lookup protokol Alle noder har en finger- og etterfølgertabell O(logN) kjøretid

4 DHash++ Bruker SHA-1 hash funksjon Lagrer blokker (nøkkel/verdi) på forskjellige noder IDA koding Bruker Chord til å bestemme server Flytter blokker etter som noder kommer og går

5 Vivaldi System for å beregne syntetiske koordinater for å gjette latens mellom nodene Desentralisert system Piggy-backer på Chord og DHash++ meldinger

6 Lav latency - Iterativ lookup Sender melding til og får svar fra alle involverte noder Må vente på svar Detekterer nodefeil

7 Lav latency - Rekursiv lookup Forespørselen videresendes direkte Reduserer antall meldinger Detekterer ikke nodefeil

8 Lav latency - Iterativ vs rekursiv Rekursivt i gjennomsnitt 0.6 ganger iterativt DHash++ bruker rekursivt, men faller til bake på iterativt ved gjentatt feil

9 Lav latency - Proximity neighbor selection Velger nærliggende noder som innslag i fingertabellen for å redusere latens Sjekker X noder Velger node med lavest latency DHash++ bruker X=16

10 Lav latency - Koding og replisering Koding  Datablokker splittes i l fragmenter.  Bare m fragmenter trengs for å rekonstruere en blokk  Redundant lagring av data Replisering  Spesialtilfelle av koding: m = 1, l = antall replikater  Redundant informasjon spredd over færre noder Grad av redundans: r = l/m Sannsynlighet for at blokk p er tilgjengelig:

11 Lav latency - Koding og replisering Høy r gir større valgmulighet i hvor data hentes fra, men øker nettverksbehovet ved skriving Hva som lønner seg kommer an på belastningen på systemet:  Lese-intensivt vil ha lavere latency med replisering  Skrive-intensivt vil bruke mindre båndbredde med koding DHash++ bruker koding, med m=7 og l=14

12 Lav latency - Integrasjon De siste hoppen for å finne en nøkkels forgjenger er dyre. Men for å hente en blokk trenger vi bare m av l fragmenter! Lookup kan altså avsluttes så fort vi har en node som har m av nodene med fragmenter i sin etterfølgerliste Dette gir dessverre færre fragmenter å velge i, som øker latency ved henting

13 Lav latency - Integrasjon Antall etterfølgere man minimum ønsker: d (d >= m) Lav d : Raskere lookup men høyere latency ved henting Høy d : Tregere lookup men lavere latency ved hetning Optimalt: d = l

14 Høy throughput Ønsker  Rask sending og mottak av store mengder data  Parallell sending og mottak av data  Overflytskontroll  Detektering og retransmisjon ved pakketap

15 Høy throughput - TCP Standard protokoll – slipper å implementere selv Tar seg av overflyt, retransmisjon osv Tar tid å koble opp -> Noen få langlivete oppkoblinger (til alle i finger- og etterfølgertabellen) Krever rekursiv lookup OG henting av data Rekursiv henting medfører høyere latency

16 Høy throughput – Striped Transport Protocol (STP) Spesialisert protokol for DHT Data kan sendes direkte mellom noder (ikke rekursiv henting) Vindustørrelsen økes ved vellykkede RPC og minkes ved time-out Bruker Vivaldi (noe modifisert) for å bestemme time- out Ved time-out sender man til neste node på listen i stedet

17 Høy throughput – TCP vs STP Figur til venstre, throughput:  STP: Gjennomsnittlig 261 KB/s  TCP: Gjennomsnittlig 133 KB/s Figur til høyre, latency ved henting:  STP: Gjennomsnittlig 192 ms  TCP: Gjennomsnittlig 447 ms

18 Oppsummering Latency:  Rekursiv lookup -> Reduserer antall sendte pakker  Proximity neighbor selection -> Søker nærliggende noder  Koding -> Øker tilgjengeligheten av data  Integrasjon -> Reduserer antall hopp ved lookup  TOTALT: Reduksjon med en faktor opp mot 2 Throughput  STP -> Tilpasset DHash++. Direkte oppkobling mellom noder  TOTALT: Ytterligere reduksjon av latency i tillegg til at throughput økes med en faktor opp mot 2


Laste ned ppt "Designing a DHT for low latency and high through TDT2 – Avanserte distribuerte systemer 10.10.2005 Øystein Ellingbø."

Liknende presentasjoner


Annonser fra Google