Querying the Internet with PIER

Like dokumenter
Peer-to-Peer systemer

DBS18 - Strategier for Query-prosessering

Parallelle og distribuerte databaser Del I

Databasesystemer, oversikt

Populærvitenskapelig foredrag Peer-2-peer: fra Napster til TOR

Parallelle og distribuerte databaser

Ad-hoc / selvkonfigurerende sensornettverk. Knut Øvsthus, PhD Professor Høgskolen i Bergen

Effektiv eksekvering av spørsmål

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

INF Algoritmer og datastrukturer

Effektiv eksekvering av spørsmål

... HASHING. Hashing. Hashtabeller. hash(x)

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Kapittel 5 Nettverkslaget

Spørsmålskompilering del 1

Spørsmålskompilering del 1

Spørsmålskompilering del 2

Parallelle og distribuerte databaser

Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005,

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

Effektiv eksekvering av spørsmål

INF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5)

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

INF2220: Forelesning 3

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005,

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

INF1020 Algoritmer og datastrukturer

SQL: Systemaspekter. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21

Parallelle og distribuerte databaser del II

Spørsmålskompilering del 2

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004,

INF1010 Hashing. Marit Nybakken 8. mars 2004

Historisk tidslinje. Resource Description Framework (RDF) Web Ontology Language (OWL) Object-Role Modeling (ORM) Entity Relationship Model (ER)

Jini. Overblikk. Gruppe 1: Odd-Wiking Rahlff, Arnor Solberg og Finn Haukebøe

Relasjonsalgebraen. Algebra

INF1300 Introduksjon til databaser

ADDML. Archival Data Description Markup Language. Generell del. Versjon PA 0.07 Sist oppdatert: TPD. ADDML_8_2.doc 03/03/2011 1(12)

Parallelle og distribuerte databaser del II

Forelesning Oppsummering

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Kjørehjelperen Testdokumentasjon

Parallelle og distribuerte databaser del I

Forelesning 3 DAS - Systemtabeller, indekser, distribuerte systemer m.m. - Tom Heine Nätt/Edgar Bostrøm

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

Fakultet for informasjonsteknologi,

Generelt om permanent lagring og filsystemer

EMC. Neste generasjon datalagring. Roger Samdal Technology Consultant EMC Norge. Copyright 2009 EMC Corporation. All rights reserved.

UNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

GraphQL. Hva, hvorfor, hvordan

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

Parallelle og distribuerte databaser del III

Nett og tjenestekvalitet

Dokumentasjon av XML strukturer for ByggSøk

INF-MAT5370. Grafer og datastrukturer

Spørsmålskompilering

Nettlaget. Nettlagets oppgaver

Opprinnelig IP-pakke inneholder 4480 Byte data. Dette er inklusiv IPheader. Max nyttelast på EthernetRammen er 1500 oktetter.

Repetisjon: Normalformer og SQL

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fakultet for informasjonsteknologi,

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

Hashing: Håndtering av kollisjoner

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

Oppsummering. Thomas Lohne Aanes Thomas Amble

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Sentralisert Node

Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan

Applikasjonsutvikling med databaser

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Internett

Mulige Master-oppgaver hos Peter C. Ölveczky

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

1. Relasjonsmodellen Kommentarer til læreboka

1. Mer om oppbyning av XML-dokument

Hva består Internett av?

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

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

UNIVERSITETET. Relasjonsalgebra. INF Ragnhild Kobro Runde

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

TDT4300 Datavarehus og datagruvedri3, Våren 2014

VIPR SOFTWARE- DEFINED Storage

Pensum: fra boken (H-03)+ forelesninger

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

Tjenestebeskrivelse Internett Ruter Innhold

Java RMI (Remote Method Invocation) Gruppe 9: Ivar Steien Rasmussen Tom Anders Dalseng Andreas Petlund

6105 Windows Server og datanett

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk INF Ellen Munthe-Kaas

Spørsmålskompilering. Basert på foiler av Hector Garcia-Molina

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

INF1300 Introduksjon til databaser

32 bits. type of service. head. len 16-bit identifier time to live

Utvikling fra kjernen og ut

Transkript:

Querying the Internet with PIER TDT2 Avanserte distribuerte systemer 17.10.2005 Truls Jørgensen Disposisjon 2

Hva er PIER? (1) Peer-to-Peer Information Exchange and Retrieval Paring av tradisjonell prosessering av databasequeries med ny p2pteknologi En distribuert query processor (QP) Bygd over en Distributed Hash Table (DHT) CAN, men har også blitt portet til Chord 3 Hva er PIER? (2) (Internett-) data prosesseres der de er lagret (in situ) uten noen intermediate database PIER ønsker å vise at query processing kan bli gjort i en massively distributed scale Krever ikke noen ekstensjon til underliggende DHT- APIet. PIER benytter wrappere til å aksessere til å aksessere data in situ (f.eks rene filer eller streams) Antar at alle peers bruker samme scheme for lagring av data 4

Relaxed Consistency ACID-egenskapene er ikke implementert i noe massivt distribuert system i dag Brewer: Et distribuert datasystem kan bare ha to av følgende egenskaper: Konsistens Tilgjengelighet Toleranse for nettverkspartisjoner. Distribuerte databaser velger konsistens fremfor tilgjengelighet PIER må ha høy tilgjengelighet, og ofrer derfor konsistens. Best effort på tilgjengelig subnett 5 Arkitektur Lag 1 - Applikasjoner Network monitoring Other user apps Lag 2 - PIER Query optimizer Catalog Manager Core Relational Execution Engine Lag 3 - DHT Overlay Routing Provider Storage Manager 6

Distribuerte hashtabeller Abstraksjon over flere distribuerte noder Hver node kan lagre data Hvert data item identifiseres med en unik nøkkel 7 CAN Content Adressable Network Basert på et d-dimensjonalt koordinatsystem. Hver node holder en routingtabell for sine naboer To noder er naboer hvis de deler et hyperplan med dimensjon d-1 Delt inn i soner. Hver node er ansvarlig for en sone En nøkkel hashes til et punkt i koordinatsystemet og lagres hos den ansvarlige noden 8

CAN - lookup (16,0) (16,12) (16,16) (12,12) (12,16) Key = (15,14) Data (0,0) (0,16) 9 DHT detaljer Overlay Routing Overlay Routing Provider Mapper en nøkkel til ipadressen til den noden som for øyeblikket er ansvarlig for nøkkelen Leverer et API for Lookup Å bli med i og forlate nettverket Sende notify når mappingen mellom noder og nøkler endres Lag 3 DHT Storage Manager 10

DHT detaljer Storage Manager Overlay Routing Provider Leverer så god ytelse at den ikke blir flaskehalsen i systemet. I PIER brukes en main memory storage manager. Leverer et API for Store(key, item) Retrieve(key) -> item Remove (key) Lag 3 DHT Storage Manager 11 DHT detaljer Provider Binder routing layer og storage manager sammen og tilbyr et interface til applikasjoner for begge Hvert objekt har et Namespace identifiserer applikasjonen den tilhører resourceid gir en semantisk mening til objektet eller primærnøkkel instanceid Overlay Routing tilfeldig tall satt av applikasjonen (skiller objekter med likt navnerom og resourceid, noe som kan oppstå dersom objektet ikke er lagret på primærnøkkel) API get(namespace, resourceid) -> item put(namespace,resouceid, instanceid, item, lifetime) renew(namespace,resourceid, instanceid,item, lifetime) -> bool multicast(namespace, resourceid, item) lscan(namespace) -> iterator newdata(namespace) -> item Lag 3 DHT Provider Storage Manager 12

Query Processor Støtter samtidig utførelse av operatorer som kan bli pipelinet Støtter seleksjon, projeksjon, gruppering, agreggering og distribuert join 13 Basert på eksisterende læreboklærdom om parallell join. To tabeller, R og S Lagret i henholdsvis navnerom N R og N S PIER lager midlertidige tabeller i navnerommet N Q 14

Symmetrisk Hash Join Hver node i N R og N S utfører en scan i sitt lokale navnerom for å finne alle R og S-tupler Hvert tuppel som tilfredstiller lokale seleksjonspredikater legges til N Q. I parallell på hver node Verdiene for for joinattributtene konkateneres slik at de danner resourceid (primærnøkkel) Matchende noder legges til og sendes oppover til den initierende prosessen 15 Fetch Matches Variant av Symmetrisk Hash Join Brukes når den ene tabellen, S, allerede er hashet på join-attributt(ene). N R scannes, og for hver R-tuppel sendes et getkall for å finne sammenfallende S-verdi. 16

Symmetrisk Semi-Join Forsøk på å redusere kommunikasjon (og båndbredde!) Projiserer bare ResourceID og join-nøklene Utfører en Symmetrisk Hash Join på resultatet Utfører deretter en Fetch Matches Join for å få hele tuppelet fra tabellen 17 Bloom Joins Bloomfiltre benyttes for å hente ut bare den de viktige delene av identifikatoren, og sparer båndbredde: Bloomfiltre opprettes for hvert fragment av S og R som finnes hos en node Filtrene publiseres i et temporært navnerom, før de blir multicastet til alle noder som har den motsatte tabellen Noden skanner sitt tilsvarende fragment, men rehasher kun de tuplene som matcher Bloomfilteret. 18

(1) Simulering over 10000 noder Ble testet på Full Mesh og Transit Stub-topologi Full Mesh topologi: Alle endepunkter kan nå alle andre direkte Ideal Enkel å simulere Transit Stub topologi: Typisk Internett Hierarkisk Vanskeligere å simulere Ingen stor forskjell ble funnet -> Full Mesh.. 19 (2) Transit stub Vs Full Mesh 20

(3) Mye avhenger av den underliggende DHT PIER skalerer bra så lenge antall noder er stort nok til å hindre network cognestion. Hver joinalgoritme ble testet med Uendelig båndbredde Begrenset båndbredde Tiden det tok til å motta det siste tuppelet ble valgt som metrikk 21 (4) Uendelig båndbredde Symmetrisk Hash Join raskest Begrenset båndbredde, høy selektivitetsfaktor Fetch Matches-join Symmetrisk Semi-Join Begrenset båndbredde, lav selektivitetsfaktor Symmetrisk Semi-join Bloom-join 22

(5) Fixed båndbredde -10Mbs SHJ bruker mest båndbredde rehashing av begge tabeller FM bruker omtrent konstant båndbredde- S-tuppelet må uansett hentes og evalueres, uansett hvor selektiv predikatet er I SSJ overfører den andre joinoperasjonen tuplene i S og R som matcher Trafikken øker linært med selektiviteten av S BF er god på lav selektivtet minsker rehashing av R Mange R-tupler har ikke noen S-tupler å joine med. 23