Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Γιάννης Κωτίδης #1 Προσεγγιστική Αποτίμηση Ερωτήσεων σε Υπολογιστικά Συστήματα Μεγάλης Κλίμακας Γιάννης Κωτίδης AT&T Labs-Research

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Γιάννης Κωτίδης #1 Προσεγγιστική Αποτίμηση Ερωτήσεων σε Υπολογιστικά Συστήματα Μεγάλης Κλίμακας Γιάννης Κωτίδης AT&T Labs-Research"— Μεταγράφημα παρουσίασης:

1 Γιάννης Κωτίδης #1 Προσεγγιστική Αποτίμηση Ερωτήσεων σε Υπολογιστικά Συστήματα Μεγάλης Κλίμακας Γιάννης Κωτίδης AT&T Labs-Research

2 Γιάννης Κωτίδης #2 Outline Εισαγωγή –εφαρμογές προσεγγιστικής αποτίμησης ερωτήσεων –ορισμός του προβλήματος Haar Wavelets –ορισμός, παραδείγματα –ένας απλός on-line αλγόριθμος Προσεγγιστικός υπολογισμός Wavelets (VLDB2001) –JL-embeddings, sketches –υπολογισμός wavelets μέσω sketches Εφαρμογές με πραγματικά δεδομένα Νεότεροι αλγόριθμοι (STOC2002, VLDB2002) Συμπεράσματα

3 Γιάννης Κωτίδης #3 Δεδομένα  Ανάλυση  Γνώση Συγκέντρωση και ανάλυση πληροφορίας προσφέρει στρατηγικό πλεονέκτημα για επιχειρήσεις –ανάλυση μεριδίου αγοράς, ανάλυση αγορών πελατών –συσχέτιση με πληθυσμιακά χαρακτηριστικά, κατευθυνόμενο μάρκετινγκ Διαχειρίσιμες ποσότητες, σχετικά αργοί ρυθμοί διακίνησης Η ευρεία ανάπτυξη του τομέα των τηλεπικοινωνιών έχει επιφέρει επανάσταση στο ρυθμό δημιουργίας και διακίνησης δεδομένων –συχνά υπερβαίνει τις αποθηκευτικές δυνατότητες των υπαρχόντων συστημάτων

4 Γιάννης Κωτίδης #4 Τηλεφωνικό δίκτυο (AT&T) Κεντρικό σύστημα ελέγχου, ανάλυσης – εκατομμύρια κλήσεις την ημέρα (>60GB) –~200 δισεκατομμύρια εγγραφές (~50ΤΒ) Η αποτίμηση ερωτήσεων είναι χρονοβόρα –“Communities Of Interest”: ποια είναι τα 10 νούμερα με τη μεγαλύτερη συχνότητα κλήσεων από το ? –ποια ήταν η κατανομή των υπεραστικών κλήσεων ανά γεωγραφική περιοχή τους τελευταίους έξι μήνες? –ποία είναι η μέση διάρκεια ενός τηλεφωνήματος στις 10 μεγαλύτερες πόλεις της χώρας?

5 Γιάννης Κωτίδης #5 IP-δίκτυο Περισσότερα δεδομένα Ταχύτεροι ρυθμοί διακίνησης Π.χ. CISCO NetFlow: 150 records/day/router –η αποστολή των δεδομένων είναι ασύμφορη/αδύνατη –μέχρι και 97% των δεδομένων χάνονται στη μεταφορά Backbone router Gateway router Access router

6 Γιάννης Κωτίδης #6 Προσεγγιστική αποτίμηση ερωτήσεων Ακριβείς απαντήσεις δεν είναι πάντοτε απαραίτητες! –για αρχική ανάλυση μας ενδιαφέρουν κυρίων οι ισχυρές “τάσεις” –σε ερωτήσεις ομαδοποίησης ακρίβεια στα πρώτα σημαντικά ψηφία είναι αρκετή “Ποιο ποσοστό από τα συνολικά τηλεφωνήματα γίνονται στην Αττική?” GB/TB Ερώτηση Ακριβής απάντηση KB/MB Wavelet ερώτηση Προσεγγιστική απάντηση

7 Γιάννης Κωτίδης # Απλοποιημένο μοντέλο δεδομένων Πίνακας a[i], 1  i  N –αριθμός κλήσεων από το νούμερο i (N=10 10 ) –αριθμός πακέτων από IP-διεύθυνση i (N=2 32 ) (973) , 6 (973) , 7 (973) , 1 (973) , 1 (973) , 9 (973) , 1 (973) , 7 (973) , 1 δεδομένα a[i] ι,δ[i]

8 Γιάννης Κωτίδης #8 Το πρόβλημα Περιγραφή του πίνακα α[] σε χώρο << Ν Επεξεργασία σε ένα πέρασμα Ενημέρωση σε πραγματικό χρόνο Προσεγγιστική αποτίμηση ερωτήσεων μέσα σε προκαθορισμένα όρια λάθους. Σημείο παρατήρησης ? δεδομένα sketch (KB/MB)

9 Γιάννης Κωτίδης #9 Outline Εισαγωγή –εφαρμογές προσεγγιστικής αποτίμησης ερωτήσεων –ορισμός του προβλήματος Haar Wavelets –ορισμός, παραδείγματα –ένας απλός on-line αλγόριθμος Προσεγγιστικός υπολογισμός Wavelets (VLDB2001) –JL-embeddings, sketches –υπολογισμός wavelets μέσω sketches Εφαρμογές με πραγματικά δεδομένα Νεότεροι αλγόριθμοι (STOC2002, VLDB2002) Συμπεράσματα

10 Γιάννης Κωτίδης #10 Εισαγωγή στα Wavelet Wavelets:Wavelets: μαθηματικός μετασχηματισμός χρησιμοποιώντας προκαθορισμένη βάση (π.χ. Haar, Daubechies-4, Daubechies-6, Coifman, Morlet, Gabor) Haar wavelets:Haar wavelets: πιο απλή υλοποίηση –αναδρομικός υπολογισμός διαφορών και αθροισμάτων ανά δυαδικά τμήματα Resolution Averages Wavelets a = [2, 2, 0, 6, 4, 2, 2, 0] [2, 3, 3, 1][0, 3, -1, -1] [2.5, 2][0.5, -1] [2.25][-0.25] Haar wavelets:[2.25, -0.25, 0.5, -1, 0, 3, -1, -1] Ορισμός επεκτείνεται εύκολα για πολυδιάστατα δεδομένα

11 Γιάννης Κωτίδης #11 Συμπίεση μέσω Wavelet Κρατάμε Β<<Ν τιμές (τις μεγαλύτερες)Κρατάμε Β<<Ν τιμές (τις μεγαλύτερες) –Πχ Β=2 [2.25, -0.25, 0.5, -1, 0, 3, -1, -1] [2.25, 0, 0, 0, 0, 3, 0, 0] α’=[2.25, 2.25, -0.75, 5.25, 2.25, 2.25, 2.25, 2.25] α=[2, 2, 0, 6, 4, 2, 2, 0]

12 Γιάννης Κωτίδης #12 On-line αλγόριθμος (απλό μοντέλο) a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8] Βλέπουμε τον πίνακα από αριστερά προς τα δεξιάΒλέπουμε τον πίνακα από αριστερά προς τα δεξιά Κρατάμε τα Β μεγαλύτερα wavelet σε σωρό και logN από τα «ενεργά» στη μνήμηΚρατάμε τα Β μεγαλύτερα wavelet σε σωρό και logN από τα «ενεργά» στη μνήμη Ν>>διαθέσιμη μνήμη Σωρός (τοπ-Β)

13 Γιάννης Κωτίδης #13 Καλά και άσχημα νέα Τα Β-μεγαλύτερα wavelets μπορούν να υπολογιστούν με μνήμη O(B+logN)  [IEEE TKDE] Κάθε ντετερμινιστικός αλγόριθμος που υπολογίζει το μεγαλύτερο (εκτός του μ.ο.) wavelet στο γενικό μοντέλο χρειάζεται  (N/polylog(N)) μνήμη

14 Γιάννης Κωτίδης #14 Θα χρησιμοποιήσουμε randomized αλγόριθμους –προσεγγίζουν τη λύση με μεγάλη πιθανότητα επιτυχίας Προσεγγιστικός υπολογισμός των wavelets με –σφάλμα (αθροιστικά) 1  ε (π.χ. 10%) –πιθανότητα επιτυχίας 1-δ (π.χ. 99%) –πολυ-λογαριθμικές απαιτήσεις μνήμης (και πολυπλοκότητα): Γενική κατεύθυνση poly(logN, log(1/δ), ε)

15 Γιάννης Κωτίδης #15 Παρατήρηση 1 Το wavelet w[l] είναι το εσωτερικό γινόμενο των δεδομένων a[] με ένα διάνυσμα βάσης  [i] a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8] [1][1] [2][2] [3][3] [4][4] [5][5] [6][6] [7][7] [8][8] Ορθοκανονική βάση wavelets

16 Γιάννης Κωτίδης #16 Παρατήρηση 2 Το εσωτερικό γινόμενο 2 μοναδιαίων διανυσμάτων μπορεί να υπολογιστεί από την απόσταση τους: = cos(a,b) = 1-dist 2 (a,b)/2

17 Γιάννης Κωτίδης #17 Μία άλλη όψη Απεικόνιση των δεδομένων και της wavelet- βάσης στο R N (N+1 σημεία) Δεν έχουμε αρκετή μνήμη να σώσουμε το α[] δεδομένα wavelets

18 Γιάννης Κωτίδης #18 JL-embeddings Johnson & Lindenstrauss [84] “Ν σημεία μπορούν να απεικονιστούν σε κ=Ο((logΝ)/ε 2 ) διαστάσεις ώστε οι μεταξύ τους αποστάσεις να διατηρούνται με σφάλμα  ε” a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8] N wavelet διάνυσμα-βάση πίνακας k ? ? ? ? ? ? ? ?

19 Γιάννης Κωτίδης #19 Sketches e.g [Alon96]: εσωτερικό γινόμενο του a με O(log(N/  )/  2 ) ψευδοτυχαία {-1,+1} διανύσματα sketch(α) α[i]α[i] r1[i]r1[i] r2[i]r2[i] r3[i]r3[i] +2 -2

20 Γιάννης Κωτίδης #20 Ιδιότητες των Sketches και 0 Χ 1 Χ 2 Χ 3 Χ 4 Χ 5. Χκ sketch(α) To X i 2 είναι unbiased estimate της νόρμας-2 του α[]

21 Γιάννης Κωτίδης #21 Boosting: διάμεσος μέσων-όρων Χ j =Σα[ι]r j [ι], Ε[Χ j 2 ]=Σα[ι] 2 =Α 2 Χ 1 Χ 2 Χ 3 Χ 4 Χ 5. Χκ μ κ=λ*μ μ Υ 1 =(Χ Χ … Χ μ 2 )/μ Υ 2 =(Χ μ Χ μ … Χ 2μ 2 )/μ Υ λ =(Χ (λ-1)μ Χ (λ-1), … Χ κ 2 )/μ Υπολογισμός Μέσων Όρων sort Y=διάμεσος(Υ ι )

22 Γιάννης Κωτίδης #22 Boosting: διάμεσος μέσων-όρων Χ j =Σα[ι]r j [ι], Ε[Χ j 2 ]=Σα[ι] 2 =Α 2 Χ 1 Χ 2 Χ 3 Χ 4 Χ 5. Χκ Prob[|Υ-Α 2 |  4/μ 1/2 Α 2 ] >= 1-2^ -λ/2 εδ μ κ=λ*μ μ Το μήκος του α μπορεί να υπολογιστεί με ακρίβεια ε’, με πιθανότητα επιτυχίας 1-δ Η απόσταση dist(a,b) είναι το μήκος του α-β

23 Γιάννης Κωτίδης #23 Sketchενός Wavelet 2 nd order Reed-Muller codes για τα αθροίσματα σε Ο(log 3 (N)) BAC ζ[l] rkrk +1

24 Γιάννης Κωτίδης #24 Wavelets from Sketches N πίνακας k wavelet διάνυσμα-βάση

25 Γιάννης Κωτίδης #25 Είσοδος: sketch(a), i Έξοδος: wavelet w[i] –Υπολόγισε το sketch(ζ[ι]) του διανύσματος-βάσης –Υπολόγισε Υ=Α 2 από το sketch(a) –Υπολόγισε sketch(a’=a/Y ½ )=sketch(a)/Y ½ –Υπολόγισε cos(a,ζ)=1-dist 2 (α’,ζ[ι])/2 μέσω του sketch(α’-ζ[ι]) –επέστρεψε w=Υ ½ *cos(α,ζ[ι]) Μνήμη: O(Blog 2 (N)log(N/  )/  /  3 ) Τελικός αλγόριθμος (vldb2001) Ψευδ. μεταβλητέςsketch

26 Γιάννης Κωτίδης #26 Συνολική Αρχιτεκτονική seeds sketch wavelets data stream Queries

27 Γιάννης Κωτίδης #27 Outline Εισαγωγή –εφαρμογές προσεγγιστικής αποτίμησης ερωτήσεων –ορισμός του προβλήματος Haar Wavelets –ορισμός, παραδείγματα –ένας απλός on-line αλγόριθμος Προσεγγιστικός υπολογισμός Wavelets (VLDB2001) –JL-embeddings, sketches –υπολογισμός wavelets μέσω sketches Εφαρμογές με πραγματικά δεδομένα Νεότεροι αλγόριθμοι (STOC2002, VLDB2002) Συμπεράσματα

28 Γιάννης Κωτίδης #28 Πειράματα (τηλεφωνικό δίκτυο) CDRs από 7 μέρες του Φεβρ a[i] = #κλήσεων από το npa-nxx i N=65,536 Sketch size = 3,952 words Ημέρα#κλήσεων 045,110, ,546, ,820, ,768, ,141, ,285, ,361,885 Σύνολο511,103,3795

29 Γιάννης Κωτίδης #29 Σύγκριση με Off-line αλγόριθμο Top-7 wavelets περιέχουν 90% της ενέργειας Υπόλοιπα wavelets πολύ μικρά

30 Γιάννης Κωτίδης #30 Σύγκριση με στατική προεπιλογή

31 Γιάννης Κωτίδης #31 Απεικόνιση στο R N δεδομένα wavelets ενημερώσεις

32 Γιάννης Κωτίδης #32 Παρατηρήσεις από διαφορετικά συστήματα μπορούν να συνδυαστούν: Γραμμικότητα των σκίτσων +++= Συνολική ροή μέσα από το δίκτυο κορμό:

33 Γιάννης Κωτίδης #33 Συνδυασμός κατανεμημένων μετρήσεων + …++= Συνολική ροή μέσα από το δίκτυο κορμό: X X X X

34 Γιάννης Κωτίδης #34 Επεκτάσεις STOC 2002 paper: ιεραρχία από sketches –υπολογισμός histograms, wavelets μέσω sketches σε sub-linear time,space με μίνιμουμ relative error –εφαρμογές: Exploratory Data Analysis, visualization, databases κ.α.

35 Γιάννης Κωτίδης #35 2*10-15=5 2*9-15=4 Random Subset Sums (VLDB2002) Επέλεξε το α[ι] με πιθανότητα 50% α[i]α[i] rss RSS rss 2 rss 3 α[ι]=2Χ j -Α, αν r j [i]=1 4.5      α[8]=?

36 Γιάννης Κωτίδης #36 Κατασκευή των RSS Extended Hamming Code: x = (mod2) = |log(N)+1| seed rss= {a[0], a[3], a[4], a[7]}

37 Γιάννης Κωτίδης #37 Νεώτερος Αλγόριθμος (VDLB2002) Γράψε οποιοδήποτε διάστημα σαν άθροισμα Ο(logN) δυαδικών διαστημάτων Κάθε δυαδικό διάστημα προσεγγίζεται  εΑ 1 μέσω των RSS α[i]α[i]

38 Γιάννης Κωτίδης #38 Deciles of on-going Calls

39 Γιάννης Κωτίδης #39 Συμπεράσματα Προσεγγιστική αποτίμηση ερωτήσεων επιθυμητή σε πολλές εφαρμογές –ταχύτατη απόκριση σε εφαρμογές ανάλυσης –μόνη λύση όταν η συγκέντρωση των δεδομένων είναι αδύνατη Δύο μέθοδοι (sketches/RSS) για συνοπτική περιγραφή με –μικρό χώρο, ένα πέρασμα, εγγυήσεις πιστότητας (ε,δ) –γρήγορη αποτίμηση Συνδυασμός κατανεμημένων μετρήσεων σε συστήματα ευρείας κλίμακας –lossless για οποιοδήποτε γραμμικό συνδυασμό

40 Γιάννης Κωτίδης #40 Πολυδιάστατη Ανάλυση Δεδομένων Cubetrees, Dwarf, SIGMOD-97, 98, 02 –αποδοτικές δομές οργάνωσης DynaMat, best paper award SIGMOD-99, TODS-01 –αυτόματη επιλογή, οργάνωση με βάση τα υπάρχοντα resources (αποθηκευτικός χώρος, χρόνος υπολογισμού), ενημέρωση Data mining (VLDB-98, 01) Ανταλλαγή δεδομένων μέσω XML, ICDE-03 κ.α. View {product,store}

41 Γιάννης Κωτίδης #41 Ευχαριστώ!

42 Γιάννης Κωτίδης #42 Exponential fading Exp fading: b'= a+(1- )b Από γραμμικότητα: h(b’)= h(a)+(1- )h(b)

43 Γιάννης Κωτίδης #43 Conventional View (Haar Wavelets) a[] a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8] Level 1 Level 2 Level 3

44 Γιάννης Κωτίδης #44 Άλλες εφαρμογές Μπορούν να χρησιμοποιηθούν αντί για τα αρχικά σήματα σε πολλούς αλγόριθμος ανάλυσης δεδομένων –Π.χ. SVD (Information Retrieval: LSI)

45 Γιάννης Κωτίδης #45 JPEG-2000 Φυσιολογία (αντίληψη εικόνας από θηλαστικά) Many applications: Data Compression, Noise Reduction, Edge Detection (image processing) Databases: selectivity estimation [Matias98- 00,Chakrabarti00, Gilbert00], aggregate OLAP queries [Vitter99], etc Fast Transform: O(N) space/time “Few good-terms” phenomenon –Just few coefficients retain most of the energy: Wavelet Transform

46 Γιάννης Κωτίδης #46 IP Example

47 Γιάννης Κωτίδης #47 Main Result Parameters: –  : seek inner products within (1  ) –  : failure probability –  : guarantees hold only when cosine is greater than  if w[l] 2  (  /B)|a| 2 can be estimated reliably If there is a top-B wavelet representation with psedo-energy at least  |a| 2 then with probability (1-  ) we can find an approximate B-term representation with pseudo-energy at least (1-  )  |a| 2 with space and per-item time cost: O(Blog 2 (N)log(N/  )/  /  3 )

48 Γιάννης Κωτίδης #48 Άλλα παραδείγματα Παράλληλα συστήματα Β.Δ –στατιστικά για την ισοκατανομή των δεδομένων Στατιστικά για query optimization SQL Query Κεντρική ΒΔ Συνοπτική περιγραφή Optimizer

49 Γιάννης Κωτίδης #49 Chebyshev’s Inequality P[X-E[X] > k] <= VAR[X]/k 2 ( X  X 2 ) Εμείς : E[X 2 ] = A 2, VAR[X 2 ]=E[(X 2 -E[X 2 ])^2] <= A 2 ^2 Μέσοι όροι Yι=(Χ Χ … Χ μ 2 )/μ E[Yι] = A 2 VAR[Yι] <= A 2 2 /μ Αρα P[|Yι- A 2 |> eA 2 ] <= (A 2 2 /μ)/e 2 A 2 2 =1/(μe 2 )  P[|Yι- A 2 | 1-1/(μe 2 )

50 Γιάννης Κωτίδης #50 1 st Chernoff Bound Έστω V t.m = 1 αν το Υ είναι μέσα στα όρια, P[V=1]=p = σταθερά για ε,μ σταθερά [Poisson Trials] Έχω λ trials V Έστω Χ ο αριθμός των επιτυχιών Χ=SUM(V) Η πιθανότητα αποτυχίας P[X < (1-δ)λp] < e^{-λpδ 2 /2} Για 1-δ=1/2 (ο διάμεσος να είναι λάθος) P[X> ½ λp] >=1-e^{-λp/8} Έστω ρ=7/8 -> 1/(μe 2 ) = 1/8  P[|Y- A 2 |> eA 2 ] >=1-δ –όπου ε=sqrt(8/μ) και δ= e^{-λ7/8} (τα άλλα όρια είναι παρόμοια)


Κατέβασμα ppt "Γιάννης Κωτίδης #1 Προσεγγιστική Αποτίμηση Ερωτήσεων σε Υπολογιστικά Συστήματα Μεγάλης Κλίμακας Γιάννης Κωτίδης AT&T Labs-Research"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google