Λ10 Παράλληλος & Κατανεμημένος Προγραμματισμός 2009

Σχετικά έγγραφα
Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

17. Πολυδιάςτατοι πίνακεσ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Ειςαγωγή ςτην πληροφορική

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Υ07 Παράλληλα Συστήματα /4/2018 Συστήματα κατανεμημένης μνήμης (ΙΙ)

Υ07 Παράλληλα Συστήματα /11/2013 Οργάμωση κοιμής μμήμης (ΙΙ)

Epsilon Cloud Services

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β

10/12/2013 Συστήματα κατανεμημένης μνήμης (ΙΙ) + Μετρικές και επιδόσεις Β. Δημακόπουλοσ

Αςφάλεια και Προςταςία Δεδομζνων

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ςυςτιματα γραμμικϊν εξιςϊςεων

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 8 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Α

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

assessment.gr USER S MANUAL (users)

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΘΕΜΑ Α /25 (A1)Χαρακτηρίςτε τισ παρακάτω προτάςεισ ωσ (Σ)ωςτζσ ή (Λ)άθοσ

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 6 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Β

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

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

Ιδιότθτεσ πεδίων Γενικζσ.

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

Λ10 Παράλληλος & Καταμεμημέμος Προγραμματισμός 2009

Τεχνικι Παρουςιάςεων με PowerPoint

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1

Ενθμζρωςθ και προςταςία των καταναλωτών από τουσ κινδφνουσ που απορρζουν από τα χθμικά προϊόντα

Δομζσ Δεδομζνων Πίνακεσ

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ

w e b t r a i l s. g r Η ΛΕΙΣΟΤΡΓΙΚΟΣΗΣΑ ΣΟΤ ΙΣΟΣΟΠΟΤ J24CLASS.GR

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

ΡΥΘΜΙΕΙ για περιοριςμένο χρήςτη (limited user)

Joomla! - User Guide

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Εφαρμογέσ Μικροχπολογιςτών ςτισ Τηλεπικοινωνίεσ. Έλεγχοσ ςειριακήσ θφρασ του 8051 (Serial Port)

Αναφορά Εργαςίασ Nim Game

Αυτόνομοι Πράκτορες. Αναφορά Εργασίας Εξαμήνου. Το αστέρι του Aibo και τα κόκαλα του

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Αςκιςεισ ςε (i) Δομζσ Ευρετθρίων και Οργάνωςθ Αρχείων (ii) Κανονικοποίθςθ

Processor-Memory (DRAM) Διαφορά επίδοςθσ

Ανϊτερεσ πνευματικζσ λειτουργίεσ Μνιμθ Μάκθςθ -Συμπεριφορά

ΕΞΟΙΚΟΝΟΜΘΘ ΝΕΡΟΤ!!!!

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 20. Αρχεία. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

16. Πίνακεσ και Συναρτήςεισ

Οδηγός χρήσης Blackboard Learning System για φοιτητές

Αςφάλεια και Προςταςία Δεδομζνων

Οδηγίεσ για την πρόςβαςη των δικαιοφχων ςτο ΟΠΣΑΑ

Δημιουργία Εντφπων Intrastat και Ανακεφαλαιωτικοφ Πίνακα

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

Ακολουκιακά Λογικά Κυκλώματα

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Οδηγόσ εγκατάςταςησ και ενεργοποίηςησ

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

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

Λειτουργικά υςτιματα Windows XP

Εργαστηριακή άσκηση στο μάθημα του Αυτομάτου Ελέγχου (ΜΜ803)

Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

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

Slide 1. Εισαγωγή στη ψυχρομετρία

Modem/Router IP, ADSL, ADSL2, ADSL2+, VDSL, VDSL2

Parallel Architectures

Μθχανολογικό Σχζδιο, από τθ κεωρία ςτο πρακτζο Χριςτοσ Καμποφρθσ, Κων/νοσ Βαταβάλθσ

Εικονικοποίθςθ. Λειτουργικά Συςτιματα Υπολογιςτϊν 6ο Εξάμθνο,

ΛΕΜΕ ΟΧΙ ΣΟ ΠΛΑΣΙΚΟ!!! ΛΕΜΕ ΟΧΙ ΣΙ ΠΛΑΣΙΚΕ ΑΚΟΤΛΕ!!!

η τζχνη τησ εκπαίδευςησ ο καθηγητήσ ςτο ςπίτι, 24 ώρεσ το 24ωρο

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

ΟΔΗΓΙΕ ΓΙΑ ΣΗ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΣΗΝ ΤΠΟΒΟΛΗ ΑΙΣΗΗ ΓΙΑ «ΚΟΤΠΟΝΙ ΚΑΙΝΟΣΟΜΙΑ»

Μάκθςθ Κατανομϊν Πικανότθτασ και Ομαδοποίθςθ

groupsms Interface: Εργαλείο μαζικών αποζηολών SMS

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Ενδεικτικζσ Λφςεισ Θεμάτων

Transcript:

Λ10 Παράλληλος & Κατανεμημένος Προγραμματισμός 2009 Μάθημα 10 ο 15/12/2009 Κατανεμημένη κοινή μνήμη (DSM Distributed Shared Memory) Β. Δημακόπουλοσ

Γιατί; Συςτιματα κατανεμθμζνθσ μνιμθσ: Αρχιτεκτονικι: κλιμακώςιμη Προγραμματιςμόσ (MPI): αρκετά δφςκολοσ αλλά και δυνατότθτα επιδόςεων Συςτιματα κοινισ μνιμθσ (SMPs): Αρχιτεκτονικι: δφςκολα κλιμακώςιμη Προγραμματιςμόσ: ςχετικά εφκολοσ Το ιδεϊδεσ: Κλιμακϊςιμεσ αρχιτεκτονικζσ που να προγραμματίηονται εφκολα (αλλά μθν ξεχνάμε και τισ επιδόςεισ) Μετά το ςειριακό, το πιο εφκολο είναι ο προγραμματιςμόσ κοινισ μνιμθσ (π.χ. OpenMP) Λφςθ: «εξομοίωςη» κοινήσ μνήμησ πάνω από το ςφνολο των ιδιωτικών μνημών με hardware με software #2

Hardware κόμβοσ ςυςτιματοσ ΜΝΗΜΗ (ΤΟΠΙΚΗ) CPU ROUTER #3

Hardware ελεγκτισ DSM ΕΛΕΓΚΤΗΣ DSM CPU ΜΝΗΜΗ (ΤΟΠΙΚΗ) ROUTER Η CPU προςπελαφνει όλο τον χϊρο διευκφνςεων ενιαία Η τοπικι μνιμθ ζχει μόνο ζνα μικρό κομμάτι του χϊρου Ο ελεγκτισ DSM ελζγχει κάκε διεφκυνςθ που προςπελαφνει θ CPU (1) Αν είναι για τθν τοπικι μνιμθ δεν κάνει τίποτε (2) Αν όχι, αναλαμβάνει τθν επικοινωνία με τον κόμβο που τθν χειρίηεται, ςτζλνοντασ κατάλλθλο μινυμα. Μόλισ ζρκει θ απάντθςθ, δίνει δεδομζνα ςτθ CPU ςαν να ιταν αποκθκευμζνο τοπικά Το μόνο που καταλαβαίνει θ CPU είναι θ διαφορά ςτθν ταχφτθτα προςπζλαςθσ κάποιων δεδομζνων (τα απομακρυςμζνα κάνουν πολφ παραπάνω χρόνο να ζρκουν) NUMA (non-uniform memory access) Χριςθ cache ςτον ελεγκτι για τα απομακρυςμζνα δεδομζνα ccnuma (cache coherent NUMA) #4

Software DSM Σε clusters? Δεν υπάρχει δυνατότθτα επζμβαςθσ ςτο hardware Μόνο λφςεισ software Κλαςικι υλοποίθςθ: page-based sdsm Χωρίσ παρεμβάςεισ ςτο Λ.Σ. (είναι μία απλι εφαρμογι ςε επίπεδο χριςτθ) Όλοι οι ςυμμετζχοντεσ κόμβοι «δεςμεφουν» ζναν χϊρο μνιμθσ (πολλζσ ςελίδεσ) που κα τον ζχουν ωσ κοινόχρθςτο Τα κοινόχρθςτα δεδομζνα κα τοποκετοφνται ςε αυτό τον χϊρο Κακζνασ «μαρκάρει» τισ ςελίδεσ ωσ «απαγορευμζνθσ προςπζλαςθσ» και ορίηει ζναν χειριςτι ςθμάτων για το ςιμα SIGSEGV Η εφαρμογι ξεκινά και οι προςπελάςεισ ςτον κοινόχρθςτο χϊρο οδθγοφν ςε ςφάλματα μνιμθσ που εκκινοφν τον χειριςτι για το SIGSEGV. O χειριςτισ: επικοινωνεί με τον κόμβο που διακζτει το δεδομζνο, φζρνοντασ ολόκλθρθ τθ ςελίδα που το περιζχει μετά τθ λιψθ και τθν τοποκζτθςθ ςτθ ςωςτι κζςθ, αλλάηει τα δικαιϊματα τθσ ςελίδασ (π.χ. επιτρζπεται πλζον θ ανάγνωςθ) τελειϊνει, επανεκτελϊντασ τθν εντολι που προκάλεςε τθ διακοπι #5

Ιδζεσ για υλοποιιςεισ page-based sdsm Μία ςελίδα p κα υπάρχει μόνο ςε ζναν κόμβο Κεντρικόσ server που γνωρίηει ποιοσ κόμβοσ ζχει ποια ςελίδα Απορρίπτεται μεγάλθ κίνθςθ ςτον server Κατανεμθμζνα & προκακοριςμζνα π.χ. ο κόμβοσ p % N είναι υπεφκυνοσ για γνωρίηει που βρίςκεται θ ςελίδα p Καλφτερο, μιασ και κάκε κόμβοσ μπορεί να ρωτιςει κατευκείαν αυτόν που πρζπει Αν υπάρχουν πολλοί readers, ςε κάκε προςπζλαςθ «ςελίδεσ πάνε κι ζρχονται» Λφςθ: πολλαπλά αντίγραφα ςελίδων (page replication) Απλοφςτερθ υλοποίθςθ: multi-readers Ή 1single-writer Αν εμφανιςτεί writer, τότε όλα τα read-only copies ακυρϊνονται Στο write υπάρχει μεγάλο overhead Πολφ καλό αν υπάρχουν πολλά reads και ελάχιςτα writes Καλφτερθ (ςε γενικζσ γραμμζσ) υλοποίθςθ: multi-readers ΚΑΙ multi-writers Πιο δφςκολοσ ο χειριςμόσ των πολλαπλϊν εγγραφζων #6

Πρωτόκολλα home-based (multi-writer) Home-based Ζνασ κόμβοσ (ςυνικωσ ο πρϊτοσ που κα γράψει ςτθ ςελίδα) επιλζγεται να είναι το «ςπίτι» τθσ ςελίδασ αυτισ Κατά την εγγραφή, οι άλλοι κόμβοι ςτζλνουν τισ αλλαγζσ ςτον home node. Ο home node ςτζλνει ακυρώςεισ (invalidations) ςε όλα τα άλλα αντίγραφα Τι ςτζλνουν οι writers ςτον home node ;? Τθν νζα ςελίδα: απλό, αλλά μεγάλο false sharing Diffs (μόνο τισ αλλαγζσ): ταχφτερο, αλλά ο κάκε κόμβοσ πρζπει να φυλάει και δεφτερο αντίγραφο ( twin ) από τισ ςελίδεσ που τροποποιεί για να βρίςκει τισ αλλαγζσ που ζκανε Κατά την ανάγνωςη, οι άλλοι κόμβοι παίρνουν τθν ςελίδα (ι τισ αλλαγζσ) απευκείασ από τον home node. Πικανι βελτιςτοποίθςθ: adaptive (floating/migrating home) #7

Συνζπεια μνιμθσ (memory consistency) Κανονικά ςε κάκε εγγραφι κα πρζπει να γίνεται ενθμζρωςθ του home και ακφρωςθ των αντιγράφων που υπάρχουν ςτο δίκτυο Μπορεί να είναι υπερβολικι θ κίνθςθ που δθμιουργείται, πράγμα που μειϊνει πολφ τισ επιδόςεισ Η λφςθ είναι να «χαλαρϊςουν» λίγο οι απαιτιςεισ, αποφεφγοντασ να ενημερώνουμε τουσ υπόλοιπουσ κόμβουσ όταν κάνουμε μία εγγραφή Πλζον οι τροποποιήςεισ ΔΕΝ ανακοινώνονται ςτην ώρα τουσ αλλά κάποτε αργότερα «Χαλαρϊνει» το μοντζλο τθσ μνιμθσ μιασ και πλζον οι προςπελάςεισ ςτισ κοινζσ μεταβλθτζσ είναι κάπωσ ανεξζλεγκτεσ, π.χ. ςτο παρακάτω Initially A = B = 0 Process P1 A = 1; /* write(a) */ B = 1; /* write(b) */ Process P2 printf( %d, B); /* read(b) */ printf( %d, A); /* read(a) */ κα μποροφςαμε άνετα να δοφμε εκτφπωςθ 10! #8

Εάν χαλαρϊςουμε τθ ςυνζπεια Ο αλγόρικμοσ του Dekker για αμοιβαίο αποκλειςμό δουλεφει; Initially A = B = 0 Process P1 A = 1; if (B == 0) <critical section> Process P2 B = 1; if (A == 0) <critical section> Η αυςτθρι ςυνζπεια (strict consistency) είναι ο «ορκόσ» τρόποσ λειτουργίασ Όλεσ οι ενζργειεσ (reads & writes) ολοκληρώνονται με τη ςειρά που ξεκίνηςαν Δφςκολο να υλοποιθκεί. Π.χ. ςτο NFS ο χριςτθσ Α ςϊηει κάτι πριν το χριςτθ Β (ο οποίοσ ςϊηει ςε άλλο αρχείο) αλλά λόγω κακυςτζρθςθσ ςτο δίκτυο, θ αίτθςθ του Β φτάνει πρϊτθ. Απαιτεί timestamps και πολλαπλά ςυγχρονιςμζνα ρολόγια Θεωρθτικό ενδιαφζρον μόνο #9

Sequential Consistency Η ακολουθιακή ςυνζπεια (sequential consistency) είναι λογικόσ τρόποσ λειτουργίασ Όλεσ οι διεργαςίεσ εκτελοφν και ολοκληρώνουν τισ εντολζσ (r/w) με τθ τοπική/ιδιωτική ςειρά προγράμματοσ και τα writes είναι ατομικά. Συνολικά θ ςειρά γεγονότων είναι «τυχαία» αλλά πάντωσ προκφπτει από κάποιο interleaving των εντολϊν των διεργαςιϊν (είναι όμωσ μία, δθλαδι όλεσ οι διεργαςίεσ αντιλαμβάνονται τθν ίδια ςειρά γεγονότων) Δεν απαιτοφνται ςυγχρονιςμζνα ρολόγια Όμωσ, τα writes μεταδίδονται ςε όλουσ άμεςα Αν και πολφ πιο πρακτικι από τθν αυςτθρι ςυνζπεια, μειϊνει πολφ τισ επιδόςεισ όπωσ είπαμε λόγω του υψθλοφ επικοινωνιακοφ φόρτου #10

Relaxed Consistency ΛΥΣΗ: Χαλάρωμα τθσ ςυνζπειασ για επιδόςεισ, αλλά αλλάηει πολφ τα δεδομζνα για τον προγραμματιςτι, ο οποίοσ πρζπει να είναι πολφ προςεκτικόσ: Δεν πρζπει κοινζσ μεταβλθτζσ να προςπελαφνονται εκτόσ κρίςιμων περιοχϊν Τα «χαλαρά» μοντζλα μνιμθσ και τα αντίςτοιχα πρωτόκολλα που χρθςιμοποιοφνται παρζχουν «ορκι» λειτουργία μόνο όταν οι προςπελάςεισ γίνονται μζςα ςε κρίςιμεσ περιοχζσ (lock/unlock ι acquire/release). Επομζνωσ, οι εγγραφζσ ςε κοινζσ ςελίδεσ είναι μόνο γνωςτζσ ςτον κόμβο που τισ ζκανε οι υπόλοιποι ενημερώνονται μόνο ςε κατάλληλα ςημεία ςυγχρονιςμοφ / αμοιβαίου αποκλειςμοφ Λειτουργεί μιασ και εκτόσ κρίςιμων περιοχϊν ο προγραμματιςτισ εφαρμογϊν δεν (πρζπει να) προςπελαφνει αυτζσ τισ ςελίδεσ. Αν κάποιοσ χρειαςτεί να προςπελάςει κοινζσ μεταβλθτζσ εκτόσ κρίςιμων περιοχϊν κα πρζπει «με το χζρι» να φροντίςει να μεταδοκοφν οι όποιεσ αλλαγζσ ζγιναν. #11

Release Consistency (RC) (Eager) RC: Οι αλλαγζσ μεταδίδονται μόνο κατά την ζξοδο από τθν κρίςιμθ περιοχι (κατά το unlock/release) Στα home-based ςυςτιματα τα diffs των τροποποιθμζνων ςελίδων πάνε ςτο αντίςτοιχο home ΚΑΙ ενθμερϊνονται/ακυρϊνονται τα άλλα αντίγραφα ςτουσ υπόλοιπουσ κόμβουσ Στα homeless, ενθμερϊνονται κατευκείαν όλοι LRC (Lazy Release Consistency): Οι αλλαγζσ μεταδίδονται οριςτικά κατά την είςοδο ςτθν κρίςιμθ περιοχι (κατά το lock/acquire) Στο release ςτζλνονται οι αλλαγζσ μόνο ςτο home Όποιοσ κάνει acquire, επικοινωνεί με το home και τότε παίρνει τισ αλλαγζσ Μειϊνει τθν κίνθςθ ςτο release π.χ. Treadmarks (δεν ιταν όμωσ home-based) Στα ςθμεία κακολικοφ ςυγχρονιςμοφ (barriers) ενθμερϊνονται τα πάντα #12

Παράδειγμα: HLRC (Home-based Lazy Release Consistency) Στο release Υπολογιςμόσ diffs (από τα twin που ζχει κάκε κόμβοσ) Αποςτολι diffs ςτον home node Ο home node: Εφαρμόηει τα diffs όπωσ ζρχονται, ενθμερϊνοντασ τθ ςελίδα Στο acquire Ο κόμβοσ ηθτά από τον home node τθν νζα ςελίδα #13

ScC (Scope Consistency) Παρόμοιο με το LRC μόνο που για κάκε scope (κρίςιμθ περιοχι ορίηεται από τθν κλειδαριά τθσ) οι ενθμερϊςεισ αφοροφν μόνο τισ ςελίδεσ που τροποποιήθηκαν ςτο scope αυτό. Ενϊ ςτο LRC, ςτο release μεταδίδονται όλεσ οι αλλαγζσ ςε όλεσ τισ ςελίδεσ, ακόμα και αυτζσ που ζγιναν πριν τθν κρίςιμθ περιοχι Πλιρθσ ενθμζρωςθ μόνο ςτα barriers #14