Parallel and Distributed IR Παράλληλη και Κατανεμημένη ΑΠ

Σχετικά έγγραφα
Ανάκτηση Πληροφορίας

Parallel and Distributed IR

Ανάκτηση Πληροφορίας

Parallel and Distributed IR Παράλληλη και Κατανεμημένη ΑΠ

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

EM 361: Παράλληλοι Υπολογισμοί

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Ανάκτηση Πληροφορίας

Εισαγωγικά στοιχεία για παραλληλισμό και ΒΔ Μοντέλα και αρχιτεκτονικές παραλληλισμού Διαμερισμός δεδομένων Παράλληλη επεξεργασία ερωτημάτων

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Προχωρηµένα Θέµατα Αρχιτεκτονικής Η/Υ. Storage Systems.. Λιούπης

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

CS 150 Assignment 2. Assignment 2 Overview Opening Files Arrays ( and a little bit of pointers ) Strings and Comparison Q/A

Κεφ. 10: Δομές Αποθήκευσης

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

Advanced Data Indexing

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Ανάκτηση Πληροφορίας

Αρχιτεκτονική υπολογιστών

Ανάκτηση Πληροφορίας

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετηρίαση, Αποθήκευση και Οργάνωση Αρχείων (Indexing, Storage and File Organization) ΜΕΡΟΣ Ι

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Αντισταθμιστική ανάλυση

Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval. Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer

Αρχιτεκτονική Υπολογιστών

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Ανάκτηση Πληροφορίας. Φροντιστήριο 3

EE512: Error Control Coding

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Κεφ.11: Ευρετήρια και Κατακερματισμός

Εαρινό Εξάμηνο

Κεφάλαιο 1ο Πολυπρογραμματισμός Πολυδιεργασία Κατηγορίες Λειτουργικών Συστημάτων

Minimum Spanning Tree: Prim's Algorithm

Αρχιτεκτονική Υπολογιστών

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων

Ανάκτηση Πληροφορίας (Information Retrieval IR)

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Το εσωτερικό ενός Σ Β

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

HY150a Φροντιστήριο 3 24/11/2017

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

I/O: Λίγη θεωρία ουρών, RAID

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

Συστήματα σε Ολοκληρωμένα Κυκλώματα

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

Αρχιτεκτονική Υπολογιστών

Ανάκτηση πληροφορίας

Ανάκτηση Δεδομένων (Information Retrieval)

Συστήματα Διαχείρισης Βάσεων Δεδομένων

[1] P Q. Fig. 3.1

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #03

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

The Simply Typed Lambda Calculus

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

DISTRIBUTED CACHE TABLE: EFFICIENT QUERY-DRIVEN PROCESSING OF MULTI-TERM QUERIES IN P2P NETWORKS

Other Test Constructions: Likelihood Ratio & Bayes Tests

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

Bayesian statistics. DS GA 1002 Probability and Statistics for Data Science.

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΜΥΕ003: Ανάκτηση Πληροφορίας. Διδάσκουσα: Ευαγγελία Πιτουρά Κεφάλαιο 5: Στατιστικά Συλλογής. Συμπίεση.

EM 361: Παράλληλοι Υπολογισμοί

Αρχιτεκτονική Υπολογιστών

Μεταπτυχιακή Διπλωματική Εργασία. «Τεχνικές Δεικτοδότησης Συστημάτων Ανάκτησης Πληροφορίας με τη χρήση Wavelet Trees» Κατσίπη Δήμητρα ΑΜ: 741

Επερωτήσεις σύζευξης με κατάταξη

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

0 The quick brown fox leaped over the lazy lazy dog 1 Quick brown foxes leaped over lazy dogs for fun

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Elements of Information Theory

Λειτουργικά Συστήματα (ΗΥ321)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Πολυπύρηνοι επεξεργαστές Multicore processors

Επεξεργασία Ερωτήσεων

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

4 η Σειρά ασκήσεων (Συμπίεση, Ομαδοποίηση, Ευρετηρίαση Πολυμέσων, Κατανεμημένη Ανάκτηση)

Επεξεργασία Ερωτήσεων

Transcript:

HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems Parallel and Distributed IR Παράλληλη και Κατανεμημένη ΑΠ Γιάννης Τζίτζικας CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 1 Διάρθρωση Περιεχομένου Μέρος A: Παράλληλη Ανάκτηση Πληροφοριών (Parallel IR) Μέρος B: Κατανεμημένη Ανάκτηση Πληροφοριών (Distributed IR) Επιλογή Πηγής Eνοποίηση Αποτελεσμάτων Μέρος Γ: Ανάκτηση Πληροφοριών σε Ομότιμα Συστήματα (Peer to Peer Systems) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 2 Ανάκτηση Πληροφορίας 2008-2009 1

Μέρος A Παράλληλη Ανάκτηση Πληροφοριών Παράλληλη Ανάκτηση Πληροφοριών: Διάρθρωση Κίνητρο Μέτρα Απόδοσης Παράλληλων Προγραμμάτων Παράλληλη Επεξεργασία και Ανάκτηση Πληροφοριών Parallel Multitasking Partitioned Parallel Processing Διαμερισμός Εγγράφων (για MIMD αρχιτεκτονική) Διαμερισμός Όρων (για MIMD αρχιτεκτονική) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 4 Ανάκτηση Πληροφορίας 2008-2009 2

Κίνητρο Όσο πιο μεγάλη είναι μια συλλογή κειμένων, τόσο πιο ακριβή γίνεται η διαχείρισή της από ένα ΣΑΠ Ανάγκη για αρχιτεκτονικές και τεχνικές για βελτίωση της απόδοσης The volume of electronic text available online today is staggering. The WWW contains over 30 billions pages of text. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 5 Παράλληλα Συστήματα Παράλληλη Επεξεργασία: η ταυτόχρονη λειτουργία πολλών πόρων (επεξεργαστών ή μονάδων I/O) για την επίλυση ενός προβλήματος. Η χρήση πολλών πόρων μπορεί να βελτιώσει σημαντικά το χρόνο επεξεργασίας ενός ερωτήματος, διότι η κάθε μονάδα συνεισφέρει στην επίλυση ενός μέρους του αρχικού προβλήματος. Ανάκτηση Πληροφορίας 2008-2009 3

Παράλληλα Συστήματα Παραλληλισμός μπορεί να εφαρμοστεί σε όλους τους πόρους ενός συστήματος. Συνήθως αναφερόμαστε σε : παραλληλισμό επεξεργαστών (processor ή CPU parallelism) παραλληλισμό συστήματος εισόδου εξόδου (I/O parallelism) Παράλληλος Προγραμματισμός Παράλληλος Προγραμματισμός: Η ταυτόχρονη χρήση πολλών επεξεργαστών για την επίλυση ενός προβλήματος Ταξινόμηση αρχιτεκτονικών (κατά Flynn): SISD single instruction, single data SIMD single instruction, multiple data N processors running the same program on different parts of the data, e.g. Thinking machine MISD multiple instruction, single data N processors running different programs on a single data stream in shared memory MIMD multiple instruction, multiple data N processors, N instruction streams, N data streams the most common architecture. It also captures distributed computing architectures the main difference between MIMD parallel computer and a Distributed System is the communication cost (which is less in MIMD) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 8 Ανάκτηση Πληροφορίας 2008-2009 4

SISD Αποτελεί την κλασική μηχανή von Neumann, όπου έχουμε μόνο έναν επεξεργαστή ο οποίος εκτελεί μία ακολουθία εντολών σε ένα stream δεδομένων. P Λειτουργία Data Stream SIMD Αποτελείται από Ν επεξεργαστές οι οποίοι επεξεργάζονται N διαφορετικά δεδομένα εφαρμόζοντας την ίδια λειτουργία. Οι επεξεργαστές είναι συγχρονισμένοι ώστε να εκτελούν την ίδια λειτουργία στα δεδομένα. Παράδειγμα SIMD συστήματος: Thinking Machines CM 2. Κάθε επεξεργαστής μπορεί να έχει τη δική του μνήμη ή όλοι επεξεργαστές μπορούν να μοιράζονται την ίδια μνήμη. P1 Λειτουργία 1 Data Stream 1 P2 Λειτουργία 1 Data Stream 2 P3 Λειτουργία 1 Data Stream 3 Ανάκτηση Πληροφορίας 2008-2009 5

MISD Ν επεξεργαστές οι οποίοι μπορούν να εκτελούν διαφορετικές λειτουργίες στα ίδια δεδομένα. Όλοι οι επεξεργαστές μοιράζονται την ίδια μνήμη. Τα συστήματα MISD δεν είναι ευρέως διαδεδομένα. Παράδειγμα: Systolic Arrays P1 Λειτουργία 1 P2 Λειτουργία 2 Data Stream P3 Λειτουργία 3 MIMD Είναι η πιο γενική και πιο διαδεδομένη παράλληλη αρχιτεκτονική συστημάτων. Έχουμε N επεξεργαστές και Ν δεδομένα, και κάθε επεξεργαστής μπορεί να εκτελεί διαφορετική λειτουργία. Κάθε επεξεργαστής μπορεί να έχει τη δική του μνήμη ή όλοι να μοιράζονται την ίδια. Παραδείγματα: Sun HPC Server, IBM SP2 Ανάλογα με το βαθμό επικοινωνίας των επεξεργαστών μεταξύ τους διακρίνουμε: Tightly coupled συστήματα. Loosely coupled συστήματα. P1 Λειτουργία 1 Data Stream 1 P2 Λειτουργία 2 Data Stream 2 P3 Λειτουργία 3 Data Stream 3 Ανάκτηση Πληροφορίας 2008-2009 6

Μέτρα Απόδοσης Παράλληλων Προγραμμάτων (Parallel Program Performance Measures) Speedup S = Running time of best available sequential algorithm Running time of parallel algorithm Αν έχω Ν επεξεργαστές, τότε στην ιδανική περίπτωση Speedup = N Δυστυχώς, αυτό δεν είναι πάντα (συνήθως) εφικτό διότι: ένα πρόβλημα μπορεί να μην αναλύεται σε Ν ανεξάρτητα υποπροβλήματα επιπλέον κόστος ελέγχου (scheduling, συγχρονισμός) το πρόβλημα μπορεί να περιλαμβάνει ένα εγγενώς σειριακό υποπρόβλημα CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 13 Μέτρα Απόδοσης Παράλληλων Προγραμμάτων (Parallel Program Performance Measures) [Amdahl s Law] Αν f είναι το ποσοστό του προβλήματος που πρέπει να επιλυθεί σειριακά, τότε ημέγιστη επιτάχυνση (speedup) που μπορεί να επιτευχθεί με χρήση Ν επεξεργαστών είναι: S f 1 + (1 f ) / N 1 f CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 14 Ανάκτηση Πληροφορίας 2008-2009 7

Μέτρα Απόδοσης Παράλληλων Προγραμμάτων (Parallel Program Performance Measures) S f 1 + (1 f ) / N 1 f Αν f = 0 τότε S <= 1/(0+(1-0)/N) = 1/(1/N)=N Αν f = 1 τότε S <= 1/(1+(1-1)/N) = 1 Αν f = 0.5 τότε S <= 1/(0.5+(1-0.5)/N) = 1/(0.5 + 0.5/N)=2N/(N+1) για Ν = 2 S=4/3 = 1.3 για Ν = 10 S=20/11 = 1.81 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 15 Μέτρα Απόδοσης Speedup = χρόνος σειριακού αλγορίθμου προς το χρόνο παράλληλου αλγορίθμου (θέλουμε γραμμικότητα) Αν το πρόβλημα (δεδομένα) μεγαλώνουν: Scaleup = χρόνος επίλυσης μικρού προβλήματος σε μικρό σύστημα προς το χρόνο επίλυσης μεγάλου προβλήματος σε μεγάλο σύστημα (θέλουμε σταθερότητα) Sizeup = χρόνος επίλυσης μικρού προβλήματος σε μεγάλο σύστημα προς το χρόνο επίλυσης μεγάλου προβλήματος σε μεγάλο σύστημα (θέλουμε γραμμικότητα) Ανάκτηση Πληροφορίας 2008-2009 8

Μέτρα Απόδοσης Mέτρα απόδοσης από την πλευρά κάθε εργασίας: Ρυθμός εξόδου ή ολοκλήρωσης (throughput): ο αριθμός των εργασιών που μπορούν να ολοκληρωθούν σε συγκεκριμένο χρονικό διάστημα Χρόνος απόκρισης (response time): ο χρόνος που απαιτείται για να ολοκληρωθεί μία εργασίααπότηστιγμήπουθαυποβληθεί Ολικός χρόνος (total time) vs Response (or parallel) time: αθροιστικά ο συνολοκός χρόνος για μία εργασία Παραλληλισμός Ι/Ο Κατά τη διάρκεια επεξεργασίας ενός ερωτήματος πολύς χρόνος δαπανάται για λειτουργίες Ι/Ο. Θέλουμε οι λειτουργίες αυτές να εκτελούνται γρηγορότερα. Ο τρόπος με τον οποίο διαμοιράζονται τα δεδομένα στους δίσκους παίζει σημαντικό ρόλο στην επίδοση του συστήματος. Ο διαμοιρασμός (declustering) μπορεί να πραγματοποιηθεί: από το υλικό (π.χ. I/O controller) απότολογισμικό(π.χ. λειτουργικό σύστημα, database) File 1, File 2, File 3 File 1, File 2, File 3 File File1 1 File File2 2 File 3 Ανάκτηση Πληροφορίας 2008-2009 9

Παραλληλισμός Ι/Ο Ο παραλληλισμός στοχεύει: ΚατανομήτουφόρτουπολλώνμικρώναιτήσεωνΙ/Ο με στόχο την αύξηση του throughput. Παραλληλισμός μεγάλων αιτήσεων I/O με στόχο τη μείωση του χρόνου απόκρισης (response time). Χρήση RAID (Redundant Arrays of Inexpensive Disks) Redundant Array of Independent Disks increaseddata reliability or increased input/output performance Παραλληλισμός Ι/Ο Data striping: the data is segmented into equal sized partitions that are distributed over multiple disks Striping unit: size of a partition Usually, using a round robin algorithm: if the disk array consists of D disks, partition i is written onto disk i mod D Round robin => large requests of the size of many contiguous blocks involve all disks => process the request by all disks in parallel => increase the transfer rate to the aggregated bandwidth of the D disks Ανάκτηση Πληροφορίας 2008-2009 10

Παραλληλισμός Ι/Ο Multiple disks may lower overall reliability Increase reliability through redundancy Where to store redundant information? on a few check disks distribute it uniformly across all disks How to compute redundant information parity scheme: an extra check disk contains information that can be used to recover from failure of any one disk in the array Consider the first bit in each disk Let i of the D data bits be one => first bit on the check disk is 1 if i is odd, 0 otherwise RAID Levels RAID LEVEL 0 Κάθε δίσκος αποθηκεύει τα δικά του δεδομένα. Δεν υπάρχει επανάληψη. Σε περίπτωση που έχουμε failure σε έναν δίσκο τα περιεχόμενα καταστρέφονται. RAID LEVEL 1 Mirroring (redundancy) Κάθε δίσκος έχει και έναν αντίστοιχο ο οποίος περιέχει αντίγραφο των δεδομένων No stripping Parallel reads of the same disk block! Ανάκτηση Πληροφορίας 2008-2009 11

RAID Levels RAID LEVEL 2 Memory style error correcting codes Stripping unit: single bit Για κάθε byte δεδομένων αποθηκεύεται και ένα parity bit, ώστε να μπορεί να γίνει ανακατασκευή δεδομένων σε περίπτωση που έχουμε failure RAID LEVEL 3 Bit interleaved parity Σε αντίθεση με το level 2 χρησιμοποιεί έναν δίσκο για parity. Μειονέκτημα: σεκάθεi/o συμμετέχουν όλοι οι δίσκοι. RAID Levels RAID LEVEL 4 Block interleaved parity Stripping at the block level Σε κάθε δίσκο αποθηκεύεται block δεδομένων και χρησιμοποιείται το parity για κάθε block RAID LEVEL 5 Block interleaved distributed parity Τα parity δεδομένα αποθηκεύονται σε όλους τους δίσκους, μαζί με τα δεδομένα. Ανάκτηση Πληροφορίας 2008-2009 12

Διαμοιρασμός Δεδομένων Declustering, Partitioning: Μέθοδοι διαμοιρασμού των δεδομένων στους διαθέσιμους δίσκους. Ο τρόπος διαμοιρασμού των δεδομένων έχει άμεση σχέση με την επίδοση ενός ερωτήματος. Στόχοι: Να ενεργοποιούνται όσο το δυνατό λιγότεροι δίσκοι. Οι δίσκοι που ενεργοποιούνται να εκτελούν ισοδύναμες εργασίες, ώστε ο χρόνος επεξεργασίας κάθε δίσκου να είναι περίπου ο ίδιος. Υπάρχουντρειςδιαφορετικέςτεχνικέςδιαμοιρασμούτωνδεδομένωνενόςπίνακα σε ένα σύνολο δίσκων: Round Robin Hash Partitioning Range Partitioning Διαμοιρασμός Δεδομένων ID Τίτλος Ταινίας Χρονιά 1 Rear Window 1954 2 Psycho 1960 3 North by Northwest 1959 4 Armageddon 1998 5 Lord of the Rings 2001 6 Minority Report 2002 7 Insomnia 2002 Ανάκτηση Πληροφορίας 2008-2009 13

Round Robin Disk 0 Disk 1 Disk 2 1, Rear Window, 1954 4, Armageddon, 1998 7, Insomnia, 2002 2, Psycho, 1960 5, Lord of the Rings, 2001 3, North by Northwest, 1959 6, Minority Report, 2002 Hash Partitioning Χρησιμοποιούμε τη συνάρτηση κατακερματισμού: [Χρονιά]MOD 3 Disk 0 Disk 1 Disk 2 3, North by Northwest, 1959 5, Lord of the Rings, 2001 4, Armageddon, 1998 1, Rear Window, 1954 2, Psycho, 1960 7, Insomnia, 2002 6, Minority Report, 2002 Ανάκτηση Πληροφορίας 2008-2009 14

Range Partitioning Ο πίνακας χωρίζεται σε περιοχές (ranges) και κάθε περιοχή αποθηκεύεται σε ξεχωριστό δίσκο. 1950 έως 1970 1971 έως 1999 2000 έως 2003 Disk 0 Disk 1 Disk 2 1, Rear Window, 1954 3, North by Northwest, 1959 2, Psycho, 1960 4, Armageddon, 1998 5, Lord of the Rings, 2001 6, Minority Report, 2002 7, Insomnia, 2002 Σύγκριση Ερωτήματα: SELECT * FROM movies (relation scanning) SELECT * FROM movies WHERE title= Armageddon SELECT * FROM movies WHERE year BETWEEN (1970,2000) (point query) (range query) Να συζητηθεί η απόδοση των μεθόδων διαμοιρασμού για τα ερωτήματα. Ανάκτηση Πληροφορίας 2008-2009 15

Διαμοιρασμός Δομών Σε συστήματα πολλών δίσκων υπάρχει η ανάγκη να διαμοιράσουμε τις δομές δεδομένων (π.χ. Β δένδρα). Τεχνικές που χρησιμοποιούνται: Διαμοιρασμός των εγγραφών Υπερ σελίδες Διαμοιρασμός σελίδων Multi Disk B trees Διαμοιρασμός Εγγραφών Εφαρμόζεται ένας κανόνας διαμοιρασμού των εγγραφών στους δίσκους (round robin, hashing, range partitioning). Για κάθε δίσκο υπάρχει ένα ξεχωριστό Β δένδρο το οποίο δεικτοδοτεί τις αντίστοιχες εγγραφές. Β-δένδρο 1 Β-δένδρο 2 Β-δένδρο 3 R1, R2, R3 R4, R5, R6 R7, R8, R9 Disk 1 Disk 2 Disk 3 Ανάκτηση Πληροφορίας 2008-2009 16

Υπερ σελίδες Κάθε κόμβος του δένδρου θεωρείται ότι αποτελείται από Ν τμήματα, όπου Ν ο αριθμός των δίσκων. Κάθε τμήμα αποθηκεύεται σε ξεχωριστό δίσκο. A1 A2 A3 A4 1 2 3 4 B1 B2 B3 B4 C1 C2 C3 C4 1 2 3 4 1 2 3 4 Multi Disk B trees Οι κόμβοι του δένδρου κατανέμονται στους δίσκους έτσι ώστε, δύο σελίδες που έχουν μεγάλη πιθανότητα να ζητηθούν μαζί σε ένα ερώτημα αποθηκεύονται σε διαφορετικούς δίσκους. Ν αριθμός δίσκων: Όταν δημιουργείται μία νέα σελίδα P, αποθηκεύεται στο δίσκο ο οποίος δεν περιέχει τις Ν 1 ή Ν 2 γειτονικές σελίδες με την P. 20 40 1 3 2 5 15 25 30 50 60 1 2 3 6 8 10 17 18 19 22 23 24 27 28 29 31 32 33 45 46 47 55 56 57 61 62 63 1 2 3 1 2 3 1 2 3 Ανάκτηση Πληροφορίας 2008-2009 17

Παράλληλες Βάσεις Δεδομένων P P P P P P Interconnection Interconnection M M M P P P Shared Memory Interconnection M M M shared everything shared disk shared nothing Παράλληλοι Αλγόριθμοι Βασικοί στόχοι ενός παράλληλου αλγορίθμου είναι: ηδιάσπασητου αρχικού προβλήματος σε υποπροβλήματα η αντιστοίχιση υποπροβλημάτων σε επεξεργαστές. Σε πολλές περιπτώσεις απαιτείται να έχουμε μία εκτίμηση σχετικά με το χρόνο που απαιτείται για την επίλυση ενός υποπροβλήματος. Η αντιστοίχιση υποπροβλημάτων σε επεξεργαστές μπορεί να μη γίνεται στατικά αλλά δυναμικά, ανάλογα με τις ανάγκες που προκύπτουν κατά την πορεία απάντησης του ερωτήματος (static vs dynamic assignment) Στη συνέχεια περιγράφουμε δύο παράλληλους αλγορίθμους οι οποίοι λύνουν το πρόβλημα της ταξινόμησης χρησιμοποιώντας Ν επεξεργαστές. Parallel Merge Sort Partitioned Based Parallel Sorting Ανάκτηση Πληροφορίας 2008-2009 18

Parallel Merge Sort Backend Sort: Το αρχείο προς ταξινόμηση διαμοιράζεται στους επεξεργαστές και μετά την επεξεργασία, τοταξινομημένοαρχείοεπιστρέφειστονhost. Distributed Sort: αρχικά το αρχείο είναι ήδη διαμοιρασμένο στους επεξεργαστές. Στο τέλος της ταξινόμησης είτε εγγράφεται στο δίσκο είτε αποστέλλεται στον host. Parallel Merge Sort Ο αλγόριθμος θεωρεί ότι οι επεξεργαστές σχηματίζουν μία δενδρική δομή. Κάθε επεξεργαστής που βρίσκεται σε «φύλλο» έχει ένα δίσκο και μπορεί να εκτελέσει ταξινόμηση ανεξάρτητα από τους άλλους. Διακρίνουμε δύο φάσεις: Φάση ταξινόμησης (sort phase) Φάση συγχώνευσης (merge phase) Κατά τη φάση της ταξινόμησης κάθε επεξεργαστής στο επίπεδο των φύλλων ταξινομεί τα δεδομένα που του αντιστοιχούν. Κατά τη φάση της συγχώνευσης τα ταξινομημένα τμήματα που έχουν δημιουργηθεί από την προηγούμενη φάση συγχωνεύονται για να δώσουν μεγαλύτερα ταξινομημένα τμήματα. Η διαδικασία της συγχώνευσης συνεχίζεται μέχρι να ταξινομηθεί όλο το αρχείο. Ανάκτηση Πληροφορίας 2008-2009 19

Parallel Merge-Sort Υπάρχουν δύο τρόποι με τους οποίους μπορεί να γίνει η συγχώνευση: Με χρήση pipelining μεταξύ των επεξεργαστών διαφορετικών επιπέδων. Με χρήση ταυτόχρονης συγχώνευσης στους επεξεργαστές του ίδιου επιπέδου. Parallel Merge Sort 4 16 12 8 7 3 15 11 10 6 2 14 13 9 5 1 1 2 3 4 16 4 12 8 7 3 15 11 10 6 14 2 13 9 5 1 1 2 3 4 16 12 8 4 15 11 7 3 14 10 6 2 13 9 5 1 16 15 12 11 8 7 4 3 5 6 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 14 13 10 9 6 5 2 1 Ανάκτηση Πληροφορίας 2008-2009 20

Partitioned Based Sorting Σε κάθε επεξεργαστή αντιστοιχεί ένα εύρος τιμών το οποίο καλείται να ταξινομήσει. Η εύρεση του εύρους για κάθε επεξεργαστή καθορίζει και την απόδοση του αλγορίθμου. Η μέθοδος προσπαθεί για ομοιόμορφη κατανομή σε όλους τους επεξεργαστές, ώστε να μην υπάρχει bottleneck. splitting vector 1 2 3 4 5 6 7 8 9 3, 6, 9 2 1 3 5 6 4 9 8 7 Partitioned-Based Sorting N επεξεργαστές P1 PN, και κάθε ένας έχει ένα σύνολο δεδομένων Di. Κάθε Pi πραγματοποιεί τυχαία δειγματοληψία στο Di και αποστέλλει το δείγμα στον συντονιστή (coordinating processor). Ο συντονιστής με βάση τα δείγματα καθορίζει ένα splitting vector το οποίο καθορίζει το εύρος τιμών για κάθε επεξεργαστή. Το splitting vector αποστέλλεται στους επεξεργαστές και ο κάθε ένας διανέμει τα δεδομένα στους αντίστοιχους επεξεργαστές. Κάθε επεξεργαστής ταξινομεί τα δεδομένα του και εγγράφει τα αποτελέσματα στον τοπικό δίσκο. Η δειγματοληψία κοστίζει. Μεγάλο δείγμα καλή προσέγγιση των δεδομένων αλλά μεγάλο κόστος υπολογισμού και μετάδοσης. Μικρό δείγμα μικρό κόστος υπολογισμού και μετάδοσης αλλά κίνδυνος για κακή εκτίμηση. Ανάκτηση Πληροφορίας 2008-2009 21

Ανάκτηση Πληροφοριών και Παράλληλη Επεξεργασία Ανάκτηση Πληροφοριών και Παράλληλη Eπεξεργασία Προσεγγίσεις (Α) Σχεδιασμός νέων τεχνικών ΑΠ που να είναι κατάλληλες για παράλληλη επεξεργασία (Β) Προσαρμογή υπαρχόντων τεχνικών για παράλληλη επεξεργασία θα εστιάσουμε σε αυτή την προσέγγιση και θα δούμε πως γνωστές τεχνικές μπορούν να εφαρμοστούν σε αρχιτεκτονικές MIMD CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 44 Ανάκτηση Πληροφορίας 2008-2009 22

MIMD Architectures MIMD (multiple instruction, multiple data) N processors, N instruction streams, N data streams Ένα ΣΑΠ μπορεί να εκμεταλευτεί μια MIMD μηχανή με δυο τρόπους: Parallel multitasking; Κάθε επεξεργαστής εκτελεί ένα ξεχωριστό έργο (task) ανεξάρτητα από τους άλλους επεξεργαστές. Partitioned parallel processing. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 45 MIMD Architectures: Parallel Multitasking Parallel multitasking on a MIMD machine User Query Result Broker User Query Result Search Engine Search Engine Search Engine Search Engine Search Engine 5 processors, 5 IRSs όσο περισσότεροι επεξεργαστές υπάρχουν, τόσο περισσότερες είναι οι επερωτήσεις που μπορούν να απαντηθούν στον ίδιο χρόνο (throughput) οχρόνοςαποτίμησηςμιαςεπερώτησηςπαραμένειοίδιος(response time) η πρόσβαση στο δίσκο μπορεί να προκαλέσει συμφόρηση αντιμετώπιση: επανάληψη δεδομένων (replication) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 46 Ανάκτηση Πληροφορίας 2008-2009 23

MIMD Architectures: Partitioned Parallel Processing Partitioned parallel processing on a MIMD machine User Query Result Broker Subquery/ Partial Results Search Process Search Process Search Process Search Process Η αποτίμηση έχει διαμεριστεί σε 5 διαδικασίες. Κάθε μία εκτελείται σε έναν επεξεργαστή Search Process εδώ ο χρόνος αποτίμησης μιας επερώτησης είναι μικρότερος οι υπολογισμοί για την αποτίμηση μιας επερώτησης κατανέμονται σε πολλούς επεξεργαστές κάθε επεξεργαστής υπολογίζει ένα τμήμα της επερώτησης και στέλνει τα αποτελέσματα στον Broker. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 47 MIMD Architectures: Partitioned Parallel Processing Partitioned parallel processing on a MIMD machine User Query Result Broker Subquery/ Partial Results Search Process Search Process Search Process Search Process Search Process Πώς να διαμερίσουμε την αποτίμηση μιας επερώτησης ; => Πώς να διαμερίσουμε τα δεδομένα ενός ΣΑΠ; CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 48 Ανάκτηση Πληροφορίας 2008-2009 24

MIMD Architectures: Partitioned Parallel Processing ΠώςναδιαμερίσουμεταδεδομένασεP επεξεργαστές; Τα βασικά δεδομένα που επεξεργάζεται ένα αλγόριθμος ανάκτησης Indexing Items D o c u m e n t s k 1 k 2... k i... k t d 1 w 1,1 w 2,1... w i,1... w t,1 d 2 w 1,2 w 2,2... w i,2... w t,2..................... d j w 1,j w 2,j... w i,j... w t,j..................... d N w 1,N w 2,N... w i,n... w t,n CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 49 MIMD Architectures: Partitioned Parallel Processing ΠώςναδιαμερίσουμεταδεδομένασεP επεξεργαστές; Document Partitioning Indexing Items D o c u m e n t s k 1 k 2... k i... k t d 1 w 1,1 w 2,1... w i,1... w t,1 d 2 w 1,2 w 2,2... w i,2... w t,2..................... d j w 1,j w 2,j... w i,j... w t,j..................... d N w 1,N w 2,N... w i,n... w t,n the N documents are distributed across the P processors each parallel process evaluates the query on the subcollection of N/P documents assigned to it CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 50 Ανάκτηση Πληροφορίας 2008-2009 25

MIMD Architectures: Partitioned Parallel Processing ΠώςναδιαμερίσουμεταδεδομένασεP επεξεργαστές; Term Partitioning Indexing Items D o c u m e n t s k 1 k 2... k i... k t d 1 w 1,1 w 2,1... w i,1... w t,1 d 2 w 1,2 w 2,2... w i,2... w t,2..................... d j w 1,j w 2,j... w i,j... w t,j..................... d N w 1,N w 2,N... w i,n... w t,n the t indexing items are distributed across the P processors the evaluation process for each document is spread over multiple processors CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 51 MIMD Architectures: Partitioned Parallel Processing Document and Term Partitioning for Inverted Files Document Partitioning Physical Document Partitioning Logical Document Partitioning Term Partitioning CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 52 Ανάκτηση Πληροφορίας 2008-2009 26

Παράδειγμα Συλλογής Κειμένων και του Ανεστραμμένου Ευρετηρίου Document Corpus Doc Text 1 Pease porridge hot 2 Pease porridge cold 3 Pease porridge in the pot 4 Pease porridge hot, pease porridge not cold 5 Pease porridge cold, pease porridge not hot 6 Pease porridge hot in the pot Dictionary cold hot in not Inverted File pease <1,1> <2,1> <3,1> <4,2> <5,2> <6,1> porridge pot <2,1> <4,1> <1,1> <4,1> <5,1> <6,1> <3,1> <6,1> <4,1> <5,1> <1,1> <2,1> <3,1> <4,2> <5,2> <3,1> <6,1> Inverted Lists the <3,1> <6,1> CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 53 <5,1> <6,1> MIMD Inverted Files: Physical Document Partitioning Doc Text 1 Pease porridge hot 2 Pease porridge cold 3 Pease porridge in the pot 4 Pease porridge hot, pease porridge not cold 5 Pease porridge cold, pease porridge not hot 6 Pease porridge hot in the pot cold <2,1> hot pease porridge <1,1> <1,1> <2,1> <1,1> <2,1> P1 cold hot in not pease porridge pot the <4,1> <4,1> <3,1> <4,1> CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 54 P1 P2 P3 <3,1> <4,2> <3,1> <4,2> <3,1> <3,1> Η συλλογή εγγράφων κατανέμεται στους επεξεργαστές Κάθε υποσυλλογή έχει το δικό της ανεστραμμένο αρχείο P2 cold <5,1> hot in not pease porridge pot the <5,1> <6,1> <6,1> <5,1> <5,2> <5,2> <6,1> <6,1> P3 <6,1> <6,1> Ανάκτηση Πληροφορίας 2008-2009 27

cold hot in not pease porridge pot the MIMD Inverted Files: Physical Document Partitioning Original Inverted File <4,1> <4,1> <3,1> <4,1> <3,1> <4,2> <3,1> <4,2> <3,1> <3,1> P2 cold <2,1> <4,1> <5,1> hot <1,1> <4,1> <5,1> <6,1> in <3,1> <6,1> not <4,1> <5,1> pease <1,1> <2,1> <3,1> <4,2> <5,2> <6,1> porridge <1,1> <2,1> <3,1> <4,2> <5,2> <6,1> pot <3,1> <6,1> the <3,1> <6,1> cold <5,1> P3 P1 hot <5,1> <6,1> in <6,1> not <5,1> cold <2,1> pease <5,2> <6,1> hot <1,1> porridge <5,2> <6,1> pease <1,1> <2,1> pot <6,1> porridge <1,1> <2,1> the <6,1> CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 55 MIMD Inverted Files: Physical Document Partitioning Κατασκευή Ανεστραμμένων Ευρετηρίων Κάθε επεξεργαστής κατασκευάζει (εν παραλλήλω), ένα πλήρες ευρετήριο γιαταέγγραφατου. Κάνουμε ένα βήμα συγχώνευσης προκειμένου να υπολογίσουμε τα καθολικά στατιστικά (global statistics), δηλαδή IDF, και κατόπιν τα στέλνουμε στα ευρετήρια των επεξεργαστών. Αποτίμηση Επερωτήσεων Ο μεσίτης(broker) ξεκινά P παράλληλες επεξεργασίες Κάθε επεξεργασία εκτελεί τον ίδιο αλγόριθμο (scoring) στα έγγραφα που έχουν εκχωρηθεί στον επεξεργαστή Ο μεσίτης παράγει την τελική διάταξη των εγγράφων CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 56 Ανάκτηση Πληροφορίας 2008-2009 28

Φυσικός Διαμοιρασμός P1 P2 P3 P4 Index 1 Index 2 Index 3 Index 4 D1,D2,D3 D4,D7,D9 D5,D6,D8 D10,D11,D12 MIMD Architectures: Partitioned Parallel Processing Document and Term Partitioning for Inverted Files Document Partitioning Physical Document Partitioning Logical Document Partitioning Term Partitioning CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 58 Ανάκτηση Πληροφορίας 2008-2009 29

MIMD Inverted Files: Logical Document Partitioning Η συλλογή εγγράφων κατανέμεται στους επεξεργαστές, αλλά κάθε υποσυλλογή δεν έχει το δικό της ευρετήριο, αλλά η κεντρική δομή του ευρετηρίου επιτρέπει στον κάθε επεξεργαστή την άμεση πρόσβαση στο κομμάτι του ευρετηρίου που τον ενδιαφέρει Κάθε θέση στο λεξικό περιέχει P pointers (P: αριθμός επεξεργαστών). Ο j οστός pointer δεικτοδοτεί τα έγγραφα που βρίσκονται στις λίστες εμφάνισης και πρέπει να επεξεργαστούν από τον επεξεργαστή Pj. Dictionary of terms Inverted List Term i Document in P1 Broker item i P1 P2 P3 P4 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 59 Logical Document Partitioning Original Inverted File Dictionary cold hot in not pease porridge pot <2,1> <4,1> <1,1> <4,1> <5,1> <6,1> <3,1> <6,1> <4,1> <5,1> <1,1> <2,1> <3,1> <4,2> <5,2> <1,1> <2,1> <3,1> <4,2> <5,2> <3,1> <6,1> <3,1> <6,1> <5,1> <6,1> <6,1> the cold Inverted List Term pease hot <1,1> in <2,1> not P1 <3,1> pease P2 <4,2> porridge P3 <5,2> pot <6,1> the CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 60 Extended Dictionary Ανάκτηση Πληροφορίας 2008-2009 30

MIMD Inverted Files: Logical Document Partitioning Κατασκευή Ανεστραμμένου Ευρετηρίου Τα έγγραφα διαμερίζονται στους επεξεργαστές; Κάθε επεξεργαστής ευρετηριάζει τα δικά του και δημιουργεί ανεστραμμένες λίστες ( lala, doc1(2), doc2(6)), ταξινομημένες αλφαβητικά Συγχωνεύουμε τις λίστες αυτές για έτσι προκύπτει το τελικό ευρετήριο θυμηθείτε από προηγούμενη διάλεξη: Merging partial indices to obtain the final Αποτίμηση Επερωτήσεων (όπως και το Physical Doc. Partitioning) Ομεσίτης(broker) ξεκινά P parallel επεξεργασίες Κάθε επεξεργασία εκτελεί τον ίδιο αλγόριθμο (scoring) στα έγγραφα που έχουν εκχωρηθεί στον επεξεργαστή Τα αποτελέσματα γράφονται σε έναν κοινό πίνακα (shared array) Ο μεσίτης παράγει την τελική διάταξη των εγγράφων CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 61 Διαφορές μεταξύ Physical kai Logical document partitioning cold hot pease porridge Physical P1 cold hot in <2,1> not <1,1> <1,1> <2,1> pease porridge pot <1,1> <2,1> the P2 <4,1> <4,1> <3,1> <4,1> <3,1> <4,2> <3,1> <4,2> <3,1> <3,1> cold hot in not pease porridge pot the P3 <5,1> <5,1> <6,1> <6,1> <5,1> <5,2> <6,1> <5,2> <6,1> <6,1> <6,1> Dictionary of terms item i Logical P1 P2 P3 P4 Inverted List Term i Logical Document Partitioning Κάθε λέξη του λεξιλογίου είναι αποθηκευμένη μόνο 1 φορά οι διαδικασίες προσπελαύνουν το ίδιο κεντρικό ευρετήριο προσβάσεις ανάγνωσης, άρα δεν έχουμε συμφόρηση λιγότερη επικοινωνία (στο Physical, υπάρχει η φάση υπολογισμού των καθολικών στατιστικών (IDF)). CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 62 Ανάκτηση Πληροφορίας 2008-2009 31

MIMD Architectures: Partitioned Parallel Processing Document and Term Partitioning for Inverted Files Document Partitioning Physical Document Partitioning Logical Document Partitioning Term Partitioning CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 63 MIMD Inverted Files:Term Partitioning P1 cold hot in Term not <4,1> <5,1> Partitioning P2 pease <1,1> <2,1> <3,1> <4,2> <5,2> <6,1> P3 porridge pot the <2,1> <4,1> <1,1> <4,1> <5,1> <6,1> <3,1> <6,1> <1,1> <2,1> <3,1> <4,2> <5,2> <3,1> <6,1> <3,1> <6,1> <5,1> <6,1> CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 64 Ανάκτηση Πληροφορίας 2008-2009 32

Διαμοιρασμός Όρων Λέξεις stargate damage paradise lost collection Λίστες Εμφάνισης 1, 5, 10 2, 6, 8, 20 3,7,9,11 3,7,9,11,15 13,14,16 P1 P2 P3 P4 MIMD Inverted Files:Term Partitioning Κατασκευή Ανεστραμμένου Ευρετηρίου (όπως στο Log. D. Par.) Τα έγγραφα διαμερίζονται στους επεξεργαστές; Κάθε επεξεργαστής ευρετηριάζει τα δικά του και δημιουργεί ανεστραμμένες λίστες ( lala, doc1(2), doc2(6)), ταξινομημένες αλφαβητικά Συγχωνεύουμε τις λίστες αυτές για έτσι προκύπτει το τελικό ευρετήριο Κατόπιν το ευρετήριο διαμερίζεται στους επεξεργαστές Αποτίμηση Επερωτήσεων H επερώτηση αναλύεται στους όρους της, και κάθε ένας στέλνεται στον επεξεργαστή που έχει την αντίστοιχη ανεστραμμένη λίστα Οι επεξεργαστές υπολογίζουν μερικά σκορ (partial document scores) και τα στέλνουν στον μεσίτη Ο μεσίτης υπολογίζει τα τελικά σκορ συνδυάζοντας τα μερικά, και παράγει την τελική απάντηση CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 66 Ανάκτηση Πληροφορίας 2008-2009 33

MIMD: Document and Term Partitioning for Inverted Files: Σύνοψη Οργάνωση ευρετηρίου σε μία MIMD μηχανή: Document partitioning (physical or logical); Term partitioning. Document partitioning simpler inverted index construction and maintenance than term partitioning; performs better when term distributions in the documents and queries are more skewed Term Partitioning performs better when terms are uniformily distributed in user queries. Επίσης όταν οι επερωτήσεις περιέχουν λίγους όρους CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 67 MIMD: Partitioned Parallel Processing Document Partitioning for Signature Files Ανάκτηση Πληροφορίας 2008-2009 34

Signature Files: Επανάληψη b=3 ( 3 words per block) B=6 (bit masks of 6 bits) Text Block 1 Block 2 Block 3 Block 4 This is a text. A text has many words. Words are made from letters. Text Signature 000101 110101 100100 101101 Signature Function h(text)= 000101 h(many)= 110000 h(words)=100100 h(made)= 001100 h(letters)=100001 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 69 MIMD: Partitioned Parallel Processing Document Partitioning for Signature Files Doc Text 1 Pease porridge hot 2 Pease porridge cold 3 Pease porridge in the pot 4 Pease porridge hot, pease porridge not cold 5 Pease porridge cold, pease porridge not hot 6 Pease porridge hot in the pot P1 Sign. File 1 Sign. File 2 P2 Sign. File 3 Sign. File 4 P3 Sign. File 5 Sign. File 6 Each processor creates the signatures of its own documents Each processor evaluates the query signature totally. The broker then merges the results CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 70 Ανάκτηση Πληροφορίας 2008-2009 35