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

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

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Δομές Δεδομένων Ενότητα 1

Διδακτική της Πληροφορικής

Βάσεις Περιβαλλοντικών Δεδομένων

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

Διοικητική Λογιστική

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στους Αλγορίθμους

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Διαχείριση Πολιτισμικών Δεδομένων

Πληροφορική ΙΙ Ενότητα 1

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Δεδομένων Ενότητα 1

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στην Πληροφορική

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Διοικητική Λογιστική

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Μάρκετινγκ Αγροτικών Προϊόντων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τεχνικό Σχέδιο - CAD

Βάσεις Δεδομένων ΙΙ Ενότητα 5

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Βάσεις Περιβαλλοντικών Δεδομένων

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

Διδακτική Πληροφορικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Βέλτιστος Έλεγχος Συστημάτων

Εισαγωγή στην Πληροφορική

Εξελικτική Ψυχολογία: Κοινωνικο-γνωστική ανάπτυξη

Διδακτική Πληροφορικής

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Βάσεις Περιβαλλοντικών Δεδομένων

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

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Ψηφιακή Επεξεργασία Εικόνων

Βάσεις Περιβαλλοντικών Δεδομένων

Διδακτική Πληροφορικής

Ιστορία της μετάφρασης

Τεχνολογία Πολιτισμικού Λογισμικού

Διοίκηση Επιχειρήσεων

Στατιστική. 6 ο Μάθημα: Διαστήματα Εμπιστοσύνης και Έλεγχοι Υποθέσεων. Γεώργιος Μενεξές Τμήμα Γεωπονίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στη Δικτύωση Υπολογιστών

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Μηχανολογικό Σχέδιο Ι

Ψηφιακή Επεξεργασία Εικόνων

Διδακτική Πληροφορικής

Κβαντική Επεξεργασία Πληροφορίας

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Πληροφορική

Διαχείριση Πολιτισμικών Δεδομένων

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στην Πληροφορική

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Μάρκετινγκ Αγροτικών Προϊόντων

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγή στην Πληροφορική

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 10: Παράλληλη Ανάκτηση Απόστολος Παπαδόπουλος

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Παράλληλη Ανάκτηση Πληροφορίας

Περιεχόμενα ενότητας 1. Παράλληλη 5

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Παράλληλη Ανάκτηση Πληροφορίας

Εισαγωγή Ο όγκος των δεδομένων αυξάνεται με πολύ γρήγορους ρυθμούς. Η απόδοση ενός συστήματος IR εξαρτάται άμεσα από τον αριθμό των εγγράφων που αυτό διαχειρίζεται και από το πλήθος και την πολυπλοκότητα των ερωτημάτων (queries). Η απόδοση ενός συστήματος IR βελτιώνεται με τη χρήση παράλληλων ή κατανεμημένων αρχιτεκτονικών. 7

Παράλληλα Συστήματα-1 Παράλληλη Επεξεργασία: η ταυτόχρονη λειτουργία πολλών πόρων (επεξεργαστών ή μονάδων I/O) για την επίλυση ενός προβλήματος. Η χρήση πολλών πόρων μπορεί να βελτιώσει σημαντικά το χρόνο επεξεργασίας ενός ερωτήματος, διότι η κάθε μονάδα συνεισφέρει στην επίλυση ενός μέρους του αρχικού προβλήματος. 8

Παράλληλα Συστήματα-2 Παραλληλισμός μπορεί να εφαρμοστεί σε όλους τους πόρους ενός συστήματος. Συνήθως αναφερόμαστε σε : παραλληλισμό επεξεργαστών (processor ή CPU parallelism), παραλληλισμό συστήματος εισόδου-εξόδου (I/O parallelism). 9

Παραλληλισμός Επεξεργαστών Ταξινόμηση αρχιτεκτονικών κατά Flynn: SISD: single instruction stream, single data stream. SIMD: single instruction stream, multiple data stream. MISD: multiple instruction stream, single data stream. MIMD: multiple instruction stream, multiple data stream. 10

SISD Αποτελεί την κλασική μηχανή von Neumann, όπου έχουμε μόνο έναν επεξεργαστή ο οποίος εκτελεί μία ακολουθία εντολών σε ένα stream δεδομένων. Στην αρχιτεκτονική SISD στηρίζεται η λειτουργία των προσωπικών υπολογιστών (PC). 11

SISD Παράδειγμα P Λειτουργία Data Stream 12

SIMD Αποτελείται από Ν επεξεργαστές οι οποίοι επεξεργάζονται N διαφορετικά δεδομένα εφαρμόζοντας την ίδια λειτουργία. Οι επεξεργαστές είναι συγχρονισμένοι ώστε να εκτελούν την ίδια λειτουργία στα δεδομένα. Παράδειγμα SIMD συστήματος: Thinking Machines CM-2. Κάθε επεξεργαστής μπορεί να έχει τη δική του μνήμη ή όλοι επεξεργαστές μπορούν να μοιράζονται την ίδια μνήμη. 13

SIMD Παράδειγμα P1 Λειτουργία 1 Data Stream 1 P2 Λειτουργία 1 Data Stream 2 P3 Λειτουργία 1 Data Stream 3 14

MISD Ν επεξεργαστές οι οποίοι μπορούν να εκτελούν διαφορετικές λειτουργίες στα ίδια δεδομένα. Όλοι οι επεξεργαστές μοιράζονται την ίδια μνήμη. Τα συστήματα MISD δεν είναι ευρέως διαδεδομένα. Παράδειγμα: Systolic Arrays 15

MISD Παράδειγμα P1 Λειτουργία 1 P2 Λειτουργία 2 Data Stream P3 Λειτουργία 3 16

MIMD-1 Είναι η πιο γενική και πιο διαδεδομένη παράλληλη αρχιτεκτονική συστημάτων. Έχουμε N επεξεργαστές και Ν δεδομένα, και κάθε επεξεργαστής μπορεί να εκτελεί διαφορετική λειτουργία. Κάθε επεξεργαστής μπορεί να έχει τη δική του μνήμη ή όλοι να μοιράζονται την ίδια. Παραδείγματα: Sun HPC Server, IBM SP2 17

MIMD-2 Ανάλογα με το βαθμό επικοινωνίας των επεξεργαστών μεταξύ τους διακρίνουμε: Tightly-coupled συστήματα. Loosely-coupled συστήματα. 18

MIMD Παράδειγμα P1 Λειτουργία 1 Data Stream 1 P2 Λειτουργία 2 Data Stream 2 P3 Λειτουργία 3 Data Stream 3 19

Παραλληλισμός Ι/Ο-1 Κατά τη διάρκεια επεξεργασίας ενός ερωτήματος πολύς χρόνος δαπανάται για λειτουργίες Ι/Ο. Θέλουμε οι λειτουργίες αυτές να εκτελούνται γρηγορότερα. Λύσεις: Γρηγορότερο hardware Περισσότερη RAM Χρησιμοποίηση πολλών μονάδων Ι/Ο 20

Παραλληλισμός Ι/Ο-2 File 1, File 2, File 3 File 1 File 2 File 3 21

Παραλληλισμός Ι/Ο-3 Ο τρόπος με τον οποίο διαμοιράζονται τα δεδομένα στους δίσκους παίζει σημαντικό ρόλο στην επίδοση του συστήματος. Ο διαμοιρασμός (declustering) μπορεί να πραγματοποιηθεί: από το υλικό (π.χ. I/O controller) από το λογισμικό (π.χ. λειτουργικό σύστημα, database). 22

Παραλληλισμός Ι/Ο-4 Ο παραλληλισμός στοχεύει: Κατανομή του φόρτου πολλών μικρών αιτήσεων Ι/Ο με στόχο την αύξηση του throughput. Παραλληλισμός μεγάλων αιτήσεων I/O με στόχο τη μείωση του χρόνου απόκρισης (response time). Χρήση RAID (Redundant Arrays of Inexpensive Disks) 23

RAID Level 0 Κάθε δίσκος αποθηκεύει τα δικά του δεδομένα. Δεν υπάρχει επανάληψη. Σε περίπτωση που έχουμε failure σε έναν δίσκο τα περιεχόμενα καταστρέφονται. 24

RAID Level 1 Mirroring Κάθε δίσκος έχει και έναν αντίστοιχο ο οποίος περιέχει αντίγραφο των δεδομένων. C C C C 25

RAID Level 2 Memory-style error correcting codes Για κάθε byte δεδομένων αποθηκεύεται και ένα parity bit, ώστε να μπορεί να γίνει ανακατασκευή δεδομένων σε περίπτωση που έχουμε failure. P P P 26

RAID Level 3 Bit-interleaved parity Σε αντίθεση με το level 2 χρησιμοποιεί έναν δίσκο για parity. Μειονέκτημα: σε κάθε I/O συμμετέχουν όλοι οι δίσκοι. P 27

RAID Level 4 Block-interleaved parity. Σε κάθε δίσκο αποθηκεύεται block δεδομένων και χρησιμοποιείται το parity για κάθε block. P 28

RAID Level 5 Block-interleaved distributed parity. Τα parity δεδομένα αποθηκεύονται σε όλους τους δίσκους, μαζί με τα δεδομένα. P P P P P 29

Διαμοιρασμός Δεδομένων-1 Declustering, Partitioning. Μέθοδοι διαμοιρασμού των δεδομένων στους διαθέσιμους δίσκους. Ο τρόπος διαμοιρασμού των δεδομένων έχει άμεση σχέση με την επίδοση ενός ερωτήματος. Στόχοι: Να ενεργοποιούνται όσο το δυνατό λιγότεροι δίσκοι. Οι δίσκοι που ενεργοποιούνται να εκτελούν ισοδύναμες εργασίες, ώστε ο χρόνος επεξεργασίας κάθε δίσκου να είναι περίπου ο ίδιος. 30

Διαμοιρασμός Δεδομένων-2 Υπάρχουν τρεις διαφορετικές τεχνικές διαμοιρασμού των δεδομένων ενός πίνακα σε ένα σύνολο δίσκων: Round-Robin Hash Partitioning Range Partitioning 31

Διαμοιρασμός Δεδομένων-3 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 32

Round-Robin-1 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 33

Round-Robin-2 Χρησιμοποιούμε τη συνάρτηση κατακερματισμού Χρονιά 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 34

Round-Robin-3 Ο πίνακας χωρίζεται σε περιοχές (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 35

Σύγκριση-4 Ερωτήματα: SELECT * FROM movies (relation scanning) SELECT * FROM movies WHERE title= Armageddon (point query) SELECT * FROM movies WHERE year BETWEEN (1970,2000) (range query) Να συζητηθεί η απόδοση των μεθόδων διαμοιρασμού για τα ερωτήματα. 36

Διαμοιρασμός Δομών Σε συστήματα πολλών δίσκων υπάρχει η ανάγκη να διαμοιράσουμε τις δομές δεδομένων (π.χ. Β-δένδρα). Η έρευνα στο χώρο επικεντρώνεται σε αποδοτικές τεχνικές διαμοιρασμού των σελίδων (blocks) της δομής με στόχο τη γρηγορότερη απάντηση των ερωτημάτων. 37

Διαμοιρασμός B-δένδρου-1 Τεχνικές που χρησιμοποιούνται Διαμοιρασμός των εγγραφών. Υπερ-σελίδες. Διαμοιρασμός σελίδων. Multi-Disk B-trees. 38

Διαμοιρασμός Εγγραφών-1 Εφαρμόζεται ένας κανόνας διαμοιρασμού των εγγραφών στους δίσκους (round-robin, hashing, range partitioning). Για κάθε δίσκο υπάρχει ένα ξεχωριστό Β- δένδρο το οποίο δεικτοδοτεί τις αντίστοιχες εγγραφές. Να συζητηθούν τα πλεονεκτήματα και μειονεκτήματα αυτής της προσέγγισης. 39

Διαμοιρασμός Εγγραφών-2 Β-δένδρο 1 Β-δένδρο 2 Β-δένδρο 3 R1, R2, R3 R4, R5, R6 R7, R8, R9 Disk 1 Disk 2 Disk 3 40

Υπερ-σελίδες-1 Κάθε κόμβος του δένδρου θεωρείται ότι αποτελείται από Ν τμήματα, όπου Ν ο αριθμός των δίσκων. Κάθε τμήμα αποθηκεύεται σε ξεχωριστό δίσκο. 41

Υπερ-σελίδες-2 A1 A2 A3 A4 1 2 3 4 B1 B2 B3 B4 C1 C2 C3 C4 1 2 3 4 1 2 3 4 42

Multi-Disk B-trees-1 Οι κόμβοι του δένδρου κατανέμονται στους δίσκους έτσι ώστε, δύο σελίδες που έχουν μεγάλη πιθανότητα να ζητηθούν μαζί σε ένα ερώτημα αποθηκεύονται σε διαφορετικούς δίσκους. Ν αριθμός δίσκων. Όταν δημιουργείται μία νέα σελίδα P, αποθηκεύεται στο δίσκο ο οποίος δεν περιέχει τις Ν-1 ή Ν-2 γειτονικές σελίδες με την P. 43

Multi-Disk B-trees-2 1 20 40 2 3 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 44

Παράλληλες Βάσεις Δεδομένων 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 45

Μέτρα Επίδοσης Με ποιον τρόπο μπορούμε να αξιολογήσουμε την επίδοση ενός παράλληλου συστήματος ή ενός παράλληλου αλγορίθμου; Speedup Sizeup Scaleup 46

Speedup, Scaleup, Sizeup Speedup = χρόνος σειριακού αλγορίθμου προς το χρόνο παράλληλου αλγορίθμου (θέλουμε γραμμικότητα). Scaleup = χρόνος επίλυσης μικρού προβλήματος σε μικρό σύστημα προς το χρόνο επίλυσης μεγάλου προβλήματος σε μεγάλο σύστημα (θέλουμε σταθερότητα). Sizeup = χρόνος επίλυσης μικρού προβλήματος σε μεγάλο σύστημα προς το χρόνο επίλυσης μεγάλου προβλήματος σε μεγάλο σύστημα (θέλουμε γραμμικότητα). 47

Παράλληλοι Αλγόριθμοι-1 Βασικοί στόχοι ενός παράλληλου αλγορίθμου είναι: η διάσπαση του αρχικού προβλήματος σε υποπροβλήματα. η αντιστοίχιση υποπροβλημάτων σε επεξεργαστές. Ο τρόπος με τον οποίο πραγματοποιούνται τα παραπάνω είναι καθοριστικός για την επίδοση του αλγορίθμου. Σε πολλές περιπτώσεις φαίνεται εύκολο, όμως απαιτείται προσοχή στις παγίδες. 48

Παράλληλοι Αλγόριθμοι-2 Έχουμε 3 arrays με 10 στοιχεία το καθένα, και διαθέτουμε 3 επεξεργαστές. P1 0 1 2 3 4 5 6 7 8 9 P2 9 8 7 6 5 4 3 2 1 0 P3 1 2 3 4 5 6 7 8 0 9 49

Παράλληλοι Αλγόριθμοι-3 Σε πολλές περιπτώσεις απαιτείται να έχουμε μία εκτίμηση σχετικά με το χρόνο που απαιτείται για την επίλυση ενός υποπροβλήματος. Η αντιστοίχιση υποπροβλημάτων σε επεξεργαστές μπορεί να μη γίνεται στατικά αλλά δυναμικά, ανάλογα με τις ανάγκες που προκύπτουν κατά την πορεία απάντησης του ερωτήματος (static vs dynamic assignment). 50

Παράλληλη Ταξινόμηση Στη συνέχεια περιγράφουμε δύο παράλληλους αλγορίθμους οι οποίοι λύνουν το πρόβλημα της ταξινόμησης χρησιμοποιώντας Ν επεξεργαστές. Parallel Merge-Sort Partitioned-Based Parallel Sorting 51

Parallel Merge-Sort-1 Backend Sort: Το αρχείο προς ταξινόμηση διαμοιράζεται στους επεξεργαστές και μετά την επεξεργασία, το ταξινομημένο αρχείο επιστρέφει στον host. 52

Parallel Merge-Sort-2 Distributed Sort: αρχικά το αρχείο είναι ήδη διαμοιρασμένο στους επεξεργαστές. Στο τέλος της ταξινόμησης είτε εγγράφεται στο δίσκο είτε αποστέλλεται στον host. 53

Parallel Merge-Sort-3 Ο αλγόριθμος θεωρεί ότι οι επεξεργαστές σχηματίζουν μία δενδρική δομή. Κάθε επεξεργαστής που βρίσκεται σε «φύλλο» έχει ένα δίσκο και μπορεί να εκτελέσει ταξινόμηση ανεξάρτητα από τους άλλους. Διακρίνουμε δύο φάσεις: Φάση ταξινόμησης (sort phase). Φάση συγχώνευσης (merge phase). 54

Parallel Merge-Sort-4 Κατά τη φάση της ταξινόμησης κάθε επεξεργαστής στο επίπεδο των φύλλων ταξινομεί τα δεδομένα που του αντιστοιχούν. Κατά τη φάση της συγχώνευσης τα ταξινομημένα τμήματα που έχουν δημιουργηθεί από την προηγούμενη φάση συγχωνεύονται για να δώσουν μεγαλύτερα ταξινομημένα τμήματα. Η διαδικασία της συγχώνευσης συνεχίζεται μέχρι να ταξινομηθεί όλο το αρχείο. 55

Parallel Merge-Sort-5 Υπάρχουν δύο τρόποι με τους οποίους μπορεί να γίνει η συγχώνευση: Με χρήση pipelining μεταξύ των επεξεργαστών διαφορετικών επιπέδων. Με χρήση ταυτόχρονης συγχώνευσης στους επεξεργαστές του ίδιου επιπέδου. 56

Parallel Merge-Sort-6 4 16 12 8 1 7 10 3 6 1 2 5 14 1 1 3 2 13 9 5 1 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 57

Partitioned-Based Sorting Σε κάθε επεξεργαστή αντιστοιχεί ένα εύρος τιμών το οποίο καλείται να ταξινομήσει. Η εύρεση του εύρους για κάθε επεξεργαστή καθορίζει και την απόδοση του αλγορίθμου. Η μέθοδος προσπαθεί για ομοιόμορφη κατανομή σε όλους τους επεξεργαστές, ώστε να μην υπάρχει bottleneck. 58

Splitting Vector splitting vector 1 2 3 4 5 6 7 8 9 3, 6, 9 2 1 3 5 6 4 9 8 7 59

Partitioned-Based Sorting-1 N επεξεργαστές P1 PN, και κάθε ένας έχει ένα σύνολο δεδομένων Di. Κάθε Pi πραγματοποιεί τυχαία δειγματοληψία στο Di και αποστέλλει το δείγμα στον συντονιστή (coordinating processor). Ο συντονιστής με βάση τα δείγματα καθορίζει ένα splitting vector το οποίο καθορίζει το εύρος τιμών για κάθε επεξεργαστή. Το splitting vector αποστέλλεται στους επεξεργαστές και ο κάθε ένας διανέμει τα δεδομένα στους αντίστοιχους επεξεργαστές. Κάθε επεξεργαστής ταξινομεί τα δεδομένα του και εγγράφει τα αποτελέσματα στον τοπικό δίσκο. 60

Partitioned-Based Sorting-2 Προσοχή: Η δειγματοληψία κοστίζει. Μεγάλο δείγμα σημαίνει καλή προσέγγιση των δεδομένων αλλά μεγάλο κόστος υπολογισμού και μετάδοσης. Μικρό δείγμα σημαίνει μικρό κόστος υπολογισμού και μετάδοσης αλλά υπάρχει ο κίνδυνος για κακή εκτίμηση. 61

Παράλληλη IR-1 Ο σχεδιασμός παράλληλων αλγορίθμων για IR μπορεί να γίνει με δύο βασικούς τρόπους Δημιουργία νέων τεχνικών ανάκτησης οι οποίες οδηγούν σε παραλληλισμό. Προσαρμογή των τεχνικών που ήδη υπάρχουν ώστε να λειτουργήσουν σε ένα παράλληλο περιβάλλον. 62

Neural Net Model-1 Query Terms Document Terms Documents k 1 d 1 k a k b k a k b k c d j d j+1 k c k t d N 63

Neural Net Model-2 Κάθε κόμβος του δικτύου αντιστοιχεί σε έναν επεξεργαστή του συστήματος. Ένα νευρωνικό δίκτυο μπορεί να υλοποιηθεί εύκολα σε παράλληλο σύστημα αρχιτεκτονικής SIMD. Η χρήση του μοντέλου αυτού για IR μας οδηγεί «από μόνο του» στη χρήση παραλληλισμού. Δεν απαιτούνται μετατροπές για να χρησιμοποιηθεί σε ένα παράλληλο IR σύστημα. 64

Προσαρμογή Μεθόδων-1 Έχουμε σαν αφετηρία μία μέθοδο που γνωρίζουμε ότι λειτουργεί σε σειριακό σύστημα (έναν επεξεργαστή). Εφαρμόζονται μετατροπές στη μεθοδολογία ώστε να μπορεί να λειτουργήσει σε παράλληλο σύστημα. (Δεν είναι πάντα εύκολο). Πρέπει να γνωρίζουμε την παράλληλη αρχιτεκτονική του παράλληλου συστήματος (SIMD, MIMD, κλπ) διότι έχει άμεση σχέση με τον τρόπο λειτουργίας της μεθόδου. 65

Προσαρμογή Μεθόδων-2 Έχουν προταθεί αρκετές μέθοδοι οι οποίες λειτουργούν σε παράλληλα συστήματα. Μερικές μόνο έχουν παραμείνει και θεωρούνται standards. Εστιάζουμε σε αρχιτεκτονικές SIMD και MIMD οι οποίες είναι και οι πιο επικρατέστερες στο χώρο. 66

Παράλληλη IR-2 Αρχιτεκτονική MIMD Inverted Files Suffix Arrays Signature Files Αρχιτεκτονική SIMD Inverted Files Signature Files 67

MIMD-1 Ο πιο απλός τρόπος να εκμεταλλευτούμε ένα MIMD σύστημα είναι με τη χρήση multitasking, δηλαδή Κάθε επεξεργαστής εκτελεί ένα ξεχωριστό έργο (task) ανεξάρτητα από τους άλλους επεξεργαστές. Θεωρούμε ότι κάθε task είναι μία μηχανή αναζήτησης. Οι διαφορετικές μηχανές αναζήτησης δε συνεργάζονται μεταξύ τους για τη σύνθεση της απάντησης στο ερώτημα του χρήστη. 68

MIMD-2 Η υποβολή των ερωτήσεων προς το σύστημα πραγματοποιείται με τη βοήθεια ενός μεσολαβητή (broker). Ο broker αναλαμβάνει να καταγράψει το ερώτημα του χρήστη και να το τροφοδοτήσει προς τις μηχανές αναζήτησης για επεξεργασία. Όσο αυξάνεται ο αριθμός των επεξεργαστών τόσο αυξάνεται και η δυνατότητα του συστήματος να «τρέχει» περισσότερες μηχανές αναζήτησης. 69

MIMD-3 Broker Ερώτηση Απάντηση Μηχανή Αναζήτησης Μηχανή Αναζήτησης Μηχανή Αναζήτησης Μηχανή Αναζήτησης 70

MIMD-4 Αν και η μέθοδος είναι αρκετά απλή, απαιτείται προσοχή. Όσο αυξάνεται ο αριθμός των επεξεργαστών, αντίστοιχα πρέπει να αυξάνεται και ο αριθμός των δίσκων. Οι μηχανές αναζήτησης έχουν απαιτήσεις για I/O. Εάν δημιουργούνται συχνές «συγκρούσεις» μεταξύ αιτήσεων από διαφορετικές μηχανές αναζήτησης, τότε το σύστημα I/O μπορεί να γίνει bottleneck. 71

MIMD-5 Σε συνδυασμό με την αύξηση του αριθμού των δίσκων, ο διαχειριστής του συστήματος πρέπει να διαμοιράσει με «έξυπνο» τρόπο τα δεδομένα και τις δομές αναζήτησης στους δίσκους. Ένας τρόπος είναι να αποθηκεύσουμε τη δομή αναζήτησης σε κάθε δίσκο. Εναλλακτικά μπορούμε να χρησιμοποιήσουμε την τεχνολογία RAID ώστε η λύση να είναι καλύτερη και αποδοτικότερη από άποψη χώρου και ταχύτητας επεξεργασίας. 72

MIMD-6 Προκειμένου να βελτιώσουμε το σύστημα, μπορούμε να «σπάσουμε» το ερώτημα του χρήστη σε μικρότερα τμήματα, έτσι ώστε κάθε μηχανή αναζήτησης να εκτελέσει ένα μικρό τμήμα του αρχικού ερωτήματος. Όταν ο broker δεχθεί ένα ερώτημα, το διασπά σε μικρότερα tasks. Κάθε task αποστέλλεται σε μία μηχανή αναζήτησης. Τέλος ο broker συλλέγει τα αποτελέσματα από τις μηχανές, συνθέτει την τελική απάντηση και τη μεταβιβάζει στον αντίστοιχο χρήστη. 73

MIMD-7 T1 Μηχανή Αναζήτησης Broker Ερώτηση T2 Μηχανή Αναζήτησης Απάντηση T3 Μηχανή Αναζήτησης T4 Μηχανή Αναζήτησης 74

Αναπαράσταση Εγγράφων-1 Αναπαράσταση με index terms (keywords). Έχουμε t index terms, k1,, kt. Έχουμε N έγγραφα D1,, DN. Σε κάθε ζεύγος (ki, Dj) αντιστοιχεί ένα βάρος wi,j το οποίο δηλώνει πόσο σημαντικό είναι το keyword i για το έγγραφο j. 75

Αναπαράσταση Εγγράφων-2 Τα βάρη wi,j μπορεί να είναι είτε δυαδικά (0 ή 1) είτε πραγματικοί αριθμοί. Κάθε έγγραφο Dj μπορεί να αναπαρασταθεί σαν ένα διάνυσμα vec(dj) όπου: vec(dj) = (w1,j,, wt,j). Επίσης, κάθε ερώτημα q μπορεί να αναπαρασταθεί σαν ένα διάνυσμα vec(q) όπου: vec(q) = (w1,q,, wt,q). Η μέθοδος IR αναζητά έγγραφα με βάση μία σχέση ομοιότητας F(vec(Dj), vec(q)) = sim(vec(dj), vec(q))) 76

Αναπαράσταση Εγγράφων-3 k1 k2 ki kt D1 w1,1 w2,1 wi,1 wt,1 D2 w1,2 w2,2 wi,2 wt,2 Dj w1,j w2,j wi,j wt,j DN w1,n w2,n wi,n wt,n 77

Διαμοιρασμός-1 Πως θα μοιράσουμε τα δεδομένα; Δύο τρόποι: διαμοιρασμός εγγράφων. διαμοιρασμός όρων. 78

Διαμοιρασμός-2 Ο πίνακας των βαρών τεμαχίζεται με βάση τα έγγραφα (οριζόντια). Τα Ν κείμενα της συλλογής κατανέμονται στους P επεξεργαστές (μηχανές αναζήτησης). Έτσι σχηματίζονται P τμήματα και το καθένα περιέχει περίπου Ν/P έγγραφα. Κατά την επεξεργασία του ερωτήματος, κάθε μηχανή αναζήτησης επεξεργάζεται μόνο τα Ν/P έγγραφα που της αντιστοιχούν. 79

Διαμοιρασμός Εγγράφων Ο πίνακας των βαρών τεμαχίζεται με βάση τα έγγραφα (οριζόντια). Τα Ν κείμενα της συλλογής κατανέμονται στους P επεξεργαστές (μηχανές αναζήτησης). Έτσι σχηματίζονται P τμήματα και το καθένα περιέχει περίπου Ν/P έγγραφα. Κατά την επεξεργασία του ερωτήματος, κάθε μηχανή αναζήτησης επεξεργάζεται μόνο τα Ν/P έγγραφα που της αντιστοιχούν. 80

Διαμοιρασμός Όρων Η μέθοδος τεμαχίζει τον πίνακα βαρών με βάση τα index terms (κάθετα). Το σύνολο των index terms χωρίζεται σε P τμήματα. Κάθε τμήμα περιέχει ένα υποσύνολο του συνόλου των index terms. Επομένως για την αξιολόγηση και βαθμολόγηση ενός κειμένου συμμετέχουν όλοι οι επεξεργαστές. 81

Μέθοδοι Επεξεργασίας Στη συνέχεια αναλύουμε μεθόδους επεξεργασίας που χρησιμοποιούν αντεστραμμένο κατάλογο και στηρίζονται σε: διαμοιρασμό εγγράφων. διαμοιρασμό όρων. 82

Inverted Files Διαμοιρασμός εγγράφων: Λογικός διαμοιρασμός (logical partitioning). Φυσικός διαμοιρασμός (physical partitioning). 83

Λογικός Διαμοιρασμός-1 Η κατανομή των εγγράφων στους επεξεργαστές πραγματοποιείται χρησιμοποιώντας την ίδια δομή του αντεστραμμένου αρχείου της σειριακής μεθόδου. Το αντεστραμμένο αρχείο επεκτείνεται έτσι ώστε να δώσει σε κάθε μηχανή αναζήτησης δυνατότητα πρόσβασης στο τμήμα του αρχείου το οποίο είναι υπεύθυνο για τη δεικτοδότηση του υποσυνόλου της μηχανής. 84

Λογικός Διαμοιρασμός=2 Κάθε θέση στο λεξικό περιέχει P pointers (P: αριθμός επεξεργαστών). Ο j-οστός pointer δεικτοδοτεί τα έγγραφα που βρίσκονται στις λίστες εμφάνισης και πρέπει να επεξεργαστούν από τον επεξεργαστή Pj. 85

Λογικός Διαμοιρασμός-3 Λέξεις stargate damage paradise lost collection Λίστες Εμφάνισης 1, 5, 10 2, 6, 8, 20 3,7,9,11 3,7,9,11,15 13,14,16 Αντεστραμμένο Αρχείο σε σειριακό περιβάλλον (P = 1) 86

Λογικός Διαμοιρασμός-4 όροι stargate damage paradise lost collection P1 P2 P3 P4 P1 P2 P3 P4 P1 P2 P3 P4 P1 P2 P3 P4 P1 P2 P3 P4 1, 5, 10 λίστα εμφανίσεων 87

Λογικός Διαμοιρασμός-5 Όταν ο broker δέχεται ένα ερώτημα για επεξεργασία, βεβαιώνεται ότι η δομή του αντεστραμμένου αρχείου είναι φορτωμένη στην κοινή μνήμη ώστε να είναι προσπελάσιμη από όλους τους επεξεργαστές. Στη συνέχεια ο broker δημιουργεί P παράλληλες διαδικασίες (processes). Κάθε διαδικασία εκτελεί τον ίδιο αλγόριθμο βαθμολόγησης στα κείμενα που της αντιστοιχούν. Επειδή όλες οι λειτουργίες είναι read-only δεν απαιτείται μηχανισμός κλειδώματος. 88

Λογικός Διαμοιρασμός-6 Κάθε διαδικασία επιστρέφει το βαθμό των εγγράφων σε έναν πίνακα βαθμολόγησης ο οποίος είναι κοινός για όλους τους επεξεργαστές. Κι εδώ δεν απαιτείται μηχανισμός κλειδώματος διότι κάθε κείμενο βαθμολογείται από μία μόνο διαδικασία. Όταν όλοι οι επεξεργαστές ολοκληρώσουν την εργασία τους, ο πίνακας βαθμολόγησης ταξινομείται κατά αύξουσα σειρά και παράγεται η τελική απάντηση στο ερώτημα του χρήστη. 89

Λογικός Διαμοιρασμός-7 Κατά τη διάρκεια της κατασκευής του αντεστραμμένου αρχείου μπορούν να χρησιμοποιηθούν όλοι οι επεξεργαστές ώστε η κατασκευή να γίνει γρηγορότερα. Με τον τρόπο αυτό γίνεται χρήση του παραλληλισμού όχι μόνο κατά τη διαδικασία της αναζήτησης αλλά και κατά την κατασκευή του αντεστραμμένου καταλόγου. 90

Φυσικός Διαμοιρασμός-8 Στη μέθοδο αυτή τα έγγραφα κατανέμονται φυσικά στους διαθέσιμους επεξεργαστές. Σχηματίζονται P συλλογές εγγράφων, μία για κάθε επεξεργαστή. Κάθε συλλογή έχει το δικό της αντεστραμμένο κατάλογο. Άρα έχουμε P ανεξάρτητους αντεστραμμένους καταλόγους. Κάθε επεξεργαστής λειτουργεί με τα δικά του δεδομένα και παράγει έναν ξεχωριστό πίνακα βαθμολόγησης, ταξινομημένο ως προς το βαθμό σχετικότητας μεταξύ ερωτήματος και εγγράφων. 91

Φυσικός Διαμοιρασμός-9 P1 P2 P3 P4 Index 1 Index 2 Index 3 Index 4 D1,D2,D3 D4,D7,D9 D5,D6,D8 D10,D11,D12 92

Φυσικός Διαμοιρασμός-10 93

Συγχώνευση Πινάκων-1 94

Συγχώνευση Πινάκων-2 10 1 2 3 4 5 6 7 6 7 10 6 7 4 5 1 2 4 5 1 2 Δενδρική αναπαράσταση πίνακα 95

Συγχώνευση Πινάκων-3 96

Συγχώνευση Πινάκων-4 97

Συγχώνευση Πινάκων-5 Παράδειγμα: P=4 k=3 Π1 = [(1,20), (3,15), (5,10), (6,9)] Π2 = [(2,12), (4,9), (7,5) (8,3)] Π3 = [(9, 30), (10, 25), (11, 5), (12, 1)] Π4 = [(14, 4), (13,3), (15,2), (16,1)] 98

Υλοποίηση Για τις δύο μεθόδους διαμοιρασμού μπορούμε να χρησιμοποιήσουμε threads ώστε να προγραμματίσουμε τις λειτουργίες του συστήματος IR. Κάθε thread εκτελεί τη δική του εργασία. Προσφέρεται ένα προγραμματιστικό περιβάλλον ευέλικτο το οποίο επιτρέπει την παράλληλη εκτέλεση εργασιών. POSIX threads στις γλώσσες C/C++ 99

Διαμοιρασμός Όρων-1 Το αντεστραμμένο αρχείο κατασκευάζεται παράλληλα χρησιμοποιώντας τους P επεξεργαστές. Οι λίστες εμφάνισης διαμοιράζονται στους επεξεργαστές. Για την επεξεργασία ενός ερωτήματος, δημιουργείται το σύνολο των index terms που περιέχονται στο ερώτημα. Ο broker αποστέλλει αιτήσεις στους επεξεργαστές ανάλογα με το term που βρίσκεται στο ερώτημα. 100

Διαμοιρασμός Όρων-2 Κάθε επεξεργαστής δημιουργεί έναν «μερικό πίνακα βαθμολόγησης» διότι δεν έχει υπό τον έλεγχό του όλα τα index terms αλλά ένα υποσύνολο αυτών. Στο τέλος της επεξεργασίας, οι μερικοί πίνακες βαθμολόγησης συλλέγονται από τον broker ο οποίος παράγει τον τελικό πίνακα ανάλογα με τη συνάρτηση βαθμολόγησης. Π..χ. για boolean ερωτήσεις οι μερικοί πίνακες συμμετέχουν στις πράξεις ένωσης, τομής ή αφαίρεσης, ανάλογα με τους λογικούς τελεστές που περιέχονται στο ερώτημα του χρήστη. 101

Διαμοιρασμός Όρων-3 Λέξεις 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 102

Σύνοψη Η χρήση πολλαπλών πόρων μπορεί να βελτιώσει την απόδοση ενός συστήματος. Μελετήσαμε μεθόδους διαμοιρασμού δεδομένων: διαμοιρασμός εγγράφων, διαμοιρασμός όρων. Η επεξεργασία του αντεστραμμένου καταλόγου με χρήση πολλών επεξεργαστών βελτιώνει το χρόνο απόκρισης των ερωτημάτων. 103

Σημείωμα Αναφοράς Copyright, Απόστολος Παπαδόπουλος. «Ανάκτηση πληροφορίας. Παράλληλη Ανάκτηση Πληροφορίας». Έκδοση: 1.0. Θεσσαλονίκη 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.auth.gr/courses/ocrs388/

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά - Μη Εμπορική Χρήση - Όχι Παράγωγα Έργα 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο [1] http://creativecommons.org/licenses/by-nc-nd/4.0/

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Τέλος ενότητας Επεξεργασία: <Μαυρίδης Απόστολος> Θεσσαλονίκη, <Εαρινό εξάμηνο 2013-2014>

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σημειώματα

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.