ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ"

Transcript

1 ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ιανοµή Βίντεο Μέσω ιαδικτύου µε Χρήση Βοηθητικών Εξυπηρετητών Ηλίας Μπαλαφούτης (Α.Μ: Μ377) Επιβλέπων Καθηγητής: Ιωάννης Σταυρακάκης Αθήνα, Νοέµβριος 2002

2 ii

3 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... III ΠΡΟΛΟΓΟΣ... V ΚΕΦΑΛΑΙΟ 1: ΤΟ CACHING ΣΤΑ ΙΚΤΥΑ Ε ΟΜΕΝΩΝ Εισαγωγή Ο ρόλος της cache στα δίκτυα δεδοµένων Τα πλεονεκτήµατα του caching και τα σχετιζόµενα µε αυτό προβλήµατα Το πρόβληµα της µετάδοσης δεδοµένων βίντεο Η Εξοµάλυνση της µεταβλητότητας του ρυθµού του βίντεο Η οµαδική µετάδοση ροών βίντεο Το Caching για δεδοµένα βίντεο...12 ΚΕΦΑΛΑΙΟ 2: «ΜΕΡΙΚΟ» CACHING ΓΙΑ Ε ΟΜΕΝΑ ΜΕΓΑΛΟΥ ΜΕΓΕΘΟΥΣ Έναυσµα Παράδειγµα Αρχιτεκτονική του συστήµατος Η οντότητα διαχείρισης των αιτήσεων Η οντότητα διαχείρισης του αποθηκευτικού χώρου της cache Προτεινόµενο σχήµα caching για τµηµατοποιηµένα αντικείµενα Η προτεινόµενη λειτουργία της cache Μέθοδοι τµηµατοποίησης του βίντεο Η τµηµατοποίηση σε σταθερού µεγέθους chunks Η τµηµατοποίηση σε µεταβλητού µεγέθους chunks Αλγόριθµοι αντικατάστασης µε βάση το κόστος πρόσβασης στον εξυπηρετητή Ορισµός του µεγέθους του chunk µε βάση το κόστος πρόσβασης Probabilistic LRU και τµηµατοποίηση FCS...27 ΚΕΦΑΛΑΙΟ 3: ΜΕΛΕΤΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΤΩΝ ΠΡΟΤΕΙΝΟΜΕΝΩΝ ΤΕΧΝΙΚΩΝ Εισαγωγή Οι µετρικές αξιολόγησης της απόδοσης Το Μοντέλο Προσοµοίωσης Βέλτιστη Στατική Τοποθέτηση των Περιεχοµένων...33 iii

4 3.5 Παρουσίαση Αποτελεσµάτων Η σχέση µεταξύ BHR και χρόνου προσαρµογής Η επίδραση του µεγέθους της Cache και της έντασης της κατανοµής ζήτησης στο ΒHR Η επίδραση του µεγέθους του chunk στο BHR Το BHR σε περιβάλλον µεταβαλλόµενης ζήτησης υναµική µεταβολή του µεγέθους του chunk Ορισµός του µεγέθους του chunk µε βάση το κόστος πρόσβασης Η επίδραση του µεγέθους του chunk στην αρχική καθυστέρηση...46 ΚΕΦΑΛΑΙΟ 4: ΙΕΡΑΡΧΙΚΟ CACHING Εισαγωγή Η ιεραρχική δοµή του διαδικτύου Συνεργασία µεταξύ των Caches Πρωτόκολλα σχετιζόµενα µε την συνεργασία µεταξύ των Caches Περιγραφή του συστήµατος Η επικοινωνία µεταξύ των caches Επιλογή του µονοπατιού Αλγόριθµοι αντικατάστασης Βέλτιστη στατική τοποθέτηση σε µια αλυσίδα από caches Μελέτη της απόδοσης του συστήµατος Μοντέλο του συστήµατος Παρουσίαση αποτελεσµάτων...60 ΒΙΒΛΙΟΓΡΑΦΙΑ...63 iv

5 ΠΡΟΛΟΓΟΣ Τα δεδοµένα εφαρµογών πολυµέσων µεγάλου µεγέθους όπως το κωδικοποιηµένο βίντεο και ο ήχος ανήκουν στους τύπους δεδοµένων που ολοένα και µε αυξανόµενο ρυθµό χρησιµοποιούνται από τις σηµερινές εφαρµογές που αναπτύσσονται στο διαδίκτυο. Για την αποτελεσµατική µετάδοση και διαχείριση των δεδοµένων αυτών από τα δίκτυα δεδοµένων έχει αναπτυχθεί µια σειρά από εξειδικευµένες τεχνικές. Μια από τις πλέον δηµοφιλής και διαδεδοµένες τεχνικές για το σκοπό αυτό είναι η τεχνική του caching. Σύµφωνα µε µια µη τεχνική µετάφραση, που µπορεί να βρει κανείς σε ένα απλό λεξικό, η λέξη «cache» σηµαίνει «κρυψώνα». Σε τεχνικό επίπεδο η cache αποτελεί µια φυσική οντότητα η λειτουργία της οποίας θα µπορούσε κατά µια έννοια να αποδοθεί από την µετάφραση της λέξης ως «κρυψώνα». Σύµφωνα µε ένα τεχνικό ορισµό που δίνεται στο RFC 2616 στο οποίο δίνεται η περιγραφή του HTTP πρωτοκόλλου, η cache είναι ένας χώρος αποθήκευσης απαντήσεων σε αιτήσεις χρηστών. Οι τεχνικές που έχουν αναπτυχθεί και περιγράφουν την λειτουργία της cache είναι γνωστές µε τον όρο caching. Ένα από τα πεδία εφαρµογής του caching, αποτελεί η διανοµή των δεδοµένων σε δίκτυα δεδοµένων. Το πεδίo αυτό και πιο συγκεκριµένα, η διανοµή δεδοµένων εφαρµογών πολυµέσων όπως το βίντεο, αποτελεί το αντικείµενο διαπραγµάτευσης στην παρούσα εργασία. Στο πρώτο κεφάλαιο γίνεται µια εισαγωγή στα προβλήµατα της µετάδοσης του βίντεο µέσω διαδικτύου. Γίνεται µια συνοπτική περιγραφή των ιδιαιτεροτήτων του βίντεο και των τεχνικών που προτείνονται ως λύσεις για τα προβλήµατα που παρουσιάζονται λόγω των ιδιαιτεροτήτων αυτών. Μεγαλύτερο βάρος δίνεται στην τεχνική του caching η οποία περιγράφεται µε µεγαλύτερη λεπτοµέρεια και εξετάζεται τόσο σε συνδυασµό µε τις υπόλοιπες προτεινόµενες τεχνικές όσο και αποµονωµένα. Το δεύτερο κεφάλαιο είναι αφιερωµένο αποκλειστικά στο caching για δεδοµένα βίντεο. Στο κεφάλαιο αυτό εισάγεται ο όρος «µερικό» caching και περιγράφονται τα πλεονεκτήµατά του. Στην συνέχεια προτείνονται ορισµένοι αλγόριθµοι τµηµατοποίησης του βίντεο και ορισµού της µονάδας αντικατάστασης. Στο τρίτο κεφάλαιο, γίνεται µια λεπτοµερής αξιολόγηση της απόδοσης των προτεινόµενων αλγορίθµων βασισµένη σε προσοµοίωση ενός συστήµατος διανοµής βίντεο µέσω caches. Η εργασία αυτή ολοκληρώνεται στο τέταρτο κεφάλαιο, v

6 στο οποίο παρουσιάζονται ιεραρχικά σχήµατα caching, που αποτελούν το βασικό πυρήνα ολοκληρωµένων δικτύων διανοµής δεδοµένων (Content Distribution Networks). Στο κεφάλαιο αυτό προτείνεται ένας τρόπος επικοινωνίας µεταξύ των caches ενός τέτοιου δικτύου και διαχείρισης των περιεχοµένων τους κατά τρόπο τέτοιο που να διευκολύνεται η διανοµή δεδοµένων βίντεο. Μέσω προσοµοιώσεων επιδεικνύεται ότι οι προτεινόµενες τεχνικές ταιριάζουν ικανοποιητικά σε ιεραρχικά συστήµατα caching. Κλείνοντας αυτόν τον πρόλογο θα ήθελα να εκφράσω την ευγνωµοσύνη µου σε κάποιους ανθρώπους για την πολύτιµη βοήθειά τους κατά την εκπόνηση της εργασίας αυτής. Θα ήθελα να ευχαριστήσω τον Νίκο Λαουτάρη για την συνεργασία την οποία είχαµε σε µεγάλο µέρος της παρούσας εργασίας. Θα ήθελα επίσης να ευχαριστήσω θερµά τον Αντώνη Παναγάκη για τις χρήσιµες παρατηρήσεις και υποδείξεις του καθώς και για τον πολύτιµό χρόνο που αφιέρωσε σε όλη την διάρκεια της συνεργασίας µας. Τέλος, θα ήθελα να εκφράσω τις ειλικρινείς ευχαριστίες µου στον Καθηγητή κ. Ιωάννη Σταυρακάκη, επιβλέποντα αυτή της εργασίας, για την εµπιστοσύνη µε την οποία µε περιέβαλλε από την αρχή της συνεργασίας µας, την υποστήριξή του και την αµέριστη βοήθειά του σε όλη την διάρκεια αυτής. Ηλίας Μπαλαφούτης Σεπτέµβριος 2002 vi

7

8 0

9 Κεφάλαιο 1 Το caching στα δίκτυα δεδοµένων 1.1 Εισαγωγή Η µεγάλη επιτυχία και ανάπτυξη των εφαρµογών που είναι βασισµένες σ αυτό που ονοµάζεται «παγκόσµιος ιστός» (world wide web (WWW)), οφείλεται σε µεγάλο βαθµό στην εύκολη και γρήγορη πρόσβαση των χρηστών σε µια µεγάλη ποσότητα πληροφοριών. Σε αρκετές εφαρµογές του διαδικτύου (π.χ. µεταφορά αρχείων), η καθυστέρηση είναι ένα χαρακτηριστικό που οι χρήστες είναι διατεθειµένοι να ανεχτούν. Αντίθετα, στις εφαρµογές που είναι βασισµένες στο WWW, η ύπαρξη έστω και µικρών καθυστερήσεων της τάξης των δεκάδων δευτερολέπτων είναι ικανή να προκαλέσει την δυσαρέσκεια των χρηστών και εποµένως την αποτυχία των ίδιων των εφαρµογών. Η ραγδαία διάδοση των εφαρµογών στο WWW και η µαζική ανάπτυξη νέων, οδήγησε στην δηµιουργία συµφόρησης στα δίκτυα δεδοµένων, µε αποτέλεσµα την σταδιακή άνοδο της καθυστέρησης στην εξυπηρέτηση των χρηστών. Για την αντιµετώπιση του προβλήµατος της καθυστέρησης, αλλά και της µείωσης της συµφόρησης (που είναι δύο 1

10 παράγοντες άµεσα συσχετιζόµενοι µεταξύ τους) αναπτύχθηκε µια σειρά τεχνικών µια εκ των οποίων είναι και το caching. Ο όρος cache και η τεχνική του caching δεν χρησιµοποιήθηκαν για πρώτη φορά στον χώρο των δικτύων. Στην αρχιτεκτονική υπολογιστών η cache, είναι µια µικρής χωρητικότητας, µεγάλης ταχύτητας (και κόστους) µνήµη που τοποθετείται µεταξύ του επεξεργαστή και της κύριας µνήµης. Ο ρόλος της είναι να αποθηκεύει τις απαντήσεις της κύριας µνήµης στις αιτήσεις του επεξεργαστή. Με τον τρόπο αυτό, µελλοντικές αιτήσεις του επεξεργαστή για δεδοµένα που έχουν ζητηθεί και στο παρελθόν, εξυπηρετούνται από την cache, η οποία έχει αποθηκευµένη την απάντηση και έτσι αποφεύγεται η «χρονοβόρα» πρόσβαση στην κύρια µνήµη. Μια άλλη συνηθισµένη θέση για τις caches είναι µεταξύ σκληρού δίσκου και της κύριας µνήµης έτσι ώστε να µειωθεί ο αριθµός των χρονοβόρων προσβάσεων στο δίσκο του υπολογιστή. Κατά παρόµοιο τρόπο, η cache αποθηκεύει ορισµένα από τα δεδοµένα του δίσκου, έτσι ώστε στην περίπτωση που ζητηθούν από την κύρια µνήµη, να αποφευχθεί η πολύ αργή πρόσβαση στον δίσκο. Στο πρώτο παράδειγµα προκειµένου η πρόσβαση στην cache να είναι πολύ γρήγορη, πρέπει αυτή να βρίσκεται στο ίδιο chip µε τον επεξεργαστή και εποµένως πρέπει να είναι πολύ µικρότερη σε µέγεθος (και εποµένως και σε χωρητικότητα) συγκριτικά µε την κύρια µνήµη. Οµοίως στο δεύτερο παράδειγµα, η χωρητικότητα της cache που βρίσκεται µεταξύ κύριας µνήµης και σκληρού δίσκου, είναι συγκριτικά πολύ µικρότερη από αυτή του δίσκου κυρίως λόγο του υψηλού της κόστους. Λόγω της µικρής χωρητικότητας της cache µόνο ένα µικρό τµήµα από το σύνολο των δεδοµένων µπορεί να αποθηκευτεί στην πραγµατικότητα. Για το λόγο αυτό, πρέπει να γίνεται πολύ προσεκτική επιλογή των δεδοµένων που αποθηκεύονται σε αυτή έτσι ώστε, οι περιπτώσεις «αποτυχίας» 1 να είναι οι λιγότερες δυνατές. Συνοψίζοντας την λειτουργία µιας cache στον χώρο τον υπολογιστών, µπορούµε να πούµε ότι αποτελεί µια ενδιάµεση οντότητα µεταξύ της πηγής των δεδοµένων (ή της κύριας µονάδας αποθήκευσης των δεδοµένων) και των σηµείων ζήτησης/κατανάλωσης των δεδοµένων. Στόχος του caching είναι η µείωση χρονικού του κόστους πρόσβασης από το σηµείο ζήτησης στο σηµείο αποθήκευσης των δεδοµένων µε την κατάλληλη επιλογή των αντικειµένων που αποθηκεύονται στην cache. 1 ηλαδή οι περιπτώσεις κατά τις οποίες η απάντηση στην αίτηση του επεξεργαστή προς την κύρια µνήµη ή αντίστοιχα της κύριας µνήµης προς τον δίσκο δεν βρίσκεται αποθηκευµένη στην cache. 2

11 1.1.1 Ο ρόλος της cache στα δίκτυα δεδοµένων Παρόµοια µε αυτήν που περιγράφηκε στα παραπάνω παραδείγµατα είναι η λειτουργία της cache και στο χώρο των δικτύων δεδοµένων και ειδικότερα στην περίπτωση των εφαρµογών που είναι βασισµένες στο WWW. Στην περίπτωση αυτή σαν πηγή της πληροφορίας θεωρούνται οι εξυπηρετητές που καθιστούν τα δεδοµένα διαθέσιµα στους χρήστες και τους οποίους θα ονοµάζουµε κύριους ή αποµακρυσµένους εξυπηρετητές, καθώς συνήθως βρίσκονται (γεωγραφικά ή δικτυακά) σε απόσταση από τα σηµεία ζήτησης. Τα σηµεία ζήτησης και κατανάλωσης της πληροφορίας είναι οι χρήστες οι οποίοι είναι συνδεδεµένοι στο δίκτυο µέσω εταιρειών παροχής δικτυακών υπηρεσιών και έχουν πρόσβαση στις υπηρεσίες και τα δεδοµένα που παρέχουν οι κύριοι εξυπηρετητές. Οι χρήστες προωθούν τις αιτήσεις τους για δεδοµένα στους κύριους εξυπηρετητές µέσω του δικτύου «καταναλώνοντας» εύρος ζώνης το οποίο θεωρείται πολύτιµος πόρος για το εσωτερικό 2 των δικτύων. Επιπλέον οι χρήστες υφίστανται και την καθυστέρηση της µεταφοράς των δεδοµένων από τον κύριο εξυπηρετητή η οποία οφείλεται τόσο στην φυσική (ή δικτυακή) τους απόσταση από τον εξυπηρετητή, όσο και στην συµφόρηση του δικτύου. Στην περίπτωση των δικτύων µια συνηθισµένη θέση της cache είναι στους βοηθητικούς εξυπηρετητές (proxy-servers). Οι βοηθητικοί εξυπηρετητές µπορούν να επιτελέσουν µια σειρά από εξειδικευµένες λειτουργίες, µια εκ των οποίων είναι και η διαχείριση µιας cache οπότε ονοµάζονται και caching-proxies. Ένας βοηθητικός εξυπηρετητής τυπικά είναι εγκατεστηµένος κοντά σε µια περιοχή χρηστών και παρεµβάλλεται στις αιτήσεις των χρηστών προς τους κύριους εξυπηρετητές καθώς και στις απαντήσεις των εξυπηρετητών όπως φαίνεται και στο Σχήµα 1-1. Η cache που διαχειρίζεται ένας βοηθητικός εξυπηρετητής, µπορεί στην πραγµατικότητα να είναι κάποιος δίσκος ή κάποια συστοιχία δίσκων. Σε κάθε περίπτωση η χωρητικότητά της cache είναι πολύ µικρότερη από τον µέγεθος των δεδοµένων το οποίο καλείται να αποθηκεύσει (ουσιαστικά όλα τα δεδοµένα που µπορεί να θελήσουν οι χρήστες µε τους οποίους συνδέεται). Επίσης η ανάκτηση των δεδοµένων από την cache του proxy-server είναι πολύ ταχύτερη από την ανάκτηση από τον κύριο εξυπηρετητή καθώς αποφεύγεται η µεταφορά των δεδοµένων µέσω του πιθανώς βαριά φορτωµένου δικτύου και λόγο του 2 Θεωρούµε ότι τόσο οι κύριοι εξυπηρετητές όσο και οι χρήστες βρίσκονται στα άκρα του δικτύου εποµένως η µεταφορά δεδοµένων από του µεν στους δε, υποχρεωτικά χρησιµοποιεί τους πόρους του εσωτερικού δικτύου. 3

12 Σχήµα 1-1: Ο proxy server είναι εγκατεστηµένος κοντά σε µια περιοχή χρηστών και παρεµβάλλεται στις αιτήσεις των χρηστών προς τους κύριους εξυπηρετητές καθώς και στις απαντήσεις των εξυπηρετητών γεγονότος ότι ο proxy-server βρίσκεται σε µικρή φυσική (και δικτυακή) απόσταση από τους χρήστες. Η βασική λειτουργία του proxy-server συνοψίζεται στην αποθήκευση των απαντήσεων των αποµακρυσµένων εξυπερετητών, τοπικά στην cache µε σκοπό την εξυπηρέτηση µελλοντικών αιτήσεων των χρηστών από τον ίδιο και την αποφυγή της πρόσβασης στους αποµακρυσµένους εξυπηρετητές Τα πλεονεκτήµατα του caching και τα σχετιζόµενα µε αυτό προβλήµατα Κατά µια έννοια, µε την χρήση των caches επιτυγχάνεται η µετακίνηση των δεδοµένων από τους αποµακρυσµένους εξυπηρετητές κοντά στα σηµεία ζήτησης. Οι κύριοι λόγοι της επιτυχίας και ευρείας χρήσης του caching είναι µείωση στην καθυστέρηση της εξυπηρέτησης των αιτήσεων, η µείωση του όγκου των δεδοµένων που απαιτείται να µεταδοθούν στο εσωτερικό του δικτύου καθώς και η µείωση στον αριθµό των αιτήσεων που φτάνουν µέχρι τον κύριο εξυπηρετητή (και εποµένως η αύξηση της δυνατότητας εξυπηρέτησης περισσότερων αιτήσεων από αυτούς). Τα πλεονεκτήµατα του caching αφορούν όλους τους φορείς που εµπλέκονται σε µια συναλλαγή µέσω του διαδικτύου. Πρώτον, οι εξυπηρετητές δηλαδή οι εταιρίες που φιλοξενούν τα δεδοµένα και παρέχουν τις υπηρεσίες στους χρήστες, είναι υποχρεωµένες να πληρώνουν στις εταιρίες παροχής δικτύου ανάλογα µε την κίνηση που προκαλούν είναι εποµένως επιθυµητό να µειωθεί ο αριθµός των προσβάσεων σε αυτούς χωρίς παράλληλα να µειωθεί ο αριθµός των προσβάσεων στα ίδια τα δεδοµένα. Επιπλέον οι χρήστες όπως έχει ήδη αναφερθεί, επιθυµούν µειωµένη καθυστέρηση στην απόκριση των αιτήσεων τους. Έχει 4

13 παρατηρηθεί ότι ένα µεγάλο ποσοστό των «ακυρώσεων» των αιτήσεων των χρηστών, οφείλεται στους µεγάλους χρόνους απόκρισης των εξυπηρετητών. Τέλος, από την οπτική γωνία ενός παροχέα δικτύου, είναι επιθυµητή η κατά το δυνατότερο µείωση της πλεονάζουσας κίνησης που προκαλεί συµφόρηση και τον καθιστά λιγότερο ανταγωνιστικό. Ας κάνουµε όµως στο σηµείο αυτό µια αναφορά στα προβλήµατα που προκύπτουν λόγω της ύπαρξης των caches. Η παρουσία ενός βοηθητικού εξυπηρετητή στο µονοπάτι από τους τελικούς χρήστες προς τους αποµακρυσµένους εξυπηρετητές συχνά κρύβει την ύπαρξη των κύριων εξυπηρετητών και αυτό σε ορισµένες περιπτώσεις είναι ανεπιθύµητο. Ένα σηµαντικό ποσοστό των εφαρµογών που έχουν αναπτυχθεί στο WWW, οφείλει την ύπαρξή του στην καταµέτρηση των προσβάσεων των χρηστών στους εξυπηρετητές, µε βάση τις οποίες αξιολογείται και η επιτυχία του εξυπηρετητή και καθορίζεται η «αµοιβή» του. Η καταµέτρηση αυτή δεν είναι δυνατή όταν η εξυπηρέτηση της αίτησης γίνεται από την cache. Επιπλέον µε την ανάπτυξη ολοένα και πιο πολύπλοκων εφαρµογών απαιτείται συχνά η πιστοποίηση της ταυτότητας των χρηστών στους κύριους εξυπηρετητές πράγµα που επίσης δεν είναι εφικτό όταν η εξυπηρέτηση γίνεται από τον βοηθητικό εξυπηρετητή. Ένα άλλο πρόβληµα που εµφανίζεται µε την χρήση των βοηθητικών εξυπηρετητών είναι το γεγονός ότι πολλές φορές η απάντηση των κύριων εξυπηρετητών είναι αποτέλεσµα της αναζήτησης σε βάσεις δεδοµένων ή εκτέλεσης κάποια άλλης µορφής κώδικα. ηλαδή οι απαντήσεις δηµιουργούνται µε τρόπο δυναµικό µε αποτέλεσµα να µην έχει νόηµα να αποθηκευτούν στην cache καθώς είναι διαφορετικές κάθε φορά. Τέλος, ένα άλλό παραδοσιακό πρόβληµα µε την χρήση των caches είναι η διατήρηση της αξιοπιστίας των απαντήσεων που διατηρούν αποθηκευµένες. εδοµένου ότι τα πραγµατικά δεδοµένα στους εξυπηρετητές µεταβάλλονται µε το χρόνο θα πρέπει και τα ανάτυπα που βρίσκονται στην cache να ενηµερώνονται για τυχόν αλλαγές έτσι ώστε οι απαντήσεις που δίνονται στους χρήστες να είναι έγκυρες. Στα περισσότερα από τα παραπάνω προβλήµατα οι λύσεις που έχουν προταθεί περιλαµβάνουν την κατάλληλη αξιοποίηση των δυνατοτήτων του HTTP πρωτοκόλλου που χρησιµοποιείται για την επικοινωνία µεταξύ χρηστών, βοηθητικών εξυπηρετητών και αποµακρυσµένων εξυπηρετητών. Το πρόβληµα που έχει αποτελέσει αντικείµενο εκτενούς µελέτης στην περιοχή του caching, είναι η διαχείριση του αποθηκευτικού χώρου της cache. Έχουµε ήδη αναφέρει ότι από το σύνολο των αντικειµένων που ζητούνται από τους χρήστες µόνο ένα πολύ µικρό µέρος µπορεί να αποθηκευτεί στην cache. Η επιλογή και αποθήκευση των κατάλληλων αντικειµένων είναι απαραίτητη προκειµένου το ποσοστό των αιτήσεων που 5

14 εξυπηρετούνται από την cache να είναι το µέγιστο δυνατό. Η επιλογή αυτή είναι µια περίπλοκη υπόθεση καθώς πρέπει να γίνεται δεδοµένης της άγνοιας του συστήµατος για τις προθέσεις των χρηστών και λαµβάνοντας υπ όψην ότι οι προτιµήσεις των χρηστών µεταβάλλονται µε το χρόνο. Τυπικά η πολιτική που ακολουθείται στο πρόβληµα αυτό είναι η ακόλουθη. Σε κάθε αίτηση ενός χρήστη για κάποιο αντικείµενο, αποθηκεύεται η απάντηση του εξυπηρετητή στην cache. Στην περίπτωση που δεν υπάρχει αρκετός ελεύθερος χώρος (που είναι και η πιο συνηθισµένη περίπτωση) ένας αλγόριθµος αντικατάστασης επιλέγει κάποιο από τα ήδη αποθηκευµένα αντικείµενα και το διαγράφει από την cache. Για την αντικατάσταση των αντικειµένων έχει προταθεί ένας µεγάλος αριθµός αλγορίθµων. Σκοπός πάντα είναι η µεγιστοποίηση του ποσοστού των αιτήσεων που εξυπηρετούνται από την cache (hit ratio). Ορισµένοι από τους πλέον γνωστούς και διαδεδοµένους αλγόριθµους αντικατάστασης είναι οι εξής: LRU (Least Recently Used): Σύµφωνα µε τον αλγόριθµο αυτό επιλέγεται προς αντικατάσταση το αντικείµενο που έχει ζητηθεί πιο µακριά στο παρελθόν µεταξύ αυτών που υπάρχουν στην cache. LFU (Least Frequently Used): Ο αλγόριθµος αυτός διατηρεί µια λίστα µε τον αριθµό των αιτήσεων για κάθε αντικείµενο που βρίσκεται στην cache για κάποιο χρονικό παράθυρο και επιλέγει προς αντικατάσταση το αντικείµενο πού έχει δεχθεί το µικρότερο αριθµό αιτήσεων σε αυτό το χρονικό παράθυρο. SIZE: Ο αλγόριθµος αυτός αντικαθιστά το µεγαλύτερο σε µέγεθος αντικείµενο έτσι ώστε να ελευθερωθεί χώρος για την αποθήκευση µεγαλύτερου αριθµού µικρών αντικειµένων. Greedy Dual-Size: Ο αλγόριθµος αυτός προτάθηκε αρχικά για την περίπτωση της cache της κύριας µνήµης των υπολογιστών και επιλέγει τον αντικείµενο προς αντικατάσταση µε βάση το κόστος ανάκτησής του από τον δίσκο. Μια τροποποίησή του χρησιµοποιείτε και στην περίπτωση του WWW µε βάση την οποία επιλέγεται προς αντικατάσταση το αντικείµενο µε το µικρότερο κόστος πρόσβασης προς τον κύριο εξυπηρετητή. Το πρόβληµα της κατάλληλης διαχείρισης του αποθηκευτικού χώρου της cache είναι αυτό που θα µελετήσουµε στην εργασία αυτή για την ειδική κατηγορία των µεγάλων σε µέγεθος δεδοµένων όπως είναι το κωδικοποιηµένο βίντεο. 6

15 1.2 Το πρόβληµα της µετάδοσης δεδοµένων βίντεο Όπως είδαµε σε προηγούµενες ενότητες το caching αποτελεί µια λύση για την µείωση της καθυστέρησης στις υπηρεσίες που έχουν οικοδοµηθεί στον παγκόσµιο ιστό. Αρχικά οι υπηρεσίες αυτές βασίζονταν στην παροχή πληροφοριών κυρίως σε µορφή κειµένου ή µικρών εικόνων. Τα τελευταία χρόνια, η σταδιακή αύξηση της χωρητικότητας των δικτύων (και συνεπώς γενικότερα ολόκληρου του διαδικτύου) επέτρεψε την ανάπτυξη νέων υπηρεσιών οι οποίες απαιτούν την µετάδοση ήχου και κινούµενης εικόνας (βίντεο) και γενικότερα τύπων δεδοµένων µε αυξηµένες απαιτήσεις σε εύρος ζώνης. Ώς εκ τούτου, παρά την αύξηση της χωρητικότητας των δικτύων, το πρόβληµα της καθυστέρησης και της συµφόρησης παραµένει. Το βίντεο παρουσιάζεί αρκετές ιδιοµορφίες σε σύγκριση µε τα δεδοµένα που παραδοσιακά διαχειρίζονται τα δίκτυα δεδοµένων όπως το κείµενο και οι εικόνες. Μερικές από τις διαφορές αυτές είναι το µεγάλο µέγεθος του βίντεο, οι υψηλές απαιτήσεις του για εύρος ζώνης, η µεταβλητότητα των απαιτήσεων αυτών, οι απαιτήσεις για συγχρονισµό, η πολυµορφική δοµή του κ.α.. Λόγω των ιδιαίτερων χαρακτηριστικών του βίντεο, αναπτύχθηκε µια σειρά τεχνικών για την αντιµετώπιση των προβληµάτων που σχετίζονται µε την µετάδοσή του στα δίκτυα δεδοµένων. Παραδείγµατα τέτοιων τεχνικών είναι η εξοµάλυνση (smoothing) της µεταβλητότητας του ρυθµού του βίντεο, η οµαδική µετάδοση (multicasting), η συνένωση των αιτήσεων κ.α.. Όπως θα δούµε στην συνέχεια οι τεχνικές αυτές, πρότειναν το caching σαν βοηθητική/συµπληρωµατική τεχνική και αυτή ήταν µια από τις πρώτες εφαρµογές του caching για τον συγκεκριµένο αυτό τύπο δεδοµένων Η Εξοµάλυνση της µεταβλητότητας του ρυθµού του βίντεο Στις τεχνικές εξοµάλυνσης περιλαµβάνεται ένας σηµαντικός αριθµός τεχνικών [21],[22],[23],[24], που έχουν προταθεί στη βιβλιογραφία, και που κοινό τους χαρακτηριστικό είναι η προσπάθεια εκµετάλλευσης της αποθηκευτικής δυνατότητας στον ταµιευτήρα του χρήστη (buffering), προκειµένου να επιτευχθεί µείωση της µεταβλητότητας του ρυθµού που παρουσιάζει το κωδικοποιηµένο βίντεο κυµαινόµενου ρυθµού (VBR). Στη συνέχεια περιγράφεται εν συντοµία η ιδέα στην οποία βασίζεται η πλειοψηφία των αλγορίθµων αυτών. Απουσία εξοµάλυνσης, ο εξυπηρετητής µεταδίδει εντός χρονικού διαστήµατος διάρκειας ενός frame (που ισούται µε το αντίστροφο του ρυθµού ανανέωσης του βίντεο, µε τυπικές 7

16 τιµές µεταξύ frames/sec) δεδοµένα που αντιστοιχούν στο µέγεθος του µεταδιδόµενου frame (πλαισίου καρέ). Καθώς τα µεγέθη των frames διαφέρουν σηµαντικά µεταξύ τους, λόγω της κωδικοποίησης µεταβλητού ρυθµού, το εύρος ζώνης που απαιτείται για τη µετάδοση σε κάθε χρονική στιγµή παρουσιάζει µεγάλη µεταβλητότητα. Η υψηλή µεταβλητότητα είναι ανεπιθύµητη στις περιπτώσεις που για την µετάδοση του βίντεο πρέπει να γίνει κάποια δέσµευση εύρους ζώνης µε βάση το µέγιστο ρυθµό µετάδοσης. Στην περίπτωση αυτή η υψηλή µεταβλητότητα ισοδυναµεί µε σπατάλη πόρων καθώς σε χρονικές περιόδους που το απαιτούµενο εύρος ζώνης είναι µικρό, το υπόλοιπο εύρος ζώνης παραµένει δεσµευµένο και εποµένως ανεκµετάλλευτο. Η ιδέα στην οποία βασίζονται οι τεχνικές εξοµάλυνσης είναι η αποστολή δεδοµένων για «µελλοντικά» frames µαζί µε τα δεδοµένα του τρέχοντος frame, όταν το µέγεθος του τελευταίου είναι µικρό. Με άλλα λόγια, κατά την διάρκεια περιόδων όπου οι «κανονικές» απαιτήσεις εύρους ζώνης είναι χαµηλές, ο ρυθµός µετάδοσης προσαυξάνεται ώστε να αποσταλούν και µελλοντικά frames, προκειµένου να µην αυξηθούν πολύ οι µελλοντικές απαιτήσεις για εύρος ζώνης. Η διαδικασία αυτή προϋποθέτει ότι τα εν λόγω µελλοντικά δεδοµένα είναι διαθέσιµα. Είναι αναγκαία δηλαδή η ύπαρξη κάποιας χρονικής υστέρησης της αναπαραγωγής σε σχέση µε την εγγραφή, µε ακραίο παράδειγµα το πλήρως προεγγεγραµένο βίντεο. Επιπλέον, αφού τα δεδοµένα που στέλνονται εκ των προτέρων δεν «καταναλώνονται» από την εφαρµογή του χρήστη αµέσως, είναι αναγκαία η ύπαρξη ταµιευτήρα (buffer) προκειµένου να αποθηκεύονται. Είναι προφανές ότι το µέγεθος του buffer περιορίζει το ποσό της πληροφορίας που µπορεί να σταλεί εκ των προτέρων. Ένας επιπρόσθετος περιορισµός που τίθεται στον τρόπο µε τον οποίο ο εξυπηρετητής πρέπει να στέλνει την πληροφορία σχετίζεται µε τον ρυθµό Σχήµα 1-2: Παράδειγµα αποδεκτού και µη αποδεκτού τρόπου µετάδοσης στις τεχνικές εξοµάλυνσης 8

17 «κατανάλωσης» του video κατά την αναπαραγωγή στον χρήστη. Ο εξυπηρετητής, έχοντας το βίντεο αποθηκευµένο, γνωρίζει πότε ακολουθούν frames µεγάλου µεγέθους (και εποµένως πότε θα χρειαστεί µεγάλο εύρος ζώνης) και γνωρίζοντας το µέγεθος του ταµιευτήρα του πελάτη, µπορεί να υπολογίσει ένα πρόγραµµα µετάδοσης των δεδοµένων ώστε και οι περιορισµοί που τίθενται από το µέγεθος του buffer του πελάτη και από τον ρυθµό «κατανάλωσης» των δεδοµένων να µην παραβιάζονται (Σχήµα 1-2). Οι αλγόριθµοι εξοµάλυνσης προσπαθούν να ορίσουν ένα πρόγραµµα µετάδοσης πληροφορίας, το οποίο να εξασφαλίζει ότι κάθε χρονική στιγµή η ποσότητα δεδοµένων που έχει αποσταλεί από τον εξυπηρετητή βρίσκεται ανάµεσα στα προαναφερθέντα όρια, επιτυγχάνοντας παράλληλα κατά το δυνατόν µικρότερη µεταβλητότητα στο απαιτούµενο εύρος ζώνης. Το αποτέλεσµα της εξοµάλυνσης ενός βίντεο απεικονίζεται στα σχήµατα Σχήµα 1-3 και Σχήµα Ο ρόλος του caching στους αλγορίθµους εξοµάλυνσης Στην [4], προτείνεται η χρησιµοποίηση του caching, ως µια τεχνική που βοηθά και συµπληρώνει την εξοµαλυνµένη µετάδοση του βίντεο και είναι µια από τις πρώτες εργασίες στις οποίες προτείνεται το «µερικό» caching κατά το οποίο ένα τµήµα µόνο του ζητούµενο αντικειµένου αποθηκεύεται στην cache. Σύµφωνα µε την εργασία αυτή, τα πρώτα (κατά χρονική σειρά από την αρχή του βίντεο) frames του βίντεο, (ή αλλιώς το πρόθεµα (prefix)) αποθηκεύονται στην cache. Η αποθήκευση του προθέµατος στην cache εµφανίζει δύο σηµαντικά πλεονεκτήµατα. Το πρώτο είναι ότι καθιστά δυνατή την άµεση απόκριση της cache στις αιτήσεις των χρηστών, µε την µετάδοση του Σχήµα 1-3: Παράδειγµα µη εξοµαλυνµένου βίντεο (ταινία δράσης). Σχήµα 1-4: Παράδειγµα εξοµάλυνσης του βίντεο του διπλανού σχήµατος, σύµφωνα µε την τεχνική εξοµάλυνσης του [21] 9

18 προθέµατος, ενώ παράλληλα ξεκινά η διαδικασία της µετάδοση του υπόλοιπου τµήµατος από τον αποµακρυσµένο εξυπηρετητή. Το δεύτερο πλεονέκτηµα είναι ότι εξασφαλίζει στους αλγόριθµους εξοµάλυνσης αρκετό χρονικό περιθώριο ώστε να πετύχουν µεγαλύτερη εξοµάλυνση κατά την µετάδοση του υπόλοιπου τµήµατος του βίντεο που βρίσκεται στον κύριο εξυπηρετητή. Σχήµα 1-5: ιαχωρισµός του βίντεο σε τµήµα υψηλής µεταβλητότητας και τµήµα χαµηλής µεταβλητότητας του ρυθµού Με βάση τον ίδιο συλλογισµό της οµαλής µετάδοσης του βίντεο, στην [5], προτείνεται η διαίρεση του βίντεο (κατά «οριζόντιο» τρόπο) σε δύο τµήµατα. Το τµήµα υψηλής µεταβλητότητας και το τµήµα χαµηλής µεταβλητότητας του ρυθµού όπως φαίνεται στο Σχήµα 1-5. Στο πρώτο τµήµα, ανήκουν τα δεδοµένα των frames που ξεπερνούν ένα συγκεκριµένο µέγεθος ενώ στο δεύτερο τµήµα τα υπόλοιπα. Το πρώτο τµήµα που είναι το τµήµα υψηλής µεταβλητότητας ρυθµού αποθηκεύεται στην cache ενώ το δεύτερο παραµένει στο κύριο εξυπηρετητή. Κατά αυτό τον τρόπο, η µετάδοση ενός βίντεο από τον εξυπηρετητή προς τους χρήστες, γίνεται µε µικρής µεταβλητότητας ρυθµό οπότε επιτυγχάνεται και καλύτερη εκµετάλλευση του δεσµευµένου εύρους ζώνης. Και οι δύο παραπάνω εργασίες προτείνουν την προ-αποθήκευση µέρους του βίντεο στην cache, και προσπαθούν να αντιµετωπίσουν το πρόβληµα που παρουσιάζεται µε το βίντεο λόγω της µεταβλητότητας του ρυθµού που προκύπτει από την κωδικοποίηση µεταβλητού ρυθµού Η οµαδική µετάδοση ροών βίντεο Η οµαδική µετάδοση των δεδοµένων (multicasting) είναι µια ακόµα ευρέως χρησιµοποιούµενη τεχνική για την µετάδοση του βίντεο. Η βασική ιδέα είναι η µετάδοση των δεδοµένων από τον εξυπηρετητή προς όλους τους χρήστες µε µια ροή δεδοµένων 10

19 για κάθε διαφορετικό αντικείµενο (π.χ. βίντεο) και όχι µε µια ροή στον κάθε χρήστη ξεχωριστά. Με την µέθοδο αυτή οι χρήστες συντονίζονται να λαµβάνουν πακέτα µε διεύθυνση προορισµού µια συγκεκριµένη διεύθυνση (multicast address) και όχι µόνο την δική τους προσωπική διεύθυνση. Η µετάδοση των δεδοµένων επαναλαµβάνεται περιοδικά κατά τακτά χρονικά διαστήµατα, όταν ένας επαρκής αριθµός χρηστών που έχει κάνει αίτηση για το ίδιο βίντεο έχει συµπληρωθεί. Τα πλεονεκτήµατα της οµαδικής µετάδοσης είναι αρκετά. Ένα πλεονέκτηµα είναι ότι µειώνεται σηµαντικά η ποσότητα των δεδοµένων που µεταδίδονται από τον κύριο εξυπηρετητή και εποµένως η «κατανάλωση» εύρους ζώνης. Ένα άλλο πλεονέκτηµα είναι η µείωση του φόρτου του εξυπηρετητή καθώς µε την οµαδική µετάδοση µειώνεται ο αριθµός των αιτήσεων που εξυπηρετεί ή µε άλλα λόγια αυξάνεται η δυνατότητά του εξυπηρετητή να εξυπηρετήσει επιπλέον αιτήσεις. Το κυριότερο µειονέκτηµα της οµαδικής µετάδοσης είναι η χρονική καθυστέρηση που υφίστανται οι χρήστες καθώς πρέπει να περιµένουν την δηµιουργία οµάδων δηλαδή την άφιξη επιπλέον αιτήσεων στον εξυπηρετητή. Για την δηµιουργία των οµάδων και τον προγραµµατισµό των µεταδόσεων έχουν υπάρξει διάφορες προτάσεις [19],[20],[25],[26] Ο ρόλος του caching στην οµαδική µετάδοση ροών βίντεο ιάφορες τεχνικές caching έχουν προταθεί σε συνδυασµό µε την τεχνική της οµαδικής µετάδοσης συνεισφέροντας στην διαδικασία δηµιουργίας των οµάδων αλλά και στην αντιµετώπιση του µειονεκτήµατος της χρονικής καθυστέρησης που υφίστανται οι χρήστες προκειµένου να συγκεντρωθούν αρκετές αιτήσεις για την δηµιουργία οµάδων. Στις [6],[7] προτείνεται η αποθήκευση του προθέµατος των βίντεο στην cache. Η παρουσία του προθέµατος στην περίπτωση αυτή εµφανίζει τα ακόλουθα πλεονεκτήµατα. Όπως και στην περίπτωση των αλγορίθµων που προτάθηκαν σε συνδυασµό µε τις τεχνικές εξοµάλυνσης, καθίσταται δυνατή η άµεση απόκριση της cache στις αιτήσεις των χρηστών. Ένα δεύτερο πλεονέκτηµα είναι η εξοικονόµηση χρόνου (του χρόνου που χρειάζεται για την «κατανάλωση» του προθέµατος από τον πρώτο χρήστη) για την συγκέντρωση επιπλέον αιτήσεων στον εξυπηρετητή και τον προγραµµατισµό µιας µετάδοσης των υπόλοιπων (εκτός προθέµατος) δεδοµένων προς όλους του χρήστες. Είναι προφανές οι χρήστες θα πρέπει να έχουν την ικανότητα να λαµβάνουν παράλληλα το πρόθεµα από την cache και τα υπόλοιπα δεδοµένα από την οµαδική µετάδοση και εποµένως θα πρέπει να έχουν κάποιο ταµιευτήρα για να αποθηκεύουν τα δεδοµένα από την οµαδική µετάδοση που λαµβάνουν νωρίτερα από την χρονική στιγµή που απαιτείται. 11

20 Συνένωση αιτήσεων µέσω Caching Μια άλλη κατηγορία τεχνικών, χρησιµοποιεί την cache για συνένωση των αιτήσεων των χρηστών και την µετάδοση µια ροής δεδοµένων από τον εξυπηρετητή ακόµα και στις περιπτώσεις που η οµαδική µετάδοση δεν είναι δυνατή. Στην κατηγορία αυτή ανήκουν οι εργασίες [8],[9] στις οποίες η συνένωση των αιτήσεων γίνεται ως εξής. Την πρώτη φορά που γίνεται µια αίτηση για κάποιο συγκεκριµένο βίντεο από έναν χρήστη και καθώς τα δεδοµένα µεταδίδονται από την εξυπηρετητή µέσω της cache, παραµένουν για κάποιο συγκεκριµένο χρονικό διάστηµα µέσα σ αυτή και µετά διαγράφονται. Με αυτό τον τρόπο δηµιουργείται ένα κυλιόµενο παράθυρο από δεδοµένα για το συγκεκριµένο βίντεο µέσα στην cache. Από αυτό το κυλιόµενο παράθυρο, µπορούν να εξυπηρετηθούν όλοι οι χρήστες οι οποίοι ζήτησαν το ίδιο βίντεο µε χρονική διαφορά από τον πρώτο, όσο η διάρκεια του παραθύρου, χωρίς να υποστούν κάποια καθυστέρηση και χωρίς να χρειαστεί η δηµιουργία µιας νέας ροής δεδοµένων από τον εξυπηρετητή προς τον βοηθητικό εξυπηρετητή. Όταν µια φτάσει µια αίτηση µετά την πάροδο του χρονικού διαστήµατος του παραθύρου, δεν µπορεί να εξυπηρετηθεί από το ίδιο παράθυρο και έτσι η αίτηση προωθείται στον κύριο εξυπηρετητή και ένα νέο παράθυρο δεδοµένων δηµιουργείται στην cache. Ορισµένες παραλλαγές της τεχνικής αυτής όπως η [9] προτείνουν λύσεις για την συνένωση αιτήσεων µε χρονική διαφορά µεγαλύτερη από το µέγεθος του παράθυρου Το Caching για δεδοµένα βίντεο Οι υψηλές απαιτήσεις του βίντεο σε εύρος ζώνης καθιστούν το caching ιδιαιτέρως σηµαντικό για αυτή την κατηγορία δεδοµένων. Σε ότι αφορά το caching, το χαρακτηριστικό που καθιστά το βίντεο διαφορετικό από δεδοµένα όπως το κείµενο και οι εικόνες, είναι το µεγάλο µέγεθός του. Λόγω του µεγάλου µεγέθους, η αποθήκευση ενός µικρού αριθµού βίντεο σε µια cache, εξαντλεί την χωρητικότητά της και µειώνει δραστικά την απόδοσή της. Για τη διαχείριση των δεδοµένων τύπου βίντεο από τις caches έχουν προταθεί στην βιβλιογραφία µια πληθώρα τεχνικών. Οι πρώτες εργασίες, αντιµετώπισαν το βίντεο µε τρόπο αντίστοιχο µε τα δεδοµένα κειµένου και εικόνας, δηλαδή είτε αποθηκεύοντάς τα πλήρως στην cache, είτε µη αποθηκεύοντας τα [1],[2],[3],[4]. Αρκετές από τις µεταγενέστερες εργασίες έλαβαν υπόψη τους τα ιδιαίτερα χαρακτηριστικά του βίντεο. Το µεγάλο µέγεθος του βίντεο ενέπνευσε αρκετές πρόσφατες εργασίες στην περιοχή του caching, στις οποίες προτάθηκε το µερικό (partial) caching. Το µερικό caching, συνδυάστηκε µε άλλες τεχνικές, όπως η εξοµάλυνση και η οµαδική 12

21 µετάδοση που περιγράφηκαν στην προηγούµενη υπο-ενότητα. Κάποιες άλλες εργασίες εξέτασαν το caching αποµονωµένα. Στις [10][11], προτείνεται η αξιοποίηση της ιδιαίτερης δοµής του βίντεο. Τα δεδοµένα ενός βίντεο δοµούνται κατά την κωδικοποίησή του σε frames καθένα από τα οποία αντιστοιχεί σε συγκεκριµένη διάρκεια αναπαραγωγής (0.033 έως 0.04 δευτερόλεπτα) ενώ ταυτόχρονα µπορούν να δοµηθούν και σε επίπεδα. Σύµφωνα µε την κωδικοποίηση κατά επίπεδα, το χαµηλότερο επίπεδο µπορεί να αναπαραχθεί στον αποκωδικοποιητή ακόµα και χωρίς την παρουσία των ανώτερων επιπέδων δίνοντας µια συγκεκριµένη ποιότητα εικόνας (η ποιότητα της αναπαραγόµενης εικόνας σχετίζεται µε τον ρυθµό που αντιστοιχεί στο συγκεκριµένο επίπεδο και συνήθως αντιστοιχεί στην ανάλυση των επιµέρους frame) ενώ η παρουσία των ανώτερων επιπέδων βελτιώνει την ανάλυση των επιµέρους frames και συνεπώς ολόκληρης της αναπαραγόµενης εικόνας. Στην [10] ορίζεται µέσω µιας διαδικασίας βελτιστοποίησης ο αριθµός των επιπέδων για κάθε βίντεο που πρέπει να είναι αποθηκευµένος στην cache, δεδοµένου ότι δεν είναι δυνατόν να αποθηκευτούν ολόκληρα ένας µεγάλος αριθµός από βίντεο (λόγω του µεγάλου µεγέθους τους). Ουσιαστικά πρόκειται για µια άλλη εκδοχή του «µερικού» caching που προτείνεται και στις [4]-[9] µόνο που στην περίπτωση αυτή δεν αποθηκεύεται στην cache το πρόθεµα (ή ένα παράθυρο), αλλά τα κατώτερα επίπεδα ολόκληρου του βίντεο. Στην [11], εξετάζεται το πρόβληµα του ορισµού των επιπέδων που πρέπει να βρίσκονται στην cache για κάθε ξεχωριστό frame του βίντεο έτσι ώστε να επιτυγχάνεται η µέγιστη δυνατή ποιότητα κατά την λήψη. Η ποιότητα στην περίπτωση αυτή ορίζεται από την παρουσία του µέγιστου αριθµού επιπέδων σε συνδυασµό µε την µικρή µεταβλητότητα της ποιότητας λήψης στον παραλήπτη. Όλες οι εργασίες για βίντεο-caching που έχουµε αναφέρει µέχρι τώρα, είναι σχεδιασµένες για διαφορετικό περιβάλλον λειτουργίας η κάθε µια αλλά καµία από αυτές (εκτός από την [11]) δεν συνάδει µε την δυναµική φύση του caching, σύµφωνα µε την οποία τα περιεχόµενα της cache διαµορφώνονται µε τρόπο αυτόµατο σύµφωνα µε την ζήτηση (δηµοτικότητα) του κάθε αντικειµένου. Προς αυτή την κατεύθυνση έχει προταθεί στην [12] µια ακόµα εκδοχή του «µερικού» caching. Σύµφωνα µε την εργασία αυτή, ένα τµήµα του βίντεο αποθηκεύεται αρχικά στην cache, και στην συνέχεια κάποιος αλγόριθµος αντικατάστασης αναλαµβάνει την διαχείριση του αποθηκευτικού χώρου της cache. Στην εργασία αυτή κάθε βίντεο χωρίζεται µε αυστηρό τρόπο σε συγκεκριµένα τµήµατα εκθετικά αυξανόµενου µεγέθους. Σε αντίθεση µε τους παραδοσιακούς αλγόριθµους αντικατάστασης που αντικαθιστούν 13

22 ολόκληρα αντικείµενα, στην [12] η µονάδα αντικατάστασης ορίζεται σύµφωνα µε το µέγεθος των τµηµάτων του βίντεο. Ο αλγόριθµος αντικατάστασης που χρησιµοποιείται είναι µια παραλλαγή της LRU που λαµβάνει υπόψη της σε κάθε αντικατάσταση και την απόσταση κάθε τµήµατος από την αρχή του βίντεο. Η παραπάνω εργασία είναι και η πιο άµεσα σχετιζόµενη µε την παρούσα εργασία. Στην παρούσα εργασία µελετάµε την επίδραση της µονάδας αντικατάστασης της cache, για την περίπτωση του βίντεο και προτείνουµε διάφορους τρόπους τµηµατοποίησης των βίντεο και ορισµού της µονάδας αντικατάστασης. Η εργασία αυτή της οποία µια πρώιµη έκδοση παρουσιάστηκε στο [13] διαφέρει από τις µέχρι τώρα σχετικές εργασίες στα εξής σηµεία: (α) Παρουσιάζει δύο νέες γενικευµένες µεθόδους τµηµατοποίησης του βίντεο και ορισµού του µεγέθους των τµηµάτων (και ουσιαστικά της µονάδας αντικατάστασης) που χρησιµοποιούνται στο «µερικό» caching. (β) Οι µέθοδοι τµηµατοποίησης που παρουσιάζονται, δεν εξαρτώνται από κάποιο εξειδικευµένο αλγόριθµο αντικατάστασης των περιεχοµένων µιας cache και εποµένως µπορούν να συνδυαστούν µε οποιοδήποτε από τους γνωστούς αλγόριθµους αντικατάστασης. Η προσέγγιση αυτή βοηθά στην εξαγωγή συµπερασµάτων σχετικά µε την επίδραση της µονάδας αντικατάστασης στην απόδοση του συστήµατος. (γ) Λαµβάνονται υπόψη πρόσθετα θέµατα απόδοσης της cache, όπως ο χρόνος προσαρµογής των περιεχοµένων στην µεταβαλλόµενη ζήτηση και εξετάζεται σε βάθος το trade-off που υπάρχει µεταξύ του χρόνου προσαρµογής και του ποσοστού επιτυχίας (hit ratio). (δ) Εξετάζεται η απόδοση του συστήµατος σε περιβάλλον στο οποίο το κόστος πρόσβασης σον κύριο εξυπηρετητή είναι διαφορετικό για κάθε βίντεο και προτείνονται µετατροπές των προτεινόµενων αλγορίθµων για το περιβάλλον αυτό. (στ) Παρουσιάζεται µια ποιοτική σύγκριση των προτεινόµενων αλγορίθµων που δίνουν την δυνατότητα για την εξαγωγή χρήσιµων συµπερασµάτων σχετικά µε την τµηµατοποίηση και το µέγεθος της µονάδας αντικατάσταση. 14

23 Κεφάλαιο 2 «Μερικό» Caching για δεδοµένα µεγάλου µεγέθους 2.1 Έναυσµα Έχει ήδη αναφερθεί ότι καθώς ο αποθηκευτικός χώρος των caches είναι πεπερασµένος (όταν πρόκειται για βίντεο, λόγω του µεγάλου µεγέθους του, µπορεί να θωρηθεί µικρός) δεν είναι δυνατόν να αποθηκεύονται στην cache όλα τα αντικείµενα που ζητούνται από τους χρήστες. Η απόδοση µιας cache, συνήθως αντικατοπτρίζεται από το ποσοστό των αιτήσεων που µπορούν να εξυπηρετηθούν από αυτήν. Το ποσοστό αυτό είναι γνωστότερο ως ποσοστό επιτυχίας της cache, ή µε τον όρο hit-ratio. Προκειµένου να επιτύχουν υψηλό ποσοστό επιτυχίας, οι αλγόριθµοι αντικατάστασης χρησιµοποιούν την πρόσφατη ιστορία των αιτήσεων για να διαµορφώσουν κατάλληλα το περιεχόµενό της cache. Αν θεωρήσουµε την διαδικασία άφιξης των αιτήσεων σαν µια στατική, χρονικά αµετάβλητη διαδικασία, τότε η πιθανότητα ζήτησης ενός συγκεκριµένου αντικειµένου 15

24 µπορεί να προσεγγιστεί σε ικανοποιητικό βαθµό, απαριθµώντας τις αιτήσεις για το συγκεκριµένο αντικείµενο για ένα µακρύ χρονικό διάστηµα. Οι αλγόριθµοι αντικατάστασης, µπορούν να προσεγγίσουν αρκετά ικανοποιητικά αυτή την πιθανότητα µε ευρετικές (heuristics) µεθόδους χωρίς να χρειάζεται για κάθε αντικείµενο να απαριθµούν τις αιτήσεις του. Ένας δηµοφιλής αλγόριθµος αντικατάστασης είναι ο LRU (least recently used) σύµφωνα µε τον οποίο, όταν µια cache είναι γεµάτη και ένα νέο αντικείµενο πρέπει να αποθηκευτεί σε αυτήν, επιλέγεται για διαγραφή το αντικείµενο που ζητήθηκε πιο µακριά στο παρελθόν ανάµεσα σε αυτά που υπάρχουν αποθηκευµένα. Ας υποθέσουµε ότι µπορούµε κοιτάζοντας την ιστορία των αιτήσεων, να προσδιορίσουµε προσεγγιστικά την πιθανότητα ζήτησης ενός αντικειµένου. Μπορούµε να θεωρήσουµε, ότι η άφιξη µια αίτησης αλλάζει ελάχιστα την ιστορία των αιτήσεων και εποµένως επηρεάζει ελάχιστα την πιθανότητα ζήτησης του συγκεκριµένου αντικειµένου. Στην περίπτωση δεδοµένων κειµένου ή ακόµα και µικρού µεγέθους εικόνων, µπορούµε επίσης να θεωρήσουµε ότι µια ενδεχόµενη αντικατάσταση ενός παλαιού αντικειµένου για να αποθηκευτεί το αντικείµενο που µόλις ζητήθηκε, προκαλεί µια επίσης µικρή µεταβολή των περιεχοµένων της cache (που επίσης ονοµάζουµε και κατάσταση της cache). ηλαδή, µια µεταβολή στην ιστορία των αιτήσεων και εποµένως στην πιθανότητα ζήτησης των αντικειµένων προκαλεί µια αντιστοίχου µεγέθους µεταβολή στα περιεχόµενα της cache, πράγµα που είναι επιθυµητό, καθώς θέλουµε πάντα τα περιεχόµενα της cache να ανταποκρίνονται στην δηµοτικότητα των αντικειµένων. Στην περίπτωση αντικειµένων µεγάλου µεγέθους όπως για παράδειγµα το βίντεο, δεν ισχύει η παραπάνω αναλογία. Λόγω του µεγάλου µεγέθους των αντικειµένων αυτών, µπορούµε να υποθέσουµε ότι ακόµα και µια µεγάλης χωρητικότητας cache θα µπορούσε να χωρέσει λίγα αντικείµενα. Έτσι η αντικατάσταση ενός παλαιού αντικειµένου µε ένα νεότερο θα προκαλούσε µια µεταβολή στα περιεχόµενα της cache, πολύ µεγαλύτερη από αυτή που προκαλείται στην πιθανότητα ζήτησης των αντικειµένων. Η παραπάνω συσχέτιση της απόδοσης µιας cache - εκφραζόµενη σαν το ποσοστό επιτυχίας εξυπηρέτησης των αιτήσεων - µε το µέγεθος των αντικειµένων, αποτέλεσε στην εργασία αυτή το έναυσµα για την µελέτη της επίδρασης, της µονάδας αντικατάστασης στο caching µεγάλων αντικειµένων όπως αυτά του βίντεο. Μια πρώτη ένδειξη ότι η µείωση του µεγέθους της µονάδας αντικατάστασης µπορεί να οδηγήσει στην αύξηση του ποσοστού επιτυχίας µιας cache, δίνεται από το ακόλουθο απλουστευµένο παράδειγµα. 16

25 Σχήµα 2-1: Το διάγραµµα καταστάσεων των περιεχοµένων της cache για το πρώτο σενάριο λειτουργίας Σχήµα 2-2: Το διάγραµµα καταστάσεων των περιεχοµένων της cache για το δεύτερο σενάριο λειτουργίας Παράδειγµα Ας υποθέσουµε ότι δύο βίντεο (θα συµβολίζονται v 1 και v 2 ), ανταγωνίζονται για µια θέση σε µια cache, που µπορεί να αποθηκεύσει δεδοµένα µεγέθους όσο το µέγεθος ενός µόνο βίντεο (θεωρούµε ότι τα δύο βίντεο έχουν το ίδιο µέγεθος). Ας συµβολίσουµε µε p 1 (p 2 ) την πιθανότητα να ζητηθεί το βίντεο v 1 (v 2 ). Τέλος ας θεωρήσουµε ότι ένας µηχανισµός αντικατάστασης χρησιµοποιείται για να ελευθερώσει χώρο στην cache, όταν αυτό είναι απαραίτητο. Θα πρέπει να σηµειώσουµε ότι εφόσον στο απλουστευµένο αυτό παράδειγµα, υπάρχουν δύο µόνο αντικείµενα που ανταγωνίζονται, ο αλγόριθµος αντικατάστασης πάντα επιλέγει να σβήσει από την cache, αυτό το οποίο δεν ζητείται. Έτσι όταν γίνεται µια αίτηση για το v 1 και στην cache υπάρχει το v 2 (είτε ολόκληρο είτε κάποια τµήµατα), τότε το v 2 σβήνεται από την cache και αντιστρόφως. Μια επιπλέον παραδοχή που κάνουµε για να απλουστεύσουµε ακόµα περισσότερο την διαδικασία, είναι ότι το χρονικό διάστηµα που µεσολαβεί µεταξύ δύο διαδοχικών αιτήσεων είναι µεγαλύτερο από το χρόνο που χρειάζεται για να µεταδοθεί το βίντεο στον χρήστη που το ζήτησε. Με βάση τις παραπάνω υποθέσεις, µελετάµε δύο σενάρια. Σύµφωνα µε το πρώτο σενάριο, η µονάδα αντικατάστασης είναι ένα ολόκληρο βίντεο ενώ σύµφωνα µε το δεύτερο σενάριο, η µονάδα αντικατάστασης είναι ίση µε το µέγεθος µισού βίντεο. Και στις δύο περιπτώσεις η κατάσταση της cache (τα περιεχόµενά της), µπορεί να περιγραφεί µε µια αλυσίδα Markov της οποίας το διάγραµµα καταστάσεων για κάθε σενάριο απεικονίζεται στα σχήµατασχήµα 2-1 καισχήµα 2-2. Στην κατάσταση 1 το βίντεο v 1 βρίσκεται στην cache, στην κατάσταση 2 το βίντεο v 2 βρίσκεται στην cache, ενώ στην κατάσταση ½ (που είναι δυνατή µόνο για το δεύτερο σενάριο) στην cache βρίσκεται µισό από κάθε βίντεο. Ας θεωρήσουµε ότι και για τα δύο σενάρια, το κόστος µια πλήρους αποτυχίας (όταν δηλαδή το βίντεο που ζητείται απουσιάζει από την cache) είναι 1, ενώ το κόστος µιας 17

26 18 µερικής αποτυχίας (όταν µόνο το µισό από το βίντεο που ζητείται βρίσκεται στην cache) είναι 0.5. Όταν το βίντεο που ζητείται βρίσκεται ολόκληρο στην cache, τότε λέµε ότι έχουµε επιτυχία και δεν υπάρχει κάποιο κόστος στην περίπτωση αυτή. Οι πιθανότητες µόνιµης κατάστασης για κάθε κατάσταση στα δύο σενάρια είναι Για το σενάριο 1: = = p p π π Για το σενάριο 2: = = = / p p p p p p p p p p π π π εδοµένων των π i το µέσω κόστος για κάθε περίπτωση δίνεται από την σχέση: j i j i i i i c P Cost,,, = π,όπου π i είναι η πιθανότητα µόνιµης κατάστασης για την κατάσταση i, P i,j είναι η πιθανότητα µετάβασης από την κατάσταση i στην κατάσταση j, και c i,j είναι το κόστος που σχετίζεται µε την µετάβαση από την κατάσταση i στην κατάσταση j. Το κόστος που προκύπτει για τα σενάρια 1 και 2 αντιστοίχως είναι: p p C = και ) 2( p p p p C = για τα οποία όπως φαίνεται και στο Σχήµα 2-3 ισχύει ότι C 1 C 2, p 1, p 2, p 1 +p 2 =1. Η ισότητα ισχύει στις περιπτώσεις για τις οποίες η πιθανότητα p 1 παίρνει τις τιµές 0, 0.5 και 1.

27 Σχήµα 2-3: Το κόστος λόγω των αποτυχιών της cache για τα σενάρια 1 (κόστος C 1 ) και 2 (κόστος C 2 ) 2.2 Αρχιτεκτονική του συστήµατος Στο Σχήµα 2-5 απεικονίζεται η αρχιτεκτονική ενός συστήµατος διανοµής βίντεο µέσω του διαδικτύου. Θεωρούµε ότι τα βίντεο είναι αρχικά αποθηκευµένα σε αποµακρυσµένους εξυπηρετητές. Ένας βοηθητικός εξυπηρετητής είναι εγκατεστηµένος σε µια περιοχή κοντά σε µια οµάδα χρηστών. Υποθέτουµε ότι µεταξύ του βοηθητικού εξυπηρετητή και των χρηστών υπάρχει διαθέσιµο επαρκές εύρος ζώνης για να υποστηριχτούν υπηρεσίες που απαιτούν την µετάδοση βίντεο υψηλού ρυθµού και ότι το πρόβληµα εντοπίζεται στην σύνδεση του βοηθητικού εξυπηρετητή µε τους αποµακρυσµένους εξυπηρετητές µέσω του διαδικτύου. Ποιο συγκεκριµένα, θεωρούµε ότι κάθε πρόσβαση στους εξυπηρετητές για την µετάδοση βίντεο κοστίζει σε εύρος ζώνης, το οποίο θεωρείται ακριβός πόρος για το εσωτερικό του δικτύου. Για το σκοπό αυτό, ο βοηθητικός εξυπηρετητής, παρεµβάλλεται στις αιτήσεις των χρηστών καθώς και στις απαντήσεις των αποµακρυσµένων εξυπηρετητών. Αποθηκεύοντας µε κατάλληλο τρόπο τα βίντεο που κατά την µετάδοσή τους προς τους χρήστες περνάνε µέσα από αυτόν, µπορεί να εξυπηρετήσει µελλοντικές αιτήσεις των χρηστών δρώντας ο ίδιος σαν εξυπηρετητής. Κατ αυτόν τον τρόπο αποφεύγονται ορισµένες από τις δαπανηρές προσβάσεις στους αποµακρυσµένους εξυπηρετητές. Στο Σχήµα 2-4 απεικονίζεται η εσωτερική δοµή του βοηθητικού εξυπηρετητή, όπως αυτή θεωρείται στην παρούσα εργασία. Όπως φαίνεται και στο σχήµα, αποτελείται από δύο κύριες λειτουργικές οντότητες. Τον «διαχειριστή αιτήσεων» και τον «διαχειριστή της αποθηκευτικής µονάδας» δηλαδή τον διαχειριστή της cache. 19

28 Σχήµα 2-5: Η αρχιτεκτονική του συστήµατος διανοµής βίντεο µέσω του διαδικτύου. Ο proxy server παρεµβάλλεται στις αιτήσεις των χρηστών και λειτουργεί ταυτόχρονα και σαν εξυπηρετητής (ως προς τους χρήστες) και σαν χρήστης (ως προς τους αποµακρυσµένους εξυπηρετητές) Η οντότητα διαχείρισης των αιτήσεων Ο διαχειριστής αιτήσεων είναι υπεύθυνος για τον κατάλληλο συγχρονισµό των αιτήσεων προς τους κύριους εξυπηρετητές και των απαντήσεων προς τους χρήστες έτσι ώστε να εξασφαλίζεται η έγκαιρη µετάδοση των δεδοµένων και η αδιάκοπη αναπαραγωγή του βίντεο στους τελικούς χρήστες. εδοµένου ότι σε κάθε αίτηση µπορεί ένα τµήµα µόνο του ζητούµενου βίντεο να βρίσκεται στην cache, ο διαχειριστής αιτήσεων χρονοπρογραµµατίζει την προώθηση µιας αίτησης προς τον κύριο εξυπηρετητή για το κοµµάτι που υπολείπεται έτσι ώστε να φτάσει την κατάλληλη στιγµή (τη στιγµή δηλαδή που το κοµµάτι που βρίσκεται ήδη στην cache έχει «καταναλωθεί» από τους χρήστες). Επιπλέον, ο διαχειριστής αιτήσεων µπορεί να οµαδοποιεί (λαµβάνοντας υπ όψην του και θέµατα συγχρονισµού) αιτήσεις προς τους εξυπηρετητές για το ίδιο βίντεο που γίνονται σε κοντινά χρονικά διαστήµατα, έτσι ώστε να µειώσει τον συνολικό αριθµό µεταδόσεων Σχήµα 2-4: Η εσωτερική δοµή ενός proxy-server. Η οντότητα διαχείρισης αιτήσεων (request manager) και η οντότητα διαχείρισης του αποθηκευτικού χώρου της cache (cache manager). 20

29 από τους εξυπηρετητές. Αυτή η οµαδοποίηση είναι µια τεχνική που έχει προταθεί σε αρκετές εργασίες [19],[20] και είναι γνωστή µε τον όρο batching. Στην παρούσα εργασία θα επικεντρώσουµε την µελέτη µας στην λειτουργία του διαχειριστή της cache. Για το λόγο αυτό, θα θεωρήσουµε την ύπαρξη ενός απλού διαχειριστή αιτήσεων, ο οποίος χρονοπρογραµµατίζει την µετάδοση των τµηµάτων του ζητούµενου βίντεο που βρίσκονται στην cache αµέσως, και προωθεί την αίτηση για τα υπολειπόµενα τµήµατα (εάν υπάρχουν) στον κύριο εξυπηρετητή την ίδια χρονική στιγµή Η οντότητα διαχείρισης του αποθηκευτικού χώρου της cache Η ευθύνη του διαχειριστή της cache, είναι η διαχείριση του αποθηκευτικού χώρου του βοηθητικού εξυπηρετητή, δηλαδή η κατανοµή του χώρου στα διαφορετικά αντικείµενα. Για την ακρίβεια, καθώς ο βοηθητικός εξυπηρετητής παρεµβάλλεται στην µετάδοση ενός βίντεο από τους αποµακρυσµένους εξυπηρετητές προς τους χρήστες, καλείται να πάρει τις εξής αποφάσεις: (α) Πόσο χώρο πρέπει να αφιερώσει για να αποθηκεύσει το µεταδιδόµενο βίντεο (δεδοµένου ότι δεν υπάρχει ολόκληρο στην cache), (β) Ποια συγκεκριµένα κοµµάτια (συνολικού µεγέθους ίσο µε αυτό του χώρου που έχει αποφασίσει στο (α)) θα αποθηκεύσει, και (γ) Ποια κοµµάτια και από ποιο βίντεο θα πρέπει να διαγραφούν από την cache, προκειµένου να ελευθερωθεί αρκετός χώρος για τα νέα δεδοµένα. Το τρίτο ζήτηµα ουσιαστικά αφορά την πολιτική αντικατάστασης που εφαρµόζεται στην cache. Στα παραδοσιακά συστήµατα caching που αφορούν συνήθως αντικείµενα τύπου κειµένου ή εικόνων, όπου δεν υπάρχει τµηµατοποίηση των αντικειµένων, η λειτουργία της οντότητας διαχείρισης της cache (όπως αυτή περιγράφεται παραπάνω), περιορίζεται στην επιλογή του κατάλληλου αλγορίθµου αντικατάστασης και δεν περιλαµβάνει αποφάσεις που να αφορούν στα (α) και (β). Αντίθετα, στην εργασία αυτή θα ασχοληθούµε κυρίως µε τα δύο αυτά θέµατα καθώς µελετάµε την επίδραση της τµηµατοποίησης και της µονάδας αντικατάστασης. Το πρώτο ζήτηµα, που αφορά την απόφαση για το χώρο που αφιερώνεται σε κάθε µεταδιδόµενο βίντεο που δεν βρίσκεται ολόκληρο στην cache - και εποµένως απαιτείται η µεταφορά ολόκληρου ή µέρος αυτού από τον κύριο εξυπηρετητή ορίζει την µονάδα αντικατάστασης και αναµένεται να προκαλεί σηµαντικές επιπτώσεις στην απόδοση του συστήµατος, κυρίως όσο αφορά στο ποσοστό επιτυχίας της cache αλλά και στην ικανότητά της να προσαρµόζει τα περιεχόµενά της σε αλλαγές της ζήτησης. 21

30 Το δεύτερο ζήτηµα, που αφορά την επιλογή συγκεκριµένων τµηµάτων δεδοµένου (από το (α) συνολικού µεγέθους, δεν επηρεάζει την απόδοση της cache, όσον αφορά το ποσοστό επιτυχίας, καθώς αυτό εξαρτάται µόνο από το µέγεθος των δεδοµένων που βρίσκονται στην cache µε κάθε αίτηση, αλλά επηρεάζει την ποιότητα ή την καθυστέρηση που παρατηρείται από την µεριά των χρηστών κατά την λήψη ενός συγκεκριµένου βίντεο. Στην περίπτωση που χρησιµοποιείται κωδικοποίηση µε επίπεδα, η επιλογή συγκεκριµένων τµηµάτων αφορά στην επιλογή συγκεκριµένων επιπέδων του βίντεο. Εάν στην cache βρίσκεται ένα µεγάλο µέρος του χαµηλότερου επιπέδου, τότε ο χρήστης θα µπορέσει να δει το βίντεο σε µέτρια ποιότητα (λόγω της ύπαρξης µόνο ενός επιπέδου) αλλά γρήγορα και σε συνεχή ροή (χωρίς παύσεις που θα απαιτούνταν για αναµονή της µεταφοράς των υπολειπόµενων δεδοµένων από τον αποµακρυσµένο εξυπηρετητή) λόγω της ύπαρξης στην cache δεδοµένων µεγαλύτερης χρονικής διάρκειας. Απεναντίας, εάν στην cache βρίσκεται µια µικρή ποσότητα από ολόκληρη την στοίβα των επιπέδων, ο χρήστης θα έχει καλή ποιότητα εικόνας, αλλά είτε θα πρέπει να περιµένει για την µεταφορά των υπόλοιπων δεδοµένων από τον αποµακρυσµένο εξυπηρετητή, είτε θα πρέπει να υποστεί διακοπές στην συνεχή ροή της εικόνας. Λεπτοµέρειες σχετικά µε αυτό το ζήτηµα συζητούνται αναλυτικότερα στην εργασία [27]. Παροµοίως, στην περίπτωση που δεν υποστηρίζεται κωδικοποίηση σε επίπεδα, η επιλογή συγκεκριµένων τµηµάτων αφορά συγκεκριµένα frames του βίντεο. Εάν το πρόθεµα (prefix) του βίντεο βρίσκεται στην cache, ο χρήστης θα µπορέσει να ξεκινήσει την αναπαραγωγή χωρίς καθυστέρηση αλλά ενδέχεται να υποστεί καθυστερήσεις στην συνέχεια ή εάν επιχειρήσει λειτουργίες όπως παύση, γρήγορη ή αργή κίνηση προς τα µπρος ή προς τα πίσω (VCR operations). Εάν αντί για το πρόθεµα είναι αποθηκευµένα στην cache κάποια άλλα (συνεχόµενα ή µη) κοµµάτια, ο χρήστης θα υποστεί µια καθυστέρηση στην αρχή αλλά µε αυξηµένη πιθανότητα θα υποστεί λιγότερες διακοπές όταν επιχειρεί λειτουργίες VCR. Στην παρούσα εργασία δεν θεωρούµε κωδικοποίηση σε επίπεδα, ούτε υποστήριξη λειτουργιών VCR. Για το λόγο αυτό πάντα το πρόθεµα από κάθε βίντεο επιλέγεται προς αποθήκευση. 2.3 Προτεινόµενο σχήµα caching για τµηµατοποιηµένα αντικείµενα Η προτεινόµενη λειτουργία της cache Στην παράγραφο αυτή θα περιγράψουµε τον τρόπο µε τον οποίο η τρεις κύριες λειτουργίες του διαχειριστή της cache (που περιγράφηκαν στην προηγούµενη 22

31 παράγραφο) συνδυάζονται σε κάθε αίτηση των χρηστών συνθέτοντας έτσι την ολοκληρωµένη εικόνα της λειτουργία του συστήµατος. Ας υποθέσουµε λοιπόν ότι κάποια χρονική στιγµή γίνεται µια αίτηση από ένα χρήστη για κάποιο βίντεο το οποίο δεν βρίσκεται αποθηκευµένο στην cache. Όπως είναι γνωστό, σε αυτή την περίπτωση η αίτηση προωθείται στον κύριο εξυπηρετητή και τα δεδοµένα µεταδίδονται µέσω του βοηθητικού εξυπηρετητή πίσω στον χρήστη που πραγµατοποίησε την αίτηση. Καθώς το βίντεο διέρχεται από τον βοηθητικό εξυπηρετητή, µια οµάδα από frames συγκεκριµένου µεγέθους (ξεκινώντας από το πρώτο frame και συνεχίζοντας µε τα διαδοχικά αυτού) που στην συνέχεια θα ονοµάζουµε chunk (σβόλο) αποθηκεύεται στην cache. Σύµφωνα µε την ακολουθούµενη πολιτική αντικατάστασης, ένα ίδιου µεγέθους chunk από το επιλεγµένο προς αντικατάσταση βίντεο, (που αποτελείται από το τελευταίο frame και τα προς τα εµπρός διαδοχικά του, µέχρι εκείνο που ολοκληρώνει το µέγεθος του chunk) διαγράφεται από την cache. Στην επόµενη αίτηση για το ίδιο βίντεο, τα πρώτα frames συνολικού µεγέθους ενός chunk, υπάρχουν στην cache και προωθούνται αµέσως στον χρήστη ενώ τα υπολειπόµενα ζητούνται από τον κύριο εξυπηρετητή. Με παρόµοιο τρόπο, άλλο ένα chunk προστίθεται στο αποθηκευµένο τµήµα του βίντεο κ.ο.κ. Με τον τρόπο αυτό η αποθήκευση ενός βίντεο στην cache κατά την µετάδοσή του από τον κύριο εξυπηρετητή προς τους χρήστες, µπορεί να θεωρηθεί σαν µια σταδιακή µετακίνηση του περιεχοµένου (εν προκειµένω του βίντεο) κοντά στα σηµεία ζήτησης. Η µετακίνηση αυτή γίνεται σταδιακά, καθώς σε κάθε αίτηση ένα επιπλέον τµήµα του βίντεο προστίθεται στην cache. Η «ταχύτητα» της µετακίνησης εξαρτάται από το µέγεθος του chunk. Εάν για παράδειγµα το chunk έχει µέγεθος ενός frame, θα χρειαστούν πολλές αιτήσεις για να µετακινηθεί το βίντεο στον proxy server (αργή µετακίνηση). Εάν σαν chunk θεωρήσουµε ολόκληρο το βίντεο, µια αίτηση είναι αρκετή για την µετακίνηση αυτή (γρήγορη µετακίνηση). Στο σηµείο αυτό, µπορούµε να παρατηρήσουµε ότι η τµηµατοποίηση του βίντεο και η σταδιακή µετακίνηση του προς τον proxy server, αποτελεί µια γενίκευση του παραδοσιακού web-caching, καθώς για µέγεθος chunk ίσο µε το µέγεθος ολόκληρου του αντικειµένου, συµπίπτει µε τις γνωστές τεχνικές caching για µικρά αρχεία κειµένου και εικόνας που χρησιµοποιούνται ευρύτατα στο διαδίκτυο. 2.4 Μέθοδοι τµηµατοποίησης του βίντεο Στην ενότητα αυτή θα παρουσιάσουµε δύο µεθόδους τµηµατοποίησης των βίντεο και ορισµού του µεγέθους του chunk, δηλαδή της µονάδας αντικατάστασης της cache, την 23

32 τµηµατοποίηση σε chunks σταθερού µεγέθους και την τµηµατοποίηση σε chunks µεταβλητού µεγέθους Η τµηµατοποίηση σε σταθερού µεγέθους chunks. Η πρώτη µέθοδος ονοµάζεται τµηµατοποίηση σε σταθερού µεγέθους chunks και για λόγους ευκολίας θα αναφερόµαστε σ αυτήν µε την συντοµογραφία FCS (Fixed Chunk Size). Η τµηµατοποίηση σταθερού µεγέθους είναι ο απλούστερος τρόπος τµηµατοποίησης του βίντεο και ο λόγος που την παρουσιάζουµε και τη µελετάµε είναι επειδή (λόγω της απλότητάς της), µας δίνει την ευκαιρία να κατανοήσουµε ευκολότερα τα υπέρ και τα κατά της ιδέας της τµηµατοποίησης και τηv επίδρασή της στην απόδοση των αλγορίθµων αντικατάστασης της cache. Σύµφωνα µε την µέθοδο FCS, το µέγεθος του chunk αποτελεί µια παράµετρο για το σύστηµα η τιµή της οποίας µπορεί να κυµαίνεται από το µέγεθος ενός frame, που είναι το µικρότερο δοµικό στοιχείο ενός βίντεο, µέχρι το µέγεθος ενός ολόκληρου βίντεο. Το µέγεθος του chunk είναι σταθερό υπό την έννοια ότι από την στιγµή που επιλεγεί µια συγκεκριµένη τιµή αυτής της παραµέτρου, παραµένει αµετάβλητο για όλα τα βίντεο και όλες τις αιτήσεις για κάθε βίντεο. Όπως αναφέρθηκε και στην προηγούµενη ενότητα (κατά την περιγραφή του τρόπου λειτουργίας της cache), κάθε αίτηση για κάποιο συγκεκριµένο βίντεο, προκαλεί την αύξηση του αποθηκευµένου (cached) τµήµατός του κατά το µέγεθος ενός chunk. Όταν το κοµµάτι που λείπει από την cache, είναι µικρότερο από το µέγεθος του chunk, τότε προφανώς, µε την επόµενη αίτηση για το συγκεκριµένο βίντεο, θα αποθηκευτεί στην cache ολόκληρο το υπολειπόµενο κοµµάτι Η τµηµατοποίηση σε µεταβλητού µεγέθους chunks. Η δεύτερη µέθοδος ονοµάζεται τµηµατοποίηση σε µεταβλητού µεγέθους chunks, θα αναφερόµαστε σε αυτή µε την συντοµογραφία VCS (Variable Chunk Size) και όπως θα δούµε στην συνέχεια συνδυάζει µε καλύτερο τρόπο σε σύγκριση µε την FCS τα πλεονεκτήµατα και µειονεκτήµατα της τµηµατοποίησης, δίνοντας την δυνατότητα για επίτευξη υψηλότερου ποσοστού επιτυχίας της cache. Πιο συγκεκριµένα, σύµφωνα µε την µέθοδο VCS το µέγεθος του chunk είναι συνάρτηση της ποσότητας του βίντεο που είναι ήδη αποθηκευµένο στην cache. Αυτό σηµαίνει ότι τυπικά: (α) το µέγεθος του chunk είναι διαφορετικό για κάθε βίντεο και (β) το µέγεθος του chunk είναι διαφορετικό για κάθε αίτηση για ένα συγκεκριµένο βίντεο. Ειδικότερα, το 24

33 µέγεθος του chunk για κάποιο ζητούµενο βίντεο i, εξαρτάται από το k i που συµβολίζει τον αριθµό των chunks του βίντεο i, που είναι αποθηκευµένα στην cache την στιγµή που γίνεται η αίτηση σύµφωνα µε την σχέση: chunk(k i ) = g k i, k i 0. O παράγοντας g, g > 0, θα ονοµάζεται στην συνέχεια και παράγοντας επιτάχυνσης. Όταν το ζητούµενο βίντεο δεν υπάρχει καθόλου στην cache, δηλαδή όταν k i = 0, ένα µικρό κοµµάτι (λίγα frames) επιλέγεται σαν το πρώτο chunk(0). Για τις επόµενες αιτήσεις το µέγεθος του chunk είναι ένα πολλαπλάσιο του µεγέθους του ήδη αποθηκευµένου στην cache τµήµατος του βίντεο την στιγµή της αίτησης. Τα κίνητρα της µεθόδου VCS, είναι: (α) να παρέχεται µεγάλο µέγεθος chunk στα βίντεο που είναι δηµοφιλή και έχουν µεγάλη ζήτηση (γίνονται προς αυτά πολλές αιτήσεις) και (β) να δίνεται η δυνατότητα σε ένα νέο βίντεο που ξαφνικά γίνεται δηµοφιλές, να αυξήσει γρήγορα (µέσα σε λίγες αιτήσεις) το ποσοστό κατά το οποίο είναι αποθηκευµένο στην cache. 2.5 Αλγόριθµοι αντικατάστασης µε βάση το κόστος πρόσβασης στον εξυπηρετητή Οι περισσότεροι αλγόριθµοι αντικατάστασης, όπως οι δηµοφιλείς LRU (least recently used) και LFU (least frequently used), βασίζουν τις αποφάσεις τους ως προς το αντικείµενο που πρέπει να αντικατασταθεί, αποκλειστικά στην δηµοτικότητά του. Στις περισσότερες πραγµατικές εφαρµογές, υπάρχουν επιπλέον ζητήµατα εκτός από την δηµοτικότητα των αντικειµένων τα οποία συνιστούν διαφορετική διαχείριση ενός αντικειµένου από έναν αλγόριθµο αντικατάστασης. Παράδειγµα τέτοιων ζητηµάτων είναι το κόστος πρόσβασης στον αποµακρυσµένο εξυπηρετητή. Συνήθως σε ένα πραγµατικό σύστηµα, το κόστος αυτό δεν είναι το ίδιο για όλους τους εξυπηρετητές. Έτσι, µπορεί ένα αντικείµενο α να είναι ποιο δηµοφιλές από ένα αντικείµενο β, εάν όµως το κόστος πρόσβασης στον εξυπηρετητή του β, είναι πολλές φορές µεγαλύτερο από το κόστος πρόσβασης στον εξυπηρετητή του α, τότε ενδεχοµένως να είναι προτιµότερο, το αντικείµενο β, να βρίσκεται στην cache, αντί του αντικειµένου α. Μια άλλη περίπτωση κατά την οποία θα πρέπει υπάρχει διαφοροποίηση των αντικειµένων ως προς την µεταχείριση που υφίστανται από τον αλγόριθµο αντικατάστασης, είναι η περίπτωση κατά την οποία ορισµένοι παροχείς δεδοµένων (content providers) επιθυµούν (πιθανώς έναντι αυξηµένου κόστους φιλοξενίας των περιεχοµένων τους από τις caches) ευνοϊκότερη µεταχείριση ορισµένων δεδοµένων σε σύγκριση µε κάποια άλλα. Ζητήµατα 25

34 όπως τα παραπάνω δεν µπορούν να αντιµετωπιστούν από κάποιο αλγόριθµο ο οποίος λαµβάνει υπόψη του µόνο τις δηµοτικότητες των αντικειµένων. Στην συνέχεια, παρουσιάζουµε δύο προσεγγίσεις για τον τρόπο µε τον οποίο µπορούµε να εκµεταλλευτούµε την τµηµατοποίηση του βίντεο για να παρέχουµε την δυνατότητα κατά την διαχείριση µιας cache, να λαµβάνονται υπόψη δύο διαφορετικά κριτήρια διαφοροποίησης των δεδοµένων. Σαν πρώτο κριτήριο διαφοροποίησης θεωρούµαι την δηµοτικότητα και σαν δεύτερο το κόστος πρόσβασης στον κύριο εξυπηρετητή. Στην περίπτωση αυτή, η ποσότητα η οποία θεωρούµε ότι εκφράζει το κόστος σε κάθε αίτηση, είναι το γινόµενο της πιθανότητας ζήτησης ενός αντικειµένου επί το κόστος πρόσβασης στον εξυπηρετητή του ζητούµενου αντικειµένου Ορισµός του µεγέθους του chunk µε βάση το κόστος πρόσβασης Όπως έχει αναφερθεί στην περιγραφή του συστήµατος στην ενότητα 2.3.1, η τµηµατοποίηση του βίντεο µαζί µε τον αλγόριθµο αντικατάστασης, συνθέτουν την συνολική λειτουργία της cache. Επίσης µέσω του απλού παραδείγµατος στην ενότητα ισχυριστήκαµε (και όπως θα φανεί, επιβεβαιώνεται από την πειραµατική διαδικασία στο Κεφάλαιο 3) ότι εκτός από τον αλγόριθµο αντικατάστασης, η απόδοση της cache επηρεάζεται και από το µέγεθος της µονάδας αντικατάστασης. Η µέθοδος που παρουσιάζεται στη συνέχεια λαµβάνει υπόψη της δυο κριτήρια, µε κάθε κριτήριο να επιδρά σε έναν από τους δύο παράγοντες που επηρεάζουν την απόδοση της cache Ειδικότερα, στο προτεινόµενο σχήµα, στο οποίο θα αναφερόµαστε µε τα αρχικά CBD (Chunk Based Differentiation), αφήνουµε έναν αλγόριθµο αντικατάστασης όπως η LRU, να λειτουργεί λαµβάνοντας υπόψη τις δηµοτικότητες των αντικειµένων και ορίζουµε το µέγεθος του chunk για κάθε βίντεο να είναι ανάλογο του κόστους πρόσβασης στον εξυπηρετητή για το αντικείµενο αυτό. Στα βίντεο µε µεγάλο κόστος πρόσβασης δίνουµε µεγάλο µέγεθος chunk, ενώ στα βίντεο µε µικρότερο κόστος πρόσβασης δίνουµε αναλόγως µικρότερο µέγεθος chunk. Για την ακρίβεια, στο βίντεο µε το µεγαλύτερο κόστος πρόσβασης δίνουµε µέγεθος chunk όσο το µέγεθος ολόκληρου του βίντεο και για τα υπόλοιπα δίνουµε αναλόγως µικρότερο. Κατά µια έννοια το CBD είναι ένας συνδυασµός των FCS και VCS, καθώς το µέγεθος του chunk είναι διαφορετικό για κάθε βίντεο (όπως στο VCS), είναι όµως σταθερό για όλες τις αιτήσεις για ένα συγκεκριµένο βίντεο (όπως στο FCS). 26

35 2.5.2 Probabilistic LRU και τµηµατοποίηση FCS Ένας εναλλακτικός τρόπος προσέγγισης του ίδιου προβλήµατος είναι να ενσωµατώσουµε την ευαισθησία του συστήµατος στο κόστος πρόσβασης στους εξυπηρετητές, στον αλγόριθµο αντικατάστασης και να χρησιµοποιήσουµε την τµηµατοποίηση για την βελτίωση της απόδοσης αυτού του αλγορίθµου. Ως προς το σκέλος της τµηµατοποίησης, επιλέγουµε για λόγους απλότητας να χρησιµοποιήσουµε την µέθοδο σταθερού µεγέθους chunk. Σαν αλγόριθµο αντικατάστασης επιλέγουµε µια παραλλαγή της LRU που έχει προταθεί στο [14] και ονοµάζεται probabilistic LRU. Σε κάθε αίτηση για ένα αντικείµενο, ο αλγόριθµος αυτός λειτουργεί σαν την LRU µε πιθανότητα ανάλογη του κόστους πρόσβασης στον κύριο εξυπηρετητή του αντικειµένου, ενώ µε την συµπληρωµατική πιθανότητα δεν κάνει τίποτα. Ένα από τα µειονεκτήµατα αυτού του αλγορίθµου είναι το γεγονός ότι καθυστερεί να προσαρµόσει τα περιεχόµενα της cache σε κάποια αλλαγή στην ζήτηση των αντικειµένων, καθώς λαµβάνει υπόψη του µόνο ένα µικρό ποσοστό των συνολικών αιτήσεων που γίνονται στην cache (τις υπόλοιπες όπως προαναφέραµε, τις αγνοεί). 27

36 28

37 Κεφάλαιο 3 Μελέτη της απόδοσης των προτεινόµενων τεχνικών 3.1 Εισαγωγή Στο κεφάλαιο αυτό παρουσιάζουµε την µελέτη της απόδοσης των αλγορίθµων που προτείνονται στο προηγούµενο κεφάλαιο. Η µελέτη έγινε µε προσοµοίωση των αλγορίθµων µε χρήση ενός προσοµοιωτή που κατασκευάστηκε ειδικά για τις ανάγκες της εργασίας αυτής. Στην παράγραφο 3.2 παρουσιάζονται οι µετρικές µε βάση τις οποίες αξιολογήθηκαν οι προτεινόµενοι αλγόριθµοι. Στην παράγραφο 3.3 αναφέρονται οι βασικές παραδοχές που έγιναν και περιγράφεται µοντέλο του συστήµατος που χρησιµοποιήθηκε κατά την προσοµοίωση. Στην παράγραφο 3.4 παρουσιάζεται ο βέλτιστος τρόπος τοποθέτησης των αντικειµένων σε µια cache, που όµως σε αντίθεση µε τους προτεινόµενους αλγορίθµους, είναι στατικός και εποµένως δεν µπορεί να προσαρµοστεί σε αλλαγές της ζήτησης. Ο λόγος για τον οποίο γίνεται αναφορά στον 29

38 βέλτιστο στατικό τρόπο τοποθέτησης, είναι ότι αποτελεί σηµείο αναφοράς για την απόδοση των προτεινόµενων αλγορίθµων. Τέλος, τα αποτελέσµατα της προσοµοίωσης παρουσιάζονται στην παράγραφο Οι µετρικές αξιολόγησης της απόδοσης Όπως αναφέρεται στην παράγραφο η κύρια ευθύνη της οντότητας διαχείρισης του αποθηκευτικού χώρου της cache, είναι η αποθήκευση σ αυτήν των κατάλληλων αντικειµένων, έτσι ώστε να µειωθεί κατά το δυνατόν περισσότερο η συνολική ποσότητα δεδοµένων που µεταφέρονται από τους αποµακρυσµένους εξυπηρετητές. Η µετρική η οποία περιλαµβάνει την πληροφορία αυτή είναι το ποσοστό του συνολικού µεγέθους των δεδοµένων που εξυπηρετούνται από την cache, δια το συνολικό µεγέθους των δεδοµένων που ζητήθηκαν από την cache. Το ποσοστό αυτό ονοµάζεται στην διεθνή βιβλιογραφία Byte Hit Ratio ή απλά BHR και για λόγους ευκολίας θα υιοθετήσουµε τον όρο αυτό στην συνέχεια. Ο ορισµός του BHR για µία αίτηση στην cache για το βίντεο i, συνοψίζεται στην παρακάτω έκφραση: BHR i µέγεθος δεδοµένων στην = cache για το βίντεο i κατα Μέγεθος του βίντεο i την στιγµή τηςαίτησης Tο BHR i παίρνει τιµές µεταξύ µηδέν και ένα. Μηδέν, όταν το αντικείµενο δεν βρίσκεται στην cache, οπότε λέµε ότι έχουµε αποτυχία, ένα, όταν το αντικείµενο βρίσκεται ολόκληρο στην cache, οπότε λέµε ότι έχουµε πλήρη επιτυχία, και ενδιάµεσες τιµές στις περιπτώσεις µερικής επιτυχίας. Το µέσο BHR i, σε ένα διάστηµα x (το x µπορεί να είναι είτε χρονικό διάστηµα, είτε κάποιος αριθµός αιτήσεων) θα συµβολίζεται µε BHR(x). Το ΒΗR µόνιµης κατάστασης (ss-bhr) µπορεί να οριστεί ως το BHR(x) όταν το x παίρνει επαρκώς µεγάλες τιµές (δυνητικά άπειρο), υποθέτοντας ότι η πιθανότητα ζήτησης των αντικειµένων στο διάστηµα αυτό παραµένει σταθερή. 3.3 Το Μοντέλο Προσοµοίωσης Η κατανοµή των αιτήσεων των χρηστών προς τον κύριο εξυπηρετητή (εποµένως και προς τον proxy) θεωρούµε ότι ακολουθεί τον νόµο του Zipf. Ο νόµος αυτός έχει πάρει το όνοµά του από τον γλωσσολόγο George Kingsley Zipf ( ), και αποτελεί την παρατήρηση ότι η συχνότητα ενός γεγονότος P, σχετίζεται µε την θέση κατάταξης του γεγονότος αυτού, i, όταν τα γεγονότα είναι καταταγµένα κατά αυξανόµενη συχνότητα 30

39 εµφάνισης, µε µια συνάρτηση της µορφής P i ~1/i a, όπου η παράµετρος α είναι κοντά στην µονάδα. Ο νόµος του Zipf εκφράζει την τάση, την µεγαλύτερη συχνότητα εµφάνισης να παρουσιάζει ένα µικρό ποσοστό των δυνατών γεγονότων. Αρχικά, ο νόµος αυτός βρέθηκε ότι περιγράφει σε ικανοποιητικό βαθµό την συχνότητα εµφάνισης των λέξεων της αγγλικής γλώσσας και στην συνέχεια εφαρµόστηκε για την περιγραφή της συχνότητας εµφάνισης άλλων γεγονότων σε µια πληθώρα συστηµάτων. Σε αρκετές εργασίες, µεταξύ των οποίων η [16] βρέθηκε ότι περιγράφει ικανοποιητικά την συχνότητα αιτήσεων των χρηστών του διαδικτύου για τα αντικείµενα που είναι διαθέσιµα στο WWW. Ως προς την σειρά κατά την οποία καταφθάνουν οι αιτήσεις προς τους εξυπηρετητές (που παίζει σηµαντικό ρόλο στην απόδοση της cache), έχει υιοθετηθεί το εκ πρώτης όψεως µη ρεαλιστικό µοντέλο των ανεξαρτήτων αφίξεων (IR (Independent Reference) model). Σύµφωνα µε το µοντέλο αυτό, κάθε αντικείµενο i ζητείτε µε πιθανότητα p i, ανεξάρτητα από τα υπόλοιπα. Το µοντέλο αυτό θεωρείτε µη ρεαλιστικό καθώς έχει παρατηρηθεί ότι µεταξύ των αιτήσεων των χρηστών προς τους εξυπηρετητές υπάρχει σηµαντική χρονική συσχέτιση. Παρόλα αυτά, µερικές εργασίες, µεταξύ των οποίων η [15], έχουν δείξει ότι τα αποτελέσµατα µελετών που έχουν προκύψει µε χρήση του µοντέλου των ανεξαρτήτων αφίξεων, παράγουν ίδια ποιοτικά αποτελέσµατα µε αντίστοιχες µελέτες που προέκυψαν µε χρήση αρχείων των αιτήσεων που δέχθηκαν πραγµατικοί εξυπηρετητές. Η έλλειψη αρχείων αιτήσεων από πραγµατικούς εξυπηρετητές αιτήσεων για βίντεο, σε συνδυασµό µε την διαπιστωµένη δυσκολία του να παράγει κανείς ρεαλιστικό συνθετικό µοντέλο αφίξεων κάτω από την υπόθεση του νόµου του zipf [11],[16], µας οδήγησαν στην χρήση του µοντέλου των ανεξαρτήτων αφίξεων. Το µοντέλο του συστήµατος που χρησιµοποιήθηκε αποτελείται από έναν εξυπηρετητή αιτήσεων για βίντεο, ο οποίος έχει αποθηκευµένα τοπικά Ν το πλήθος διαφορετικά βίντεο, και έναν βοηθητικό εξυπηρετητή, ο οποίος βρίσκεται κοντά σε µια «γειτονιά» χρηστών και παρεµβάλλεται στην επικοινωνία τους µε τον κύριο εξυπηρετητή. Ο βοηθητικός εξυπηρετητής, διαθέτει µια cache µε περιορισµένο αποθηκευτικό χώρο. Θεωρούµε ότι στην cache µπορούν να αποθηκευτούν δεδοµένα συνολικού µεγέθους όσο το µέγεθος Κ βίντεο. Ο λόγος K/N, ονοµάζεται και σχετικό µέγεθος της cache. Για λόγους απλότητας (κυρίως της επίδειξης των αποτελεσµάτων) θεωρούµε ότι τα βίντεο είναι κωδικοποιηµένα µε κωδικοποίηση σταθερού ρυθµού (CBR Constant Bit Rate) και έχουν όλα το ίδιο µέγεθος L. Το µέγεθος L είναι εκφρασµένο σε µονάδες (units), που µπορούν κάλλιστα να είναι είτε µονάδες µεγέθους (π.χ. Bytes), είτε µονάδες χρόνου (π.χ. λεπτά). Για να διατηρήσουµε την γενικότητα, θα αναφερόµαστε στην έννοια της 31

40 «µονάδας» και όχι σε κάποια συγκεκριµένη µονάδα. Με p i, συµβολίζουµε την πιθανότητα ζήτησης του βίντεο i, η οποία όπως αναφέρθηκε, ακολουθεί το νόµο του Ζipf και δίνεται από την σχέση: = /, = N a pi C i όπου C Με το γράµµα α, συµβολίζουµε την παράµετρο Zipf, που εκφράζει την ένταση 3 της κατανοµής. Τέλος, κάνουµε την υπόθεση ότι οι αφίξεις των αιτήσεων ακολουθούν την κατανοµή Poisson µε ρυθµό λ. Οι παράµετροι της προσοµοίωσης και οι τυπικές τιµές τους συνοψίζονται στον Πίνακα Ι. i= 1 1/ i a 1 Πίνακας Ι: Οι παράµετροι του συστήµατος και οι τυπικές τιµές τους Συµβολισµός Παράµετρος Τυπικές τιµές L Μέγεθος/ δίαρκεια βίντεο 1000 µονάδες / 1 ώρα Ν Πλήθος διαθέσιµων βίντεο 1000 Κ Μέγεθος της cache 100 βίντεο Κ/Ν Σχετικό µέγεθος της cache 10% α Παράµετρος Zipf 0.8 λ Μέσος ρυθµός αφίξεων 30 αιτήσεις / λεπτό Οι αλλαγές στην δηµοτικότητα των αντικειµένων, προκειµένου να µελετηθεί η ικανότητα των προτεινόµενων αλγορίθµων να προσαρµόζουν δυναµικά τα περιεχόµενα της cache, µοντελοποιήθηκαν ως εξής: Όταν σύµφωνα µε το σενάριο της προσοµοίωσης πρέπει να συµβεί µια αλλαγή στην δηµοτικότητα, αντιστρέφουµε την κατανοµή της πιθανότητας ζήτησης των αντικειµένων. Με τον τρόπο αυτό τα αντικείµενα που ήταν πολύ δηµοφιλή εµφανίζονταν να έχουν µικρή δηµοτικότητα, εκφράζοντας την τάση ορισµένα αντικείµενα να χάνουν απότοµα την δηµοτικότητά τους. Αντιθέτως, κάποια άλλα αντικείµενα µε ασήµαντη πιθανότητα ζήτησης εµφανίζονται µετά την αντιστροφή της κατανοµής, σαν ιδιαίτερα δηµοφιλή εκφράζοντας µια οµάδα νέων αντικειµένων που αµέσως µετά την έκδοσή τους αποκτούν γρήγορα υψηλή δηµοτικότητα. Επιπλέον, τα αντικείµενα που είχαν µέτρια ζήτηση µε την παλιά κατανοµή εξακολουθούν να έχουν µέτρια ζήτηση 3 Χωρίς αυστηρότητα µπορούµε σαν ένταση της κατανοµής ζήτησης να ορίσουµε την διαφορά στην πιθανότητα ζήτησης των διαδοχικών ως προς την σειρά δηµοτικότητας αντικειµένων. Μεγάλη ένταση της κατανοµής, εκφράζει το γεγονός ένα µικρό µόνο ποσοστό των αντικειµένων να δέχεται το µεγαλύτερο ποσοστό των αιτήσεων. Αντίθετα, µικρή ένταση της κατανοµής ισοδυναµεί µε µια κατανοµή ζήτησης που τείνει προς την οµοιόµορφη κατανοµή. 32

41 εκφράζοντας την κατηγορία των αντικειµένων τον οποίων η ζήτηση υπέστη µικρές αλλαγές. Στις προσοµοιώσεις, για την αντικατάσταση των δεδοµένων όταν η cache είναι γεµάτη, χρησιµοποιήθηκε µια παραλλαγή του αλγορίθµου LRU, η οποία προστατεύει από αντικατάσταση τα «ενεργά» αντικείµενα, δηλαδή τα αντικείµενα που µεταδίδονται προς τους χρήστες δεν αντικαθίστανται ενώ σύµφωνα µε την παραδοσιακή LRU θα έπρεπε να αντικατασταθούν. 3.4 Βέλτιστη Στατική Τοποθέτηση των Περιεχοµένων Όταν η πιθανότητα ζήτησης των αντικειµένων είναι γνωστή εκ των προτέρων και δεν µεταβάλλεται χρονικά, είναι δυνατός ο υπολογισµός του βέλτιστου τρόπου τοποθέτησης των δεδοµένων στην cache, που µεγιστοποιεί το BHR. Ο βέλτιστος τρόπος στατικής τοποθέτησης των αντικειµένων, θα αποτελέσει σηµείο αναφοράς στην συνέχεια κατά την αξιολόγηση των προτεινόµενων αλγορίθµων αντικατάστασης στην επόµενη παράγραφο. Επιπλέον, ένα πραγµατικό (µεταβλητό) περιβάλλον 4 µπορεί να θεωρηθεί κατα µια έννοια, ότι αποτελείται από χρονικά υποδιαστήµατα µέσα στα οποία η πιθανότητα ζήτησης των αντικειµένων παραµένει σταθερή. Συγκρίνοντας την απόδοση των προτεινόµενων αλγορίθµων µε αυτή της βέλτιστης τοποθέτησης µέσα σε τέτοια υποδιαστήµατα, µπορούν να προκύψουν χρήσιµα συµπεράσµατα. εδοµένης µιας εκ των προτέρων γνωστής χρονικά αµετάβλητης πιθανότητας ζήτησης, µπορεί να αποδειχτεί ότι ο βέλτιστος τρόπος τοποθέτησης δίνεται από την πολιτική HPF (Highest Popularity First). Σύµφωνα µε την πολιτική HPF, τα αντικείµενα (στην προκειµένη περίπτωση τα διάφορα βίντεο) αποθηκεύονται κατά σειρά δηµοτικότητας µέχρι έως ότου εξαντληθεί η χωρητικότητα της cache. Η βέλτιστη απόδοση της HPF µπορεί πολύ εύκολα να αποδειχτεί ώς εξής. Απόδειξη: Ας υποθέσουµε ότι τα δεδοµένα είναι τοποθετηµένα στην cache σύµφωνα µε την HPF, δηλαδή ότι στην cache βρίσκονται αποθηκευµένα όλα τα βίντεο i, για τις πιθανότητες ζήτησης των οποίων ισχύει ότι: p i p k όπου k είναι το λιγότερο δηµοφιλές αντικείµενο που χωράει στην cache (ολόκληρο ή ένα µέρος του). 4 ηλαδή ένα περιβάλλον στο οποίο η πιθανότητα ζήτησης ενός αντικειµένου (δηλαδή η δηµοτικότητά του) µεταβάλλεται µε το χρόνο. 33

42 Η µείωση του κόστους πρόσβασης στον κύριο εξυπηρετητή δίνεται από την σχέση: R HPF = C + p i K, όπου C είναι η µείωση του κόστους πρόσβασης στον κύριο εξυπηρετητή λόγω του γεγονότος ότι όλα τα αντικείµενα πλην του i είναι αποθηκευµένα στην cache και Κ είναι το κόστος ανάκτησης ενός αντικειµένου από τον εξυπηρετητή µείον το κόστος ανάκτησης από την cache. Η ποσότητα p i K εκφράζει τη µείωση του συνολικού κόστους λόγω της ύπαρξης του αντικειµένου i στην cache. Ας υποθέσουµε ότι υπάρχει κάποια καλύτερη πολιτική A (δηλαδή κάποια πολιτική για την οποία ισχύει ότι R A R HPF ), κατά την οποία το αντικείµενο j (ή κάποιο µέρος αυτού) που δεν υπάρχει στην cache σύµφωνα µε την HPF (p j p k ) βρίσκεται στην θέση i ενός αντικειµένου που βρίσκεται στην cache υπό την HPF. Η µείωση του κόστους πρόσβασης δίνεται από την σχέση: R A = C + p j K, εδοµένου ότι p i p k p j, προκύπτει ότι R HPF R A δηλαδή ότι η αρχική µας υπόθεση ότι υπάρχει µια πολιτική καλύτερη από την HPF, δεν είναι αληθής. Όπως προαναφέρθηκε, η υπόθεση της εκ των προτέρων γνωστής και χρονικά αµετάβλητης πιθανότητας ζήτησης δεν είναι µια ρεαλιστική υπόθεση για ένα πραγµατικό σύστηµα. Για το λόγο αυτό, πολιτικές αντικατάστασης όπως αυτές που προτάθηκαν στο προηγούµενο κεφάλαιο αναλαµβάνουν την ευθύνη να διαµορφώσουν κατάλληλα τα περιεχόµενα της cache. Η µελέτη της απόδοσης αυτών των πολιτικών αντικατάστασης κάτω από πιο ρεαλιστικό σενάριο, παρουσιάζεται στην συνέχεια. 3.5 Παρουσίαση Αποτελεσµάτων Η σχέση µεταξύ BHR και χρόνου προσαρµογής Στα σχήµατα Σχήµα 3-1 έως Σχήµα 3-3 παρουσιάζεται µια απεικόνιση των περιεχοµένων της cache, όταν για την αντικατάσταση των αντικειµένων χρησιµοποιείται η LRU και η τµηµατοποίηση του βίντεο γίνεται σύµφωνα µε την FCS µε µεγέθη chunk, 2, 10 και 100 αντίστοιχα. Τα σχήµατα αυτά αντιπαρατίθενται µε το Σχήµα 3-4 όπου παρουσιάζεται η κατάσταση της cache όπως αυτή διαµορφώνεται µε χρήση της βέλτιστης πολιτικής τοποθέτησης HPF και κάτω από την υπόθεση ότι οι πιθανότητες 34

43 ζήτησης των αντικειµένων είναι γνωστές. Για λόγους απλότητας στην παρουσίαση έχει θεωρηθεί ότι υπάρχουν µόνο 5 βίντεο και ότι η cache έχει χωρητικότητα ίση µε το µέγεθος τριών βίντεο. Θεωρούµε ότι αρχικά (πριν από την πρώτη αίτηση) η cache είναι άδεια και ότι µόλις γεµίσει ενεργοποιείτε η LRU. Επίσης υποθέτουµε ότι το µέγεθος ενός βίντεο είναι 1000 µονάδες και ότι η κατανοµή των αιτήσεων για τα πέντε βίντεο ακολουθεί την κατανοµή Zipf µε παράµετρο α=0.8 (p 1 > p 2 > p 3 > p 4 >p 5 ). Συγκρίνοντας τα σχήµατα Σχήµα 3-1, Σχήµα 3-2 και Σχήµα 3-3, µε το Σχήµα 3-4, παρατηρούµε ότι για µικρό µέγεθος chunk (2 µονάδες) η κατάσταση της cache συγκλίνει αργά προς µια κατάσταση που µοιάζει πολύ στην βέλτιστη κατάσταση που απεικονίζεται στο Σχήµα 3-4. Για µεγαλύτερο µέγεθος chunk (10 µονάδες) η κατάσταση της cache συγκλίνει γρηγορότερα προς µια µόνιµη κατάσταση που µοιάζει επίσης µε την βέλτιστη κατάσταση, µε την διαφορά ότι παρουσιάζει αισθητά εντονότερες ταλαντώσεις γύρω από αυτή. Τέλος, για µεγάλο µέγεθος chunk (100 µονάδες), ο χρόνος σύγκλισης στην µόνιµη Σχήµα 3-1: Η κατάσταση της cache για µέγεθος chunk: 2 µονάδες Σχήµα 3-2: Η κατάσταση της cache για µέγεθος chunk: 10 µονάδες Σχήµα 3-3: Η κατάσταση της cache για µέγεθος chunk: 100 µονάδες Σχήµα 3-4: Η κατάσταση της cache κάτω από την βέλτιστη πολιτική τοποθέτησης, HPF 35

44 Σχήµα 3-5: Το ss-bhr για διάφορα µεγέθη chunk σαν συνάρτηση του µεγέθους της cache Σχήµα 3-6: : Το ss-bhr για διάφορα µεγέθη chunk σαν συνάρτηση της παραµέτρου zipf κατάσταση γίνεται πολύ µικρός, αλλά η κατάσταση αυτή, απέχει αισθητά (παρουσιάζει έντονες ταλαντώσεις γύρω από) την βέλτιστη κατάσταση της cache. Αυτό το µικρής κλίµακας σύστηµα προσφέρει µια συνοπτική εικόνα του υπό µελέτη προβλήµατος. Η µικρή µονάδα αντικατάστασης (δηλαδή, το µικρό µέγεθος chunk), φέρνει την cache σε σηµείο λειτουργίας κοντά στο βέλτιστο και εποµένως αναµένεται να προσφέρει υψηλή επίδοση σε BHR. Αυτή η υψηλή επίδοση σε BHR όµως επιτυγχάνεται µε κόστος ως προς το χρόνο σύγκλισης στην µόνιµη κατάσταση, ο οποίος επιδρά σηµαντικά στην συνολική απόδοση της cache, όταν συµβαίνουν αλλαγές στην πιθανότητα ζήτησης των αντικειµένων (δηλαδή πρακτικά, στην δηµοτικότητά τους). Αυτό ακριβώς το «trade-off» θα µελετήσουµε αναλυτικότερα στην συνέχεια Η επίδραση του µεγέθους της Cache και της έντασης της κατανοµής ζήτησης στο ΒHR Στο Σχήµα 3-5, απεικονίζεται η επίδραση του µεγέθους της cache στο ss-bhr για διάφορα µεγέθη chunk 5. Όπως είναι αναµενόµενο, το ss-bhr αυξάνεται αρχικά γρήγορα και στην συνέχεια πιο αργά καθώς αυξάνει το µέγεθος της cache. Παρόµοια συµπεράσµατα ισχύουν και για το Σχήµα 3-6, όπου απεικονίζεται η επίδραση της παραµέτρου zipf, α. Αξίζει να σηµειωθεί ότι η µέθοδος τµηµατοποίησης VCS, επιτυγχάνει καλύτερο BHR από την FCS κυρίως για µικρά µεγέθη cache και για οµοιόµορφες (µικρής έντασης) κατανοµές ζήτησης. 5 Οι τιµές των παραµέτρων του συστήµατος στην υπο-ενότητα αυτή (και γενικότερα, όπου δεν αναφέρεται διαφορετικά) είναι αυτές που απεικονίζονται στον Πίνακα Ι 36

45 Όπως φαίνεται από τα δύο παραπάνω σχήµατα, το BHR εξαρτάται από δύο παράγοντες (εκτός από το µέγεθος του chunk): τo µέγεθος της cache και την ένταση της κατανοµής ζήτησης. Στην συνέχεια παρουσιάζουµε µερικά αποτελέσµατα που δείχνουν τον τρόπο µε τον οποίο σχετίζονται οι δύο αυτοί παράγοντες, καθώς και το τρόπο µε τον οποίο µπορούµε να ορίσουµε µια παράµετρο που περιλαµβάνει και τους δύο αυτούς παράγοντες. Στα σχήµατα Σχήµα 3-7 και Σχήµα 3-8, απεικονίζεται το BHR, σαν συνάρτηση της παραµέτρου Κ που δίνεται από την έκφραση K = = pi, όπου m, είναι το τελευταίο αντικείµενο που χωράει στην cache. Η παράµετρος Κ, εξαρτάται τόσο από την ένταση της κατανοµής ζήτησης (την παράµετρο zipf) που ορίζει τα p i, όσο και από το µέγεθος της cache, που ορίζει το m. Τα σχήµατα αφορούν τµηµατοποίηση FCS, µε µικρό και µεγάλο µέγεθος chunk (10 και 1000 µονάδες αντίστοιχα). Κάθε γραµµή στα σχήµατα Σχήµα 3-7 και Σχήµα 3-8 απεικονίζει το ΒΗR για διάφορες τιµές της παραµέτρου α (παράµετρος zipf) και κάθε σηµείο κάθε γραµµής αντιστοιχεί σε διαφορετική τιµή του m. Στο Σχήµα 3-7 παρατηρούµε ότι ΒHR παραµένει σταθερό για όλους τους διαφορετικούς συνδυασµούς των παραµέτρων α και m που δίνουν την ίδια τιµή για την παράµετρο Κ. Παρόµοια συµπεριφορά παρατηρείται και στο Σχήµα 3-8, όπου το µέγεθος του chunk είναι ίσο µε το µέγεθος ενός βίντεο, µόνο για τιµές της παραµέτρου zipf µεγαλύτερες από 0.5 m i 1 Συνοψίζοντας το συµπέρασµα που βγαίνει από το σχήµα αυτό, µπορούµε να πούµε ότι το µέγεθος της cache, που ορίζει την παράµετρο m και η ένταση της κατανοµής ζήτησης, που ορίζεται από την παράµετρο α και ορίζει τις πιθανότητες p i, µπορούν να Σχήµα 3-7: το ss-bhr σαν συνάρτηση της παραµέτρου Κ για την µέθοδο FCS µε µέγεθος chunk 10 µονάδες Σχήµα 3-8: το ss-bhr σαν συνάρτηση της παραµέτρου Κ για την µέθοδο FCS µε µέγεθος chunk 1000 µονάδες 37

46 συνδυαστούν σε µία παράµετρο (την παράµετρο Κ) η οποία καθορίζει µε την σειρά της το BHR. Το τελευταίο συµπέρασµα επαληθεύει µια σχετική θεωρητική µελέτη πού έχει γίνει πάνω στο caching αντικειµένων χωρίς τµηµατοποίηση [18] Η επίδραση του µεγέθους του chunk στο BHR Στο Σχήµα 3-9 απεικονίζεται το ss-bhr σαν συνάρτηση του µεγέθους του chunk για την µέθοδο τµηµατοποίησης FCS. Παρατηρούµε ότι για µικρό µέγεθος chunk το BHR είναι υψηλό, ενώ µειώνεται αρχικά δραστικά και στην συνέχεια µε πιο αργό ρυθµό καθώς το µέγεθος του chunk αυξάνεται. Για µέγεθος chunk 1000 µονάδες η απόδοση του συστήµατος αντιστοιχεί σε αυτή ενός συστήµατος που δεν κάνει χρήση τµηµατοποίησης, αφού 1000 µονάδες είναι το µέγεθος ενός ολόκληρου βίντεο. Παρόµοια συµπεράσµατα προκύπτουν από το Σχήµα 3-10, όπου απεικονίζεται το ss-bhr για την µέθοδο τµηµατοποίησης VCS σαν συνάρτηση του παράγοντα επιτάχυνσης g. Μια µεγάλη τιµή της παραµέτρου g προκαλεί την δηµιουργία µεγάλου µεγέθους chunks και εποµένως χαµηλότερη απόδοση σε σχέση µε την περίπτωση όπου η παράµετρος g παίρνει µικρότερες τιµές. Θα πρέπει να σηµειωθεί, (παρατηρώντας την διαφορά στην κλίµακα του άξονα Y στα δύο σχήµατα) ότι µε τη µέθοδο VCS επιτυγχάνεται αρκετά υψηλότερο BHR σε σύγκριση µε την FCS, ακόµα και όταν γίνεται σύγκριση της VCS µε µεγάλη τιµή του g, µε την FCS µε µικρή τιµή του µεγέθους του chunk. Επίσης, αξίζει να παρατηρηθεί ότι η επίδραση του g στο BHR για την µέθοδο VCS, είναι αρκετά µικρότερη από αυτή του µεγέθους του chunk για την µέθοδο FCS. Στα αποτελέσµατα που έχουν παρουσιαστεί µέχρι στιγµής, έχει γίνει σιωπηρά η Σχήµα 3-9: Το ss-bhr σαν συνάρτηση του µεγέθους του chunk για την µέθοδο τµηµατοποίησης FCS Σχήµα 3-10: Το ss-bhr σαν συνάρτηση της παραµέτρου επιτάχυνσης g, για την µέθοδο τµηµατοποίησης VCS 38

47 Σχήµα 3-11: Ο χρόνος προσαρµογής, σαν συνάρτηση του µεγέθους του chunk για την FCS Σχήµα 3-12: Ο χρόνος προσαρµογής, σαν συνάρτηση της παραµέτρου επιτάχυνσης, g, για την VCS υπόθεση ότι η πιθανότητα ζήτησης των αντικειµένων παραµένει χρονικά αµετάβλητη, ή πιο πρακτικά, ότι η δηµοτικότητά τους παραµένει σταθερή. Σε ένα πιο ρεαλιστικό σενάριο, ορισµένα αντικείµενα χάνουν την δηµοτικότητα τους µε το χρόνο, ενώ εµφανίζονται και νέα αντικείµενα τα οποία γρήγορα επιτυγχάνουν υψηλή δηµοτικότητα. Όταν συµβαίνουν τέτοιες αλλαγές στην ζήτηση, το BHR αναµένεται αρχικά να µειωθεί, καθώς τα περιεχόµενα της cache αντιστοιχούν στην παλαιά ζήτηση. Στην συνέχεια καθώς ο αλγόριθµος αντικατάστασης θα έχει προσαρµόσει τα περιεχόµενα της cache στην νέα ζήτηση, το BHR αναµένεται να αυξηθεί ξανά και να συγκλίνει προς το BHR µόνιµης κατάστασης 6. Για να περιγράψουµε τον χρόνο τον οποίο µεσολαβεί από την µια µόνιµη κατάσταση (πριν την αλλαγή της ζήτησης) µέχρι την νέα µόνιµη κατάσταση, ορίζουµε µια ποσότητα, την οποία ονοµάζουµε χρόνο προσαρµογής της cache, ως εξής: Καθώς το σύστηµα λειτουργεί στην µόνιµη κατάσταση, αδειάζουµε την cache (αυτό ισοδυναµεί µε µια µεγάλη και απότοµη αλλαγή της ζήτησης) και µετρούµε το χρόνο που απαιτείται για να επανέλθει το BHR στο 90% της τιµής που είχε πριν την αλλαγή αυτή. Στα σχήµατα Σχήµα 3-11 και Σχήµα 3-12, απεικονίζεται ο χρόνος προσαρµογής για τις δύο µεθόδους τµηµατοποίησης FCS και VCS σαν συνάρτηση του µεγέθους του chunk και της παραµέτρου g αντίστοιχα. Στο Σχήµα 3-11, παρατηρούµε ότι ο χρόνος προσαρµογής είναι υπερβολικά υψηλός για µικρές τιµές του µεγέθους του chunk, ενώ µειώνεται αρχικά απότοµα και στην συνέχεια πιο αργά, καθώς το µέγεθος του chunk 6 Θα πρέπει να σηµειωθεί ότι το BHR της µόνιµης κατάστασης θα είναι ίδιο µε αυτό πριν από την αλλαγή της ζήτησης, µόνο εάν το είδος και η ένταση της κατανοµής ζήτησης παραµένει σταθερή. 39

48 αυξάνεται. Παρόµοια σχόλια ισχύουν και για το Σχήµα Συγκρίνοντας τα δύο σχήµατα αξίζει να παρατηρηθεί, ότι µε την µέθοδο VCS µπορεί να επιτευχθεί πολύ µικρότερος χρόνος προσαρµογής σε σύγκριση µε την FCS, ακόµα και για µεγάλες τιµές της παραµέτρου g. Συγκρίνοντας τα σχήµατα Σχήµα 3-9 και Σχήµα 3-11 µεταξύ τους και σε αντιπαραβολή µε τα σχήµατα Σχήµα 3-10 και Σχήµα 3-12 µπορούµε να κάνουµε τις εξής παρατηρήσεις: Για τις τιµές των παραµέτρων για τις οποίες επιτυγχάνεται υψηλό BHR ο χρόνος προσαρµογής είναι µεγάλος και αντιστρόφως. Επίσης, η µέθοδος τµηµατοποίησης VCS επιτυγχάνει καλύτερο συνδυασµό BHR-χρόνου προσαρµογής σε σύγκριση µε την FCS. Για παράδειγµα, για να επιτευχθεί BHR 50%, µπορεί να χρησιµοποιηθεί είτε η µέθοδος FCS µε µέγεθος chunk 10 µονάδες (Σχήµα 3-9), είτε η µέθοδος VCS µε g=2 (Σχήµα 3-10). Στην πρώτη περίπτωση ο χρόνος προσαρµογής είναι τεράστιος, της τάξης των 1000 ωρών (Σχήµα 3-11), ενώ στην δεύτερη περίπτωση ο χρόνος προσαρµογής είναι 10 ώρες (Σχήµα 3-12) Το BHR σε περιβάλλον µεταβαλλόµενης ζήτησης Ο χρόνος προσαρµογής της cache στην µεταβαλλόµενη ζήτηση είναι µια παράµετρος που επηρεάζει σηµαντικά την συνολική απόδοση του συστήµατος, ειδικότερα όταν συµβαίνουν συχνές αλλαγές ζήτησης. Σε τέτοιες περιπτώσεις το BHR µπορεί πρακτικά να µην φτάνει ποτέ στην µέγιστη τιµή του (στην τιµή µόνιµης κατάστασης), εάν ο χρόνος προσαρµογής είναι µεγάλος. Το φαινόµενο αυτό µπορεί να οδηγήσει ένα σύστηµα µε υψηλό ss-bhr (και µεγάλο χρόνο προσαρµογής) να έχει χαµηλότερη απόδοση σε σύγκριση µε ένα άλλο σύστηµα το οποίο επιτυγχάνει χαµηλότερο ss-bhr (και µικρό χρόνο προσαρµογής). Το αν θα συµβεί ή όχι το παραπάνω φαινόµενο, εξαρτάται από την συχνότητα των αλλαγών της ζήτησης. Η κατάσταση αυτή αναπαρίσταται στα σχήµατα Σχήµα 3-13 και Σχήµα 3-14, που απεικονίζουν το BHR(24h) σαν συνάρτηση του χρόνου, για τµηµατοποίηση µε την µέθοδο FCS µε µεγέθη chunk 50 και 200 µονάδες για «αραιές» και συχνές αλλαγές της ζήτησης αντίστοιχα. Στα σχήµατα αυτά παρατηρούµε ότι αρχικά το BHR ταλαντώνεται 7 γύρω από την τιµή µόνιµης κατάστασης. Παρατηρούµε επίσης ότι το ΒHR για µέγεθος chunk 50 µονάδες είναι υψηλότερο από αυτό για µέγεθος chunk 200 µονάδες. 7 Η ταλάντωση οφείλεται στο γεγονός ότι στα σχήµατα απεικονίζεται το BHR(24h) ενώ η τιµή µόνιµης κατάστασης αφορά το µέσο BHR σε δυνητικά άπειρο χρονικό διάστηµα. 40

49 Σχήµα 3-13: Το BHR(24h) για ένα σύστηµα µε «αραιές» µεταβολές στην ζήτηση σαν συνάρτηση του χρόνου. Μέσο BHR για FCS µε chunk=50: Μέσο BHR για FCS µε chunk=200: 0.42 Σχήµα 3-14: Το BHR(24h) για ένα σύστηµα µε συχνές µεταβολές στην ζήτηση σαν συνάρτηση του χρόνου. Μέσο BHR για FCS µε chunk=50: Μέσο ΒΗR για FCS µε chunk=200: 0.42 Στο Σχήµα 3-13, την χρονική στιγµή 500 γίνεται µια αλλαγή στις δηµοτικότητες των αντικειµένων. Κατά την περίοδο που ακολουθεί αυτή την αλλαγή, παρατηρούµε µια µείωση στο BHR, ενώ στην συνέχεια µετά την πάροδο ενός χρονικού διαστήµατος, το BHR συγκλίνει ξανά στην τιµή µόνιµης κατάστασης. Μπορεί ακόµη να παρατηρηθεί, ότι για µικρό µέγεθος chunk η µείωση στο BHR είναι δραστικότερη και ότι ο χρόνος σύγκλισης προς την µόνιµη κατάσταση είναι µεγαλύτερος. Το µέσο BHR για ολόκληρο το χρόνο λειτουργίας του συστήµατος είναι 0,45 για µέγεθος chunk 50 µονάδες και 0.42 για µέγεθος chunk 200 µονάδες. Στο σύστηµα του σχήµατος Σχήµα 3-14, µέσα στο ίδιο χρονικό διάστηµα λειτουργίας, έχουν συµβεί περισσότερες αλλαγές στην ζήτηση. Για το σύστηµα αυτό, το µέσο BHR για ολόκληρο το χρόνο λειτουργίας είναι υψηλότερο για µέγεθος chunk 200 µονάδες απ ότι για µέγεθος chunk 50 µονάδες (0.41 έναντι 0.39). Στα σχήµατα Σχήµα 3-15 και Σχήµα 3-16 γίνεται µια σύγκριση των µεθόδων FCS και VCS ως προς την συνολική απόδοση του συστήµατος κάτω από µεταβολές στην ζήτηση. Στο Σχήµα 3-15 απεικονίζεται το BHR(24h) για τα συστήµατα µε FCS και µέγεθος chunk 30 µονάδες και VCS µε g=1. Στο σχήµα αυτό παρατηρούµε ότι το σύστηµα στο οποίο χρησιµοποιείται η VCS συνδυάζει υψηλότερο ss-bhr µε µικρότερο χρόνο προσαρµογής και ως εκ τούτου επιτυγχάνεται υψηλότερο µέσο BHR για ολόκληρο το χρόνο λειτουργίας του συστήµατος, ανεξαρτήτως της συχνότητας των αλλαγών. Παρόµοια σχόλια ισχύουν και για το Σχήµα 3-16 στο οποίο απεικονίζεται το BHR(24h) για τα συστήµατα µε FCS και µέγεθος chunk 200 µονάδες και VCS µε g=10. Το συµπέρασµα που µπορεί να βγει από τα δύο αυτά σχήµατα είναι ότι για κάθε τιµή του µεγέθους του chunk για την FCS υπάρχει µια τιµή της παραµέτρου g για την VCS, 41

50 Σχήµα 3-15: Το BHR(24h) για ένα σύστηµα µε µια µεταβολή στην ζήτηση σαν συνάρτηση του χρόνου για τα συστήµατα VCS µε g=1 και FCS µε chunk=30 µονάδες Σχήµα 3-16: Το BHR(24h) για ένα σύστηµα µε µια µεταβολή στην ζήτηση σαν συνάρτηση του χρόνου για τα συστήµατα VCS µε g=10 και FCS µε chunk=100 µονάδες που να συνδυάζει υψηλότερο BHR και µικρότερο χρόνο προσαρµογής και εποµένως υψηλότερο συνολικό µέσο BHR υναµική µεταβολή του µεγέθους του chunk Στην παράγραφο αυτή θα παρουσιάσουµε µια παραλλαγή της µεθόδου τµηµατοποίησης FCS η οποία επιτυγχάνει βελτίωση της απόδοσης της FCS, χρησιµοποιώντας διαφορετικά µεγέθη chunk σε διαφορετικές χρονικές στιγµές. Η βασική ιδέα της παραλλαγής αυτής απεικονίζεται στο Σχήµα Όπως έχει γίνει κατανοητό από τα αποτελέσµατα που εκτέθηκαν στις προηγούµενες παραγράφους, το µικρό µέγεθος chunk υπερέχει ως προς το BHR µόνιµης κατάστασης σε σύγκριση µε το µεγάλο µέγεθος chunk, ενώ το τελευταίο υπερέχει στο χρόνο προσαρµογής. Προκειµένου να επιτύχουµε βελτίωση της FCS, προσπαθούµε να εκµεταλλευτούµε το πλεονέκτηµα κάθε µεγέθους chunk χρησιµοποιώντας διαφορετικό µέγεθος chunk σε διαφορετικές χρονικές περιόδους. Συγκεκριµένα, σε περιόδους όπου το σύστηµα λειτουργεί στην µόνιµη κατάσταση, χρησιµοποιούµε chunk µικρού µεγέθους, ώστε να επιτύχουµε το µέγιστο δυνατό (κάτω από την FCS) BHR. Σε περιόδους που ανιχνεύεται αλλαγή στην ζήτηση, αλλάζουµε το µέγεθος chunk χρησιµοποιώντας κάποιο αρκετά µεγαλύτερο, ώστε να επιτύχουµε γρήγορη προσαρµογή των περιεχοµένων της cache. Τέλος, µετά την επιτυχηµένη προσαρµογή των περιεχοµένων, επιστρέφουµε πάλι σταδιακά σε µικρό µέγεθος chunk και σε ένα σηµείο λειτουργίας µε υψηλό BHR µόνιµης κατάστασης. Ένα σηµαντικό θέµα στην παραπάνω λειτουργία είναι ο τρόπος µε τον οποίο µπορεί να γίνει έγκαιρη 42

51 Σχήµα 3-17: Βασική ιδέα της παραλλαγής της FCS. ανίχνευση των αλλαγών της ζήτησης. Ένας τρόπος είναι να παρατηρούµε την διακύµανση του BHR µε το χρόνο. Μπορούµε να θεωρήσουµε πώς όταν παρατηρηθεί µείωση του BHR πέρα από τις µικρές αυξήσεις και µειώσεις που συµβαίνουν κατά την ταλάντωση γύρω από τη µόνιµη κατάσταση, αυτή οφείλετε σε κάποια µεταβολή της ζήτησης και αυτοµάτως να επιλέξουµε αλλαγή του µεγέθους του chunk σε κάποια µεγαλύτερη τιµή. Στην συνέχεια, όταν παρατηρηθεί σταθεροποίηση του BHR µπορούµε να υποθέσουµε ότι το σύστηµα έχει συγκλίνει στην νέα µόνιµη κατάσταση κάτω από το νέο (µεγάλο) µέγεθος chunk και εποµένως να θα πρέπει να αλλάξει ξανά το µέγεθος του chunk σε κάποιο µικρότερο, ώστε να αυξηθεί µε πιο αργό ρυθµό το BHR. Την παραλλαγή της µεθόδου FCS που περιγράφηκε παραπάνω, την εφαρµόσαµε και τα αποτελέσµατα παρουσιάζονται στα σχήµατα Σχήµα 3-18 και Σχήµα 3-19, όπου η προτεινόµενη παραλλαγή συγκρίνεται µε την µέθοδο FCS µε µικρό και µεγάλο µέγεθος chunk για «αραιά» και «συχνά» µεταβαλλόµενο περιβάλλον ζήτησης αντίστοιχα. Στα σχήµατα αυτά παρατηρούµε ότι η γαλάζια γραµµή, που αφορά την παραλλαγή της FCS, συµπίπτει µε την πράσινη γραµµή, που αφορά την FCS µε µέγεθος chunk 50 µονάδες, στις χρονικές περιόδους πριν και µετά την αλλαγή της ζήτησης. Αυτό συµβαίνει γιατί στις περιόδους αυτές και τα δύο συστήµατα λειτουργούν µε το ίδιο µέγεθος chunk. Κατά την περίοδο προσαρµογής που ακολουθεί την χρονική στιγµή 500 (Σχήµα 3-18), παρατηρούµε ότι η παραλλαγή της FCS (γαλάζια γραµµή) εµφανίζει χρόνο προσαρµογής αντίστοιχο µε αυτόν της FCS µε µέγεθος chunk 200 µονάδες (κόκκινη γραµµή) και αρκετά µικρότερο από αυτό της FCS µε µέγεθος chunk 50 µονάδες (πράσινη γραµµή). Για το Σχήµα 3-18, που αφορά στην λειτουργία του συστήµατος κάτω 43

52 Σχήµα 3-18: Το BHR(24h) για ένα σύστηµα µε «αραιές» µεταβολές στην ζήτηση σαν συνάρτηση του χρόνου. Μέσο BHR για: (α) την παραλλαγή του FCS : 0.46, (β) FCS µε chunk=50: 0.45, (γ) FCS µε chunk=200: 0.42 Σχήµα 3-19: Το BHR(24h) για ένα σύστηµα µε «συχνές» µεταβολές στην ζήτηση σαν συνάρτηση του χρόνου. Μέσο BHR για: (α) την παραλλαγή του FCS : 0.44, (β) FCS µε chunk=50: 0.39, (γ) FCS µε chunk=200: 0.41 από αραιές αλλαγές στην ζήτηση, το συνολικό BHR για όλο το χρόνο λειτουργίας του συστήµατος είναι 0.46 για την παραλλαγή του FCS, 0.4 για την FCS µε µέγεθος chunk 50 µονάδες και για την FCS µε µέγεθος chunk 200 µονάδες. Η παραλλαγή της FCS υπερτερεί της απλής FCS και στην περίπτωση συχνών µεταβολών της ζήτησης, που απεικονίζεται στο Σχήµα 3-19 ( BHR 0.44 έναντι 0.39 για το σύστηµα µε µέγεθος chunk 50 µονάδες και 0.41 για το σύστηµα µε µέγεθος chunk 200 µονάδες) Ορισµός του µεγέθους του chunk µε βάση το κόστος πρόσβασης Στην ενότητα αυτή παρουσιάζουµε ορισµένα αποτελέσµατα που σχετίζονται µε την ικανότητα του σχήµατος CBD που προτάθηκε στην ενότητα για την περίπτωση που το κόστος πρόσβασης είναι διαφορετικό για κάθε βίντεο. Προκειµένου τα αποτελέσµατα να είναι ποσοτικά συγκρίσιµα µε αυτά που παρουσιάστηκαν στις προηγούµενες παραγράφους, κάνουµε την υπόθεση ότι όλα τα βίντεο έχουν την ίδια πιθανότητα ζήτησης p i = 1/N και ότι το κόστος πρόσβασης ακολουθεί κατανοµή zipf όµοια µε αυτή που θεωρήσαµε ότι ακολουθούν οι πιθανότητες ζήτησης στις προηγούµενες παραγράφους. Κατά παρόµοιο τρόπο, ορίζουµε σαν µια µετρική ισοδύναµη του BHR το CRR (Cost Reduction Ratio), που εκφράζει το ποσοστό µείωσης του κόστους πρόσβασης στους αποµακρυσµένους εξυπηρετητές λόγω της ύπαρξης της cache ως εξής: CRR = i R i R k c i L c i i i 44

53 όπου R, είναι το σύνολο των δεικτών των βίντεο που αντιστοιχούν στις αιτήσεις που γίνονται από τους χρήστες και k i, L i, c i, είναι το αποθηκευµένο τµήµα στην cache, το συνολικό µέγεθος, και το κόστος πρόσβασης του βίντεο i, αντίστοιχα. Στο Σχήµα 3-20 απεικονίζεται το ss-bhr των δύο προτεινόµενων αλγορίθµων σαν συνάρτηση του µεγέθους της cache. Καταρχήν παρατηρούµε ότι η µέθοδος CBD, έχει χαµηλότερη απόδοση σε σύγκριση µε την FCS µε probabilistic LRU, παρόλα αυτά η βασική ιδέα του να αφήσουµε το µέγεθος του chunk να ενεργήσει για την διαµόρφωση των περιεχοµένων µε βάση το κόστος πρόσβασης φαίνεται να αποδίδεί. Σο σηµείο αυτό, αξίζει να κάνουµε µια παρατήρηση που αναδεικνύει ορισµένα πλεονεκτήµατα της CDB έναντι της FCS µε probabilistic LRU. Η µέθοδος CBD, χρησιµοποιεί διαφορετικό µέγεθος chunk για κάθε βίντεο και εποµένως ο χρόνος προσαρµογής της αναµένεται να είναι αντίστοιχος µε αυτόν της µεθόδου VCS που απεικονίζεται στο Σχήµα Αντίθετα, ο χρόνος προσαρµογής για την FCS µε probabilistic LRU αναµένετε να είναι πολύ µεγαλύτερος από αυτόν της απλής FCS που παρουσιάζεται στο Σχήµα Αυτό συµβαίνει λόγω του γεγονότος ότι η probabilistic LRU, λαµβάνει υπ όψην της ένα πολύ µικρό ποσοστό των αιτήσεων που πραγµατοποιούνται και ως εκ τούτου καθυστερεί να «αντιληφθεί» ενδεχόµενες αλλαγές στην ζήτηση. Σχήµα 3-20: Το ss-bhr σαν συνάρτηση του µεγέθους του chunk για τις προτεινόµενες µεθόδους για την περίπτωση που το κόστος πρόσβασης στους εξυπηρετητές είναι διαφορετικό για κάθε βίντεο. 45

54 Η µεγάλη αυτή καθυστέρηση στον χρόνο προσαρµογής της probabilistic LRU, επιβεβαιώνεται και από την [14], στην οποία παρουσιάστηκε η µέθοδος αυτή. Στην παραπάνω εργασία, η probabilistic LRU παρουσιάζεται σαν αλγόριθµος αντικατάστασης χωρίς να λαµβάνεται υπ όψην η τµηµατοποίηση. εδοµένου ότι η τµηµατοποίηση προσθέτει µια επιπλέον καθυστέρηση στον χρόνο προσαρµογής, γίνεται αντιληπτό ότι το πρόβληµα του αλγορίθµου αυτού γίνεται ακόµα πιο έντονο. Στην παραπάνω εργασία παρουσιάζεται επίσης µια παραλλαγή του αλγορίθµου µε σκοπό την µείωση του χρόνου προσαρµογής, αλλά τονίζεται ότι αυτό µπορεί να επιτευχθεί µόνο εις βάρος του BHR. Λαµβάνοντας υπ όψην την σηµατνική επίδραση που έχει ο χρόνος προσαρµογής στην συνολική απόδοση του συστήµατος, και τις ενδείξεις για την απόδοση των προτεινόµενων αλγορίθµων ως προς τον χρόνο προσαρµογής τους, µπορούµε να ισχυριστούµε ότι η CBD µπορεί να θεωρηθεί µια ελκυστική λύση σε αρκετές, αν όχι σε όλες, τις περιπτώσεις Η επίδραση του µεγέθους του chunk στην αρχική καθυστέρηση Σε αυτή την τελευταία παράγραφο του κεφαλαίου, παρουσιάζονται µερικά αποτελέσµατα σχετικά µε την επίδραση των προτεινόµενων αλγορίθµων τµηµατοποίησης, αλλά και γενικότερα της χρησιµοποίησης της τµηµατοποίησης, ως προς την καθυστέρηση που υφίστανται οι χρήστες από την στιγµή που κάνουν µια αίτηση για ένα βίντεο µέχρι την στιγµή που η αναπαραγωγή του γίνεται δυνατή. Για το σκοπό αυτό, κάνουµε την Σχήµα 3-21: Το ποσοστό των καθυστερηµένων αιτήσεων σαν συνάρτηση της παραµέτρου P 46

55 υπόθεση ότι προκειµένου να ξεκινήσει η αποκωδικοποίηση/αναπαραγωγή του βίντεο στον τελικό χρήση µε µηδενική καθυστέρηση, απαιτείται η ύπαρξη µιας ελάχιστης ποσότητας δεδοµένων στην cache την οποία συµβολίζουµε µε P. Εάν δεν υπάρχει αυτή η ποσότητα δεδοµένων P µονάδων στην cache, θεωρούµε ότι ο χρηστής υφίσταται µια καθυστέρηση µέχρι να µαζευτεί η ποσότητα αυτή µε την µετάδοση των υπολειπώµενων τµηµάτων από τον κύριο εξυπηρετητή. Στην περίπτωση αυτή η αίτηση χαρακτηρίζεται ως «αργοπορηµένη». Στο Σχήµα 3-21 απεικονίζεται το ποσοστό των καθυστερηµένων αιτήσεων σαν συνάρτηση της παραµέτρου P, τόσο για την VCS όσο και για την FCS για διάφορα µεγέθη chunk. Παρατηρούµε ότι το ποσοστό των καθυστερηµένων αιτήσεων γίνεται µικρότερο όσο το µέγεθος του chunk πλησιάζει (παραµένοντας µικρότερο) στην παράµετρο P. Αξίζει να σηµειωθεί, είναι ότι για οποιοδήποτε µέγεθος chunk και για οποιαδήποτε τιµή της παραµέτρου P, η τµηµατοποίηση του βίντεο είτε µε την FCS, είτε µε την VCS µέθοδο, δίνει αρκετά µικρότερο ποσοστό καθυστερηµένων αιτήσεων σε σύγκριση µε την περίπτωση που δεν χρησιµοποιείται τµηµατοποίηση. 47

56 48

57 Κεφάλαιο 4 Ιεραρχικό Caching 4.1 Εισαγωγή Όπως έχει ήδη αναφερθεί, ένας βοηθητικός εξυπηρετητής (proxy-server), λειτουργεί ταυτόχρονα σαν εξυπηρετητής και σαν χρήστης. Σαν εξυπηρετητής λειτουργεί εξυπηρετώντας τις αιτήσεις των τελικών χρηστών αντί του κύριου εξυπηρετητή και σαν χρήστης προωθώντας στον κύριο εξυπηρετητή όσες από τις αιτήσεις των χρηστών δεν µπορεί να εξυπηρετήσει ο ίδιος. Αποµονώνοντας την ιδιότητά του σαν χρήστη, µπορούµε -κάνοντας συλλογισµούς αντίστοιχους µε αυτούς που οδήγησαν στην ιδέα της χρησιµοποίησής του βοηθητικού εξυπηρετητή - να θεωρήσουµε την ύπαρξη ενός δεύτερου βοηθητικού εξυπηρετητή µεταξύ του κύριου εξυπηρετητή και του αρχικού βοηθητικού εξυπηρετητή. Με αντίστοιχο τρόπο και ο δεύτερος αυτός βοηθητικός κόµβος λειτουργεί σαν εξυπηρετητής ως προς τον πρώτο και σαν χρήστης ως προς τον κύριο εξυπηρετητή. Συνεχίζοντας τον ίδιο συλλογισµό οδηγούµαστε στην ιδέα της δηµιουργίας µιας αλυσίδας από βοηθητικούς εξυπηρετητές µεταξύ του κύριου εξυπηρετητή και των τελικών χρηστών, στην οποία ο καθένας αποτελεί τον «βοηθό» του επόµενου. Στην 49

58 πραγµατικότητα, όπως ο «πρώτος» (ο πλησιέστερος στον χρήστη) στην αλυσίδα βοηθητικός εξυπηρετητής εξυπηρετεί περισσότερους από έναν τελικούς χρήστες, έτσι και ένας «δεύτερος» εξυπηρετεί περισσότερους από έναν «πρώτους» βοηθητικούς εξυπηρετητές και η αλυσίδα που περιγράψαµε παραπάνω ουσιαστικά σχηµατίζει σε µια ολόκληρη ιεραρχία από βοηθητικούς εξυπηρετητές. Η αξιοποίηση τέτοιων ιεραρχιών για την διανοµή δεδοµένων στο διαδίκτυο, οδήγησε στην δηµιουργία ολοκληρωµένων δικτύων διανοµής δεδοµένων τα οποία σήµερα ένα πεδίο µε µεγάλο ερευνητικό ενδιαφέρον Η ιεραρχική δοµή του διαδικτύου Η ιεραρχία που περιγράφηκε παραπάνω, ταιριάζει σε ικανοποιητικό βαθµό µε τον ιεραρχικό τρόπο µε τον οποίο είναι δοµηµένο το διαδίκτυο. Στο χαµηλότερο επίπεδο της ιεραρχίας του διαδικτύου βρίσκονται οι τοπικοί παροχείς υπηρεσιών διαδικτύου (Local ISPs) οι οποίοι µπορούν να επικοινωνούν είτε απ ευθείας µεταξύ τους, είτε µέσω των περιφερειακών παροχέων (Regional ISPs). Κατά παρόµοιο τρόπο, οι περιφερειακοί παροχείς, συνδέονται µε εθνικούς και αυτοί µε την σειρά του µε διεθνείς παροχείς υπηρεσιών, συµπληρώνοντας την δοµή ολόκληρου του διαδικτύου όπως φαίνεται στο Σχήµα 4-1. Η ιεραρχική δοµή του διαδικτύου, δίνει την δυνατότητα για την δηµιουργία µιας αντίστοιχης ιεραρχίας από caches, µε την τοποθέτηση proxy-servers στα επιµέρους δίκτυα που απαρτίζουν το διαδίκτυο. Σχήµα 4-1: Η ιεραρχική δοµή του διαδικτύου Συνεργασία µεταξύ των Caches Πέρα από τα δεδοµένα που απαιτούνται για την εξυπηρέτηση των αιτήσεων των χρηστών, µεταξύ των caches ανταλλάσσονται διάφορα µηνύµατα επικοινωνίας, 50

59 ανάλογα µε το τρόπο οργάνωσης τους µέσα στο δίκτυο. Τα µηνύµατα αυτά έχουν ώς σκοπό να διευκολύνουν την συνεργασία µεταξύ των caches και την αύξηση του ποσοστού των αιτήσεων των χρηστών που τελικά εξυπηρετούνται από αυτές. Η απ ευθείας επικοινωνία µεταξύ των caches, αφορά ανταλλαγή πληροφοριών κυρίως σχετικά µε το περιεχόµενο τους. Με τον τρόπο αυτό όταν για παράδειγµα οι caches είναι τοποθετηµένες σε µια ιεραρχία, κάθε µια µπορεί να επικοινωνήσει µε όλες όσες βρίσκονται στο ίδιο επίπεδο της ιεραρχίας και να ελέγξει εάν ένα ζητούµενο αντικείµενο βρίσκεται σε κάποια από αυτές. Συνήθως, όταν µια αίτηση δεν µπορεί να εξυπηρετηθεί από µια cache, θεωρείται προτιµότερο να προωθηθεί σε µια κοντινή cache, απ ότι σον εξυπηρετητή Πρωτόκολλα σχετιζόµενα µε την συνεργασία µεταξύ των Caches Η καθυστέρηση στην εξυπηρέτηση µιας αίτησης κατά την αναζήτηση της απάντησης µέσα στις caches της ιεραρχίας, µπορεί σε µερικές περιπτώσεις να είναι µεγαλύτερη από αυτή που θα υπήρχε εάν το αντικείµενο ζητούταν κατευθείαν από τον κύριο εξυπηρετητή. Με άλλα λόγια, η επικοινωνία µεταξύ των caches συχνά εισάγει κάποιο κόστος που µπορεί να αναιρεί τον λόγο ύπαρξής τους. Για το λόγο αυτό έχει αναπτυχθεί µία σειρά πρωτοκόλλων που καθιστά την επικοινωνία µεταξύ των caches ευκολότερη και πιο αποτελεσµατική Internet Cache Protocol (ICP) Σύµφωνα µε το ICP, µια cache απευθύνει µέσω ενός µηνύµατος, ερώτηση στις caches µε τις οποίες επικοινωνεί απ ευθείας για να ελέγξει εάν η εξυπηρέτηση µια αίτησης ενός χρήστη µπορεί να γίνει από αυτές αντί του κύριου εξυπηρετητή. Το ICP ταιριάζει περισσότερο σε ιεραρχίες από caches. Συνοπτικά η λειτουργία του είναι η εξής. Ας υποθέσουµε ότι ένας πελάτης, κάνει αίτηση για κάποια web-σελίδα η οποία δεν υπάρχει στην cache στην οποία προωθήθηκε αρχικά η αίτηση. Η cache, στέλνει ICP αιτήσεις (συνήθως οι αιτήσεις αυτές είναι UDP µηνύµατα), ταυτόχρονα σε όλες τις caches µε τις οποίες συνδέεται απ αυθείας. Εάν λάβει κάποια θετική απάντηση, τότε προωθεί την αίτηση µέσω του πρωτοκόλλου HTTP στην cache που απάντησε θετικά. Εάν µέσα σε ένα ορισµένο χρόνο δεν λάβει καµία απάντηση, προωθεί την αίτηση στην cache του ανώτερου επιπέδου της ιεραρχίας η οποία επαναλαµβάνει την διαδικασία µε τις caches του επιπέδου της. Η διαδικασία αυτή συνεχίζεται µέχρι η αίτηση να εξυπηρετηθεί από κάποια cache ή από τον κύριο εξυπηρετητή. Στην περίπτωση του ICP γίνεται σιωπηρά η υπόθεση ότι η καθυστέρηση κατά την αναζήτηση ενός αντικειµένου µέσα στην ιεραρχία είναι µικρότερη από καθυστέρηση κατά 51

60 την προώθηση της αίτησης για το ζητούµενο αντικείµενο στον κύριο εξυπηρετητή. Κάτι που δεν ισχύει πάντα, λόγω του γεγονότος ότι το πρωτόκολλο ICP λειτουργεί στο επίπεδο εφαρµογής Cache Array Resolution Protocol (CARP) To CARP ορίζει ένα µηχανισµό σύµφωνα µε τον οποίο µια οµάδα από caches µπορεί να λειτουργήσει αποτελεσµατικά σαν µια cache, υπό την έννοια ότι τα αντικείµενα που κρατούνται στις caches της ίδιας οµάδας, διαχειρίζονται σαν να βρίσκονταν σε µια cache. Μια hash function χρησιµοποιείται για την αντιστοίχηση µια συγκεκριµένης διεύθυνσης (URL) σε κάθε cache της ίδιας οµάδας. Όταν ένας χρήστης κάνει µια αίτηση σε µια cache, αυτή προωθείτε στην κατάλληλη cache που υποδεικνύεται από την hash function. Η hash function χρησιµοποιεί το URL της αίτησης για να βρει την κατάλληλη cache µέσα στην οµάδα. Σε σύγκριση µε το ICP, το CARP χρησιµοποιεί ένα ντετερµινιστικό µηχανισµό για να προωθήσει την αίτηση και έτσι αποφεύγεται η ανταλλαγή µηνυµάτων µεταξύ των caches. Επιπλέον, µε τον τρόπο αυτό αποφεύγεται ο πλεονασµός στην αποθήκευση των ζητούµενων αντικειµένων, κάτι που συµβαίνει στο ICP. Μεταξύ των µειονεκτηµάτων αυτού του πρωτοκόλλου είναι τα ακόλουθα. Η αντιστοίχηση κάθε URL σε µια συγκεκριµένη cache της οµάδας, πρέπει να αλλάζει κάθε φορά που στο σύστηµα γίνεται µια αλλαγή (π.χ. όταν προστίθεται η αφαιρείται µια cache από την οµάδα). Επίσης, ένα συγκεκριµένο URL αντιστοιχεί σε µια µοναδική cache, και έτσι δεν επιτυγχάνεται εξισορρόπηση του πλήθους των αιτήσεων που δέχεται η κάθε cache. Τα δηµοφιλή URL s θα αντιστοιχούν σε ένα µικρό αριθµό από caches, οι οποίες θα καλούνται να αντεπεξέλθουν σε µεγάλο αριθµό αιτήσεων. Επιπλέον σε περίπτωση που κάποια cache πάθει βλάβη και τεθεί προσωρινά εκτός λειτουργίας, οι αιτήσεις που αντιστοιχούν σε αυτή υποχρεωτικά θα προωθούνται στον κύριο εξυπηρετητή (server) Το Cache Digest Protocol Το πρωτόκολλο αυτό είναι ουσιαστικά µια επέκταση του ICP, µε σκοπό να µειώσει το πλήθος των µηνυµάτων που ανταλλάσσονται µεταξύ των caches. Η βασική ιδέα είναι να επιτρέπεται η ανταλλαγή µεταξύ των caches µιας πληροφορίας που περιέχει την περίληψη 8 (digest) των περιεχοµένων κάθε cache. Με τον τρόπο αυτό, µια cache γνωρίζει τον περιεχόµενο των γειτονικών caches (µε τις οποίες συνδέεται απευθείας) και 8 Με την λέξη περίληψη εννοούµε τους τίτλους των αντικειµένων. 52

61 είναι σε θέση να αποφανθεί εάν µια αίτηση µπορεί να εξυπηρετηθεί σε κάποια από τις γειτονικές caches η εάν θα πρέπει να προωθηθεί στον κύριο εξυπηρετητή. Ένα προφανές πρόβληµα στην λύση αυτή είναι το γεγονός ότι όταν τα περιεχόµενα µιας cache αλλάζουν µε γρήγορο ρυθµό, αυξάνεται η πιθανότητα του ενδεχοµένου µια cache να έχει εσφαλµένη πληροφορία για τα περιεχόµενα των γειτονικών της. Επιπλέον, η ανταλλαγή της περίληψης των περιεχοµένων, ειδικά στην περίπτωση που υπάρχουν πολλές διασυνδεδεµένες caches, έχει κάποιο κόστος καθώς τα µηνύµατα αυτά είναι σαφώς µεγαλύτερα από τις απλές ερωτήσεις που ανταλλάσσονται στο ICP. 4.2 Περιγραφή του συστήµατος Όπως αναφέρθηκε, η ιεραρχική δοµή του διαδικτύου διευκολύνει την δηµιουργία ιεραρχιών από caches µε κατάλληλη τοποθέτηση των τελευταίων σε αυτό. Σε ιεραρχίες όπως αυτή που περιγράφηκε στην προηγούµενη παράγραφο, µια από τις καταλληλότερες περιοχές για την τοποθέτηση µιας cache είναι τα σηµεία µεταγωγής. Ο λόγος που καθιστά τα σηµεία µεταγωγής κατάλληλα για τοποθέτηση των caches είναι ότι αποτελούν σηµεία συγκέντρωσης αιτήσεων από διαφορετικές κατευθύνσεις. Ένα επιπλέον πλεονέκτηµα που έχει η τοποθέτηση των caches στα σηµεία µεταγωγής είναι η διευκόλυνση της συνεργασίας µεταξύ των caches. Η προώθηση των αιτήσεων σε caches εκτός του µονοπατιού που οδηγεί στον κύριο εξυπηρετητή και εποµένως η «ατέρµονη» αναζήτηση µιας απάντησης σε µεγάλο τµήµα της ιεραρχίας µπορεί να αποφευχθεί. Τα τελευταία χρόνια έχουν αναπτυχθεί από διάφορους κατασκευαστές δικτυακών συστηµάτων αρκετά προϊόντα τόσο σε επίπεδο υλικού όσο και λογισµικού προς την κατεύθυνση αυτή, που δίνουν την δυνατότητα του caching σε µεταγωγείς και δροµολογητές. Γενικότερα, η ανάπτυξη δικτύων διανοµής δεδοµένων µε την χρήση εξειδικευµένου λογισµικού και υλικού στηρίχθηκε πάνω στην ιδέα του caching και των σχετιζοµένων µε αυτό τεχνικών. Στην παράγραφο αυτή προτείνεται ένα σύστηµα διανοµής δεδοµένων βίντεο (που χαρακτηρίζονται από το µεγάλο τους µέγεθος και τις αυστηρές απαιτήσεις χρονισµού). το οποίο χρησιµοποιεί caches στα σηµεία µεταγωγής, όπως περιγράφηκε παραπάνω και απεικονίζεται στο Σχήµα 4-2. Κατά αντιστοιχία µε το σύστηµα που περιγράψαµε στην ενότητα 2.2, έχουµε θεωρήσει ότι σε µια «άκρη» του δικτύου υπάρχουν οι κύριοι εξυπηρετητές οι οποίοι διατηρούν αποθηκευµένα τοπικά ένα αριθµό από βίντεο, τα οποία µε τη σειρά τους ζητούνται από τους χρήστες σε κάποια άλλη «άκρη» του δικτύου. Οι αιτήσεις των χρηστών 53

62 Σχήµα 4-2: Το σύστηµα διανοµής βίντεο βασισµένο σε ιεραρχίες από caches. προωθούνται αρχικά σε κάποιο βοηθητικό εξυπηρετητή και στην συνέχεια µέσω των δροµολογητών (σηµείων µεταγωγής) στον κύριο εξυπηρετητή. Μετά από την επιλογή ενός κατάλληλου µονοπατιού, τα δεδοµένα αποστέλλονται στους χρήστες ενώ ένα τµήµα τους αποθηκεύεται ενδεχοµένως στα σηµεία µεταγωγής µέσα στο µονοπάτι Η επικοινωνία µεταξύ των caches θεωρούµε ότι τα χαρακτηριστικά των caches που είναι τοποθετηµένες στα σηµεία µεταγωγής (από τα οποία περνούν τα δεδοµένα κατά την µετάδοσής τους προς τους χρήστες) έχουν χαρακτηριστικά αντίστοιχα µε αυτές που είναι τοποθετηµένες σε ένα βοηθητικό εξυπηρετητή και περιγράφονται αναλυτικά στην παράγραφο Στην συνέχεια, θα περιγράψουµε τον τρόπο µε τον οποίο οι caches επικοινωνούν µεταξύ τους, ανταλλάσσοντας µικρή ποσότητα πληροφορίας, µε βάση την οποία κάθε µια καθορίζει το συγκεκριµένο τµήµα των δεδοµένων που θα αποθηκεύσει. Στο προτεινόµενο σύστηµα, σε ένα µεγάλο βαθµό κάθε cache στην αλυσίδα διατηρεί την αυτονοµία της. Συγκεκριµένα, κάθε cache αποφασίζει ανεξάρτητα από τις άλλες caches για το µέγεθος των δεδοµένων που θα αποθηκεύσει για κάποιο συγκεκριµένο βίντεο, καθώς και για το αντικείµενο το οποίο θα διαγράψει στην περίπτωση που δεν υπάρχει αρκετός χώρος για τα νέα δεδοµένα. Η λειτουργία κάθε cache µέσα στην αλυσίδα περιγράφεται συνοπτικά στο Σχήµα 4-3. Αρχικά περιορίζεται στο να προωθεί τα δεδοµένα που λαµβάνει από την προηγούµενη προς την επόµενη στην αλυσίδα (µε κατεύθυνση από τον εξυπηρετητή προς τους χρήστες) και στο να αποφασίζει το µέγεθος του τµήµατος του αποθηκευτικού της χώρου, που θα αφιερώσει στο συγκεκριµένο βίντεο (σχήµα α). Κάποια χρονική στιγµή η cache λαµβάνει ένα µήνυµα από την επόµενη στο µονοπάτι και αρχίζει να γεµίζει µε τα δεδοµένα που λαµβάνει από την προηγούµενη στο µονοπάτι το χώρο που είχε προαποφασίσει (σχήµα β). Ταυτόχρονα συνεχίζει να προωθεί τα δεδοµένα στην επόµενη cache. Όταν ο χώρος που έχει αποφασιστεί να 54

63 Σχήµα 4-3: Τα τέσσερα βασικά σηµεία της λειτουργίας κάθε µιας από της caches του µονοπατιού από τον εξυπηρετητή στους χρήστες. αφιερωθεί για το συγκεκριµένο βίντεο εξαντληθεί, η cache στέλνει ένα µήνυµα στην προηγούµενή της στο µονοπάτι για να ξεκινήσει αυτή µε την σειρά της να αποθηκεύει τα επόµενα τµήµατα του βίντεο. Με τον τρόπο αυτό το βίντεο ένα µεγάλο µέρος του βίντεο (αν όχι ολόκληρο) αποθηκεύεται µε κατανεµηµένο τρόπο στο µονοπάτι από τον εξυπηρετητή προς του χρήστες. Η µόνη πληροφορία που µια cache πρέπει να στείλει ή να λάβει κατά την παραπάνω διαδικασία είναι ένα µήνυµα σχετικά µε την χρονική στιγµή την οποία πρέπει να ξεκινήσει να αποθηκεύει την πληροφορία που λαµβάνει και ένα δεύτερο µήνυµα που πρέπει να στείλει στην προηγούµενη στο µονοπάτι cache για να την ενηµερώσει ότι ο δικός της χώρος έχει εξαντληθεί. Ελαφρώς διαφοροποιηµένη είναο µόνο η συµπεριφορά της cache που βρίσκεται στον τελευταίο κόµβο της αλυσίδας από caches, η οποία ξεκινά να αποθηκεύει το πρόθεµα του βίντεο όταν αυτό καταστεί διαθέσιµο και είναι αυτή που στέλνει το πρώτο µήνυµα-ειδοποίηση προς τα πίσω. Η σταδιακή αποθήκευση των δεδοµένων στις caches της αλυσίδας µετά από µια αίτηση απεικονίζεται στο Σχήµα 4-4. Μια δεύτερη αίτηση για το ίδιο βίντεο, αφενός µπορεί να αρχίσει να εξυπηρετείται γρηγορότερα καθώς το αρχικό κοµµάτι του βίντεο θα βρίσκεται στον πλησιέστερο βοηθητικό εξυπηρετητή, αφετέρου η µετάδοση του βίντεο θα γίνει µε µεγαλύτερη 55

64 Σχήµα 4-4: Η σταδιακή αποθήκευση των δεδοµένων στις caches της αλυσίδας µετά από µια αίτηση. «αντοχή» στις τυχαίες καθυστερήσεις µέσα στο δίκτυο, καθώς το σύνολο των δεδοµένων βρίσκεται κοντύτερα στους χρήστες. Κοιτάζοντας αποµονωµένα κάθε µια από της caches που δηµιουργούν την αλυσίδα που συνδέει τους χρήστες µε τον κύριο εξυπηρετητή, η λειτουργία της είναι όµοια µε αυτή των caches που βρίσκονται σε τυπικούς βοηθητικούς εξυπηρετητές και µελετήθηκαν στα προηγούµενα κεφάλαια. Με κάθε νέα αίτηση για το ίδιο βίντεο, ο χώρος που διατίθεται σε κάθε επιµέρους cache αυξάνεται µε αποτέλεσµα όσο αυτό ζητείται, να µετακινείται σταδιακά ολοένα και πιο κοντά στους χρήστες. Με τον τρόπο αυτό δηµιουργείται για κάθε διαφορετική γειτονία χρηστών µέσα στην ιεραρχία ένα αντίτυπο των δεδοµένων. Τα αντίτυπα αυτά µπορεί να επικαλύπτονται µερικώς εάν και τα µονοπάτια που οδηγούν σε διαφορετικές «γειτονιές» έχουν κοινά τµήµατα, µε αποτέλεσµα να µειώνεται ο συνολικός απαιτούµενος χώρος για την αποθήκευση πολλαπλών ανατύπων Επιλογή του µονοπατιού Προκειµένου ένα αντίτυπο ενός βίντεο που αποθηκεύεται µετά από µια αίτηση σε µια σειρά από κόµβους µεταγωγής να είναι χρήσιµο και για µελλοντικές αιτήσεις, θα πρέπει να διασφαλιστεί κατά το δυνατόν ότι και για τις επόµενες αιτήσεις, θα επιλεχθεί το ίδιο µονοπάτι. Αυτό µπορεί να επιτευχθεί ως εξής. Κάθε κόµβος µεταγωγής, µαζί µε τις 56

65 πληροφορίες δροµολόγησης, κρατάει αποθηκευµένα και τα στοιχεία του επόµενου κόµβου για τον οποίο γνωρίζει ότι υπάρχει αποθηκευµένο τµήµα του αντικείµενου. Η πληροφορία αυτή του είναι γνωστή από την πρώτη φορά που µεταδόθηκε το συγκεκριµένο βίντεο από το µονοπάτι. Έτσι, κατά την δροµολόγηση και την επιλογή του πλησιέστερου µονοπατιού, χρησιµοποιείται η πληροφορία αυτή ώστε µε µεγαλύτερη πιθανότητα να περάσει το ίδιο αντικείµενο από όσο το δυνατόν περισσότερους από τους κόµβους που έχει ήδη περάσει στο παρελθόν, έτσι ώστε να δηµιουργηθεί σιγά-σιγά ένα αντίτυπο του αντικειµένου αυτού µέσα στο δίκτυο Αλγόριθµοι αντικατάστασης Στο κεφάλαιο αυτό, προκειµένου να µελετήσουµε την συµπεριφορά του συστήµατός θα χρησιµοποιηθούν οι ίδιοι αλγόριθµοι αντικατάστασης που µελετήθηκαν στα κεφάλαια 2 και 3 και είναι βασισµένοι στην τµηµατοποίηση του βίντεο. Για την ακρίβεια θα µελετήσουµε την συµπεριφορά του συστήµατος όταν η τµηµατοποίηση του βίντεο και η αντικατάσταση των αντικειµένων γίνεται µε την χρήση της FCS σε συνδυασµό µε την LRU. Θεωρούµε λοιπόν, ότι το µέγεθος του χώρου που αποφασίζει µια cache να αφιερώσει κάθε φορά που δέχεται µια αίτηση για ένα βίντεο (Σχήµα 4-3-(α)) είναι ίδιο για όλες τις caches στο µονοπάτι, για όλες τις αιτήσεις και για όλα τα βίντεο και ίσο µε το µέγεθος ενός chunk. Το ακριβές µέγεθος του chunk, που ουσιαστικά ορίζει την µονάδα αντικατάστασης σε κάθε cache της αλυσίδας, είναι και η παράµετρος του συστήµατος. Η FCS προτιµήθηκε για λόγους απλότητας (κυρίως της επίδειξης των αποτελεσµάτων) και υπάρχει η πεποίθηση, ότι ποιοτικά η λειτουργία του συστήµατος είναι παρόµοια και κάτω από άλλες µεθόδους τµηµατοποίησης (VCS) ή από άλλες παραδοχές (π.χ. Ότι το µέγεθος του chunk είναι διαφορετικό σε κάθε cache της αλυσίδας) 4.3 Βέλτιστη στατική τοποθέτηση σε µια αλυσίδα από caches Ας θεωρήσουµε µια αλυσίδα από caches µέσα σε µια ιεραρχία, που συνθέτει ένα µονοπάτι από µια «γειτονιά» χρηστών προς τον αποµακρυσµένο εξυπηρετητή. Κατά αντιστοιχία µε το απλό µοντέλο χρήστη-proxy-εξυπηρετητή που χρησιµοποιήσαµε στο κεφάλαιο 2 µπορούµε να θεωρήσουµε ότι ολόκληρη η αλυσίδα από τους βοηθητικούς εξυπηρετητές που µεσολαβεί µεταξύ της συγκεκριµένης οµάδας χρηστών και του εξυπηρετητή, αποτελεί έναν ιδεατό βοηθητικό εξυπηρετητή. Θα ήταν εποµένως χρήσιµο να εξετάσουµε την βέλτιστη στατική τοποθέτηση των περιεχοµένων σε αυτόν τον ιδεατό 57

66 βοηθητικό εξυπηρετητή. Σε αντίθεση µε έναν απλό βοηθητικό εξυπηρετητή, όπου µας απασχολεί µόνο ποια αντικείµενα θα αποθηκευτούν σε αυτόν, στον σύνθετο ιδεατό βοηθητικό εξυπηρετητή µας απασχολεί και η σειρά µε την οποία αποθηκεύονται στις επιµέρους caches. Ας υποθέσουµε λοιπόν ότι η αλυσίδα αποτελείται από L caches. H cache που βρίσκεται κοντύτερα στους χρήστες θα ονοµάζεται cache επιπέδου l 1, και οι υπόλοιπες (κατά σειρά προς τον κύριο εξυπηρετητή) l 2, l 3, l L. Ας συµβολίσουµε µε c i το κόστος που σχετίζεται µε την απόσταση της cache στο επίπεδο l i, από τον εξυπηρετητή. Για τα l i, l j όταν i j, ισχύει ότι c i c j, καθώς το επίπεδο l i βρίσκεται πιο µακριά από τον εξυπηρετητή απ ότι το l j. Θεωρούµε επίσης ότι στο επίπεδο l k, k > L, είναι ο κύριος εξυπηρετητής και ότι c k =0. Ο βέλτιστος τρόπος τοποθέτησης των αντικειµένων σε αυτή την αλυσίδα από caches δίνεται από την πολιτική ΜHPF (Multi-level Highest Popularity First) σύµφωνα µε την οποία, η cache στο επίπεδο l 1, τοποθετεί τα αντικείµενα µε βάση την HPF, η l 2 τοποθετεί τα εναποµείναντα αντικείµενα (αυτά που δεν χώρεσαν στην l 1 ) πάλι µε βάση την HPF κ.ο.κ. Σε µια πιο τυποποιηµένη µορφή, σύµφωνα µε την MHPF, i,j : p i p j, l i l j,,όπου p i (p j ) είναι η πιθανότητα ζήτησης του αντικειµένου i, (j) και l i, (l j ) είναι το επίπεδο στο οποίο είναι αποθηκευµένο το αντικείµενο i, (j). Στην συνέχεια αποδεικνύουµε ότι η πολιτική MHPF είναι η βέλτιστη πολιτική. Απόδειξη: Ας θεωρήσουµε δύο αντικείµενα i,j που σύµφωνα µε την MHPF βρίσκονται αποθηκευµένα στην αλυσίδα µήκους L στα επίπεδα m (m L) και n (n > m) αντίστοιχα. Σύµφωνα µε την ΜHPF η µείωση του κόστους πρόσβασης στον εξυπηρετητή λόγω της ύπαρξης της αλυσίδας από caches στο µονοπάτι και της τοποθέτησης των αντικειµένων σε αυτή είναι: R ΜHPF = K + p i c m + p j c n (1) όπου το K εκφράζει την µείωση του κόστους πρόσβασης στον κύριο εξυπηρετητή λόγω του γεγονότος ότι όλα τα αντικείµενα πλην των i και j, είναι αποθηκευµένα στην cache και οι ποσότητες p i c i και p j c j εκφράζουν την µείωση του κόστους λόγω της ύπαρξης των αντικειµένων i και j στα επίπεδα m και n αντίστοιχα. Ας υποθέσουµε η MHPF δεν ήταν η βέλτιστη και ότι υπάρχει κάποια άλλη πολιτική τοποθέτησης A για την οποία ισχύει R A R ΜHPF κατά την οποία, το 58

67 αντικείµενο j βρίσκεται στην θέση του αντικειµένου i, στο επίπεδο m και αντιστρόφως. Η µείωση του κόστους πρόσβασης δίνεται από την σχέση: R A = K + p i c n + p j c m (2) Αφαιρώντας τις (1) και (2) κατά µέλη έχουµε: R ΜHPF - R A = p i c m + p j c n - p i c n - p j c m R ΜHPF - R A = p i (c m c n ) + p j (c n c m ) (3) Έστω c m c n = µ 0 καθώς c m c n, Συνεχίζοντας από την (3) έχουµε: R ΜHPF - R A = p i µ + p j ( µ) R ΜHPF - R A = µ (p i p j ) 0 (εφόσον p i p j ) Εποµένως προκύπτει ότι R ΜHPF - R A 0 R ΜHPF R A, δηλαδή η αρχική µας υπόθεση ότι υπάρχει µια πολιτική A καλύτερη από την ΜHPF, δεν είναι αληθής. Όπως έχει αναφερθεί και στην παράγραφο 3.4 η βέλτιστη στατική τοποθέτηση, προϋποθέτει ένα µη ρεαλιστικό περιβάλλον σύµφωνα µε το οποίο, οι πιθανότητες ζήτησης των αντικειµένων είναι εκ των προτέρων γνωστές και χρονικά αµετάβλητες. Στην συνέχεια θα µελετήσουµε το σύστηµα της αλυσίδας από caches σε πιο ρεαλιστικά σενάρια στα οποία τα περιεχόµενα της cache διαµορφώνονται µε βάση τους αλγορίθµους αντικατάστασης που παρουσιάστηκαν στο Κεφάλαιο Μελέτη της απόδοσης του συστήµατος Στην ενότητα αυτή έχουµε πραγµατοποιήσει µιας µικρής κλίµακας προσοµοίωση, o βασικός στόχος της οποία είναι να επιδείξουµε την ορθότητα του προτεινόµενου τρόπου λειτουργίας των caches µέσα στην αλυσίδα (και κατ επέκταση στην ιεραρχία), την καταλληλότητα των αλγορίθµων που προτάθηκαν στο κεφάλαιο 2 και γενικότερα της τµηµατοποίησης του βίντεο για την περίπτωση του ιεραρχικού caching. Για να το πραγµατοποιήσουµε αυτό στηριζόµαστε στην βέλτιστη στατική τοποθέτηση των περιεχοµένων µε βάση την MHPF και προσπαθούµε να δείξουµε ότι οι προτεινόµενοι αλγόριθµοι προσεγγίζουν την MPHF χωρίς να γνωρίζουν εκ των προτέρων την πιθανότητα ζήτησης των αντικειµένων. Επιπλέον, επιδεικνύεται πως οι προτεινόµενοι 59

68 αλγόριθµοι έχουν την ικανότητα δυναµικής προσαρµογής στην νέα βέλτιστη κατάσταση µετά από µια αλλαγή στην ζήτηση Μοντέλο του συστήµατος Το σύστηµα που προσοµοιώσαµε αποτελείται από µια αλυσίδα 6 βοηθητικούς εξυπηρετητές χωρητικότητας 500 µονάδες ο καθένας, που συνδέουν µια οµάδα χρηστών µε έναν κύριο εξυπηρετητή. Ο κύριος εξυπηρετητής διαθέτει 10 βίντεο µεγέθους 300 µονάδες το καθένα. Η συνολική χωρητικότητα της αλυσίδας είναι ίση µε συνολικό µέγεθος των διαθέσιµων αντικειµένων. Τα υπόλοιπα χαρακτηριστικά του συστήµατος, καθώς και οι παραδοχές που έγιναν είναι οι ίδιες µε αυτές στην ενότητα Παρουσίαση αποτελεσµάτων Σύγκριση µε την MHPF Στην παράγραφο αυτή εξετάζουµε την ικανότητα της FCS να διαµορφώσει τα περιεχόµενα της αλυσίδας µε τρόπο κατά το δυνατόν πλησιέστερο µε αυτόν της MHPF. Στο Σχήµα 4-5 απεικονίζεται η κατανοµή καθενός από τα 10 βίντεο στις έξι caches. Κάθε επιµέρους σχήµα (α,β... ι) αντιστοιχεί σε ένα βίντεο ενώ κάθε στήλη αντιστοιχεί στα περιεχόµενα της καθεµιάς από τις έξι caches. Έτσι, στο Σχήµα 4-5-(α) παρατηρούµε ότι το βίντεο 1, που είναι και το πιο δηµοφιλές, βρίσκεται ολόκληρο στην πρώτη cache (σε αυτή που βρίσκεται κοντύτερα στους χρήστες). Οµοίως στο Σχήµα 4-5-(β), παρατηρούµε ότι ένα µέρος του βίντεο 2 βρίσκεται στην πρώτη cache και το υπόλοιπο στην δεύτερη. Παρόµοιες παρατηρήσεις µπορούν να γίνουν και για τα υπόλοιπα βίντεο. Συνοψίζοντας, στο το Σχήµα 4-5 παρατηρούµε ότι αφήνοντας την FCS να διαµορφώσει δυναµικά τα περιεχόµενα της αλυσίδας, η κατάσταση στην οποία συγκλίνει το σύστηµα είναι όµοια µε την κατάσταση που προκύπτει µε την εφαρµογή της MHPF. ηλαδή τα Σχήµα 4-5: Η κατανοµή των δεδοµένων καθενός από τα δέκα βίντεο ((α) έως (ι)) στις έξι caches της αλυσίδας. 60

69 πιο δηµοφιλή βίντεο βρίσκονται στις caches που είναι κοντύτερα στους χρήστες. Αξίζει να θυµίσουµε στο σηµείο αυτό ότι µε παρόµοιο τρόπο η FCS µε µικρό µέγεθος chunk συνέκλινε στην απλή HPF στην περίπτωση ενός proxy στο µονοπάτι µεταξύ των χρηστών και του εξυπηρετητή. Στο Σχήµα 4-6 απεικονίζεται η κατάσταση ολόκληρης της αλυσίδας της cache. Κάθε στήλη αντιστοιχεί στα περιεχόµενα µιας cache (η πρώτη στήλη αντιστοιχεί στα περιεχόµενα της πρώτης cache κ.ο.κ.) και κάθε βίντεο σε διαφορετικό χρώµα. Τα συµπεράσµατα που προκύπτουν είναι όµοια µε αυτά που προέκυψαν και από το Σχήµα 4-5. To βίντεο 1 που απεικονίζεται µε το σκούρο µπλε χρώµα, βρίσκεται σχεδόν ολόκληρο στην πρώτη cache. Στην πρώτη cache βρίσκεται και ένα µέρος από το βίντεο 2 (ανοιχτό µπλε) το υπόλοιπο µέρος του οποίου βρίσκεται στην δεύτερη cache κ.ο.κ Η προσαρµοστικότητα στις αλλαγές της ζήτησης Προκειµένου να εξετάσουµε την ικανότητα προσαρµογής των περιεχοµένων κάθε cache στις αλλαγές τις ζήτησης κάναµε το εξής: Μοντελοποιήσαµε µια αλλαγή αλλάζοντας την δηµοτικότητα του πρώτου βίντεο µε αυτήν του τέταρτου και αφήσαµε τον αλγόριθµο αντικατάστασης να διαµορφώσει τα περιεχόµενα της cache. Τα περιεχόµενα κάθε µιας από τις 6 caches πριν και µετά την αλλαγή αυτή απεικονίζονται στα σχήµατα Σχήµα 4-6 και Σχήµα 4-7 αντιστοίχως. Συγκρίνοντας τα δύο αυτά σχήµατα παρατηρούµε ότι µετά την αλλαγή το βίντεο 4 (ανοιχτό γαλάζιο χρώµα) έχει µεταφερθεί στην πρώτη cache εξ ολοκλήρου ενώ το βίντεο 1 (σκούρο µπλε) έχει µοιραστεί στην δεύτερη και την τρίτη cache. ηλαδή µε τα την πάροδο ενός χρόνου προσαρµογής, το σύστηµα επανήλθε σε κατάσταση κοντά στην βέλτιστη που δίνεται από την MHPF Σχήµα 4-6: Τα περιεχόµενα σε κάθε cache της αλυσίδας. Σχήµα 4-7: Τα περιεχόµενα της αλυσίδας µετά από µια αλλαγή στην δηµοτικότητα των αντικειµένων, 61

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

Διαβάστε περισσότερα

ΠΟΛΥΜΕΣΑ ΣΤΟ ΙΑ ΙΚΤΥΟ

ΠΟΛΥΜΕΣΑ ΣΤΟ ΙΑ ΙΚΤΥΟ ΠΟΛΥΜΕΣΑ ΣΤΟ ΙΑ ΙΚΤΥΟ 1. Εισαγωγή Μετά τη ραγδαία εξάπλωση του ιαδικτύου (Internet) σε όλο τον κόσµο, δηµιουργήθηκε η ανάγκη παροχής πολυµεσικών υπηρεσιών µέσω του ιαδικτύου. Οι βασικές πολυµεσικές υπηρεσίες

Διαβάστε περισσότερα

Εγγυημένη ποιότητα υπηρεσίας

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

Διαβάστε περισσότερα

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. ΚΕΦΑΛΑΙΟ 13 Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. Οι υπηρεσίες νέφους παρέχονται με τέτοιο τρόπο ώστε ο τελικός χρήστης δεν μπορεί να διακρίνει τεχνικές λεπτομέρειες. Η χρηστικότητα, η διαθεσιμότητα

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΡΟΜΟΛΟΓΗΣΗ Χαρακτηριστικά Στρατηγικές ροµολόγησης Παραδείγµατα Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ - κεφ.10 (2/3)

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ. ιπλωµατική Εργασία

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ. ιπλωµατική Εργασία ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΟΜΕΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΙΚΤΥΩΝ ιπλωµατική Εργασία Study of the Impact of Cache Replacement Algorithms Associated

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Συνεχής ροή πολυµέσων

Συνεχής ροή πολυµέσων Συνεχής ροή πολυµέσων Εισαγωγή ικτυακά πρωτόκολλα Πολυµέσα και δίκτυα Συνεχής ροή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές µέσων Πρωτόκολλο RTSP Πρωτόκολλο RTP οµή πακέτων RTP Πρωτόκολλο RTCP

Διαβάστε περισσότερα

Εισαγωγή. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 01-1

Εισαγωγή. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 01-1 Εισαγωγή Τι είναι τα πολυμέσα; Χαρακτηριστικά των μέσων Ιδιότητες συστημάτων πολυμέσων Δομή συστημάτων πολυμέσων Δικτυακά συστήματα πολυμέσων Μετάδοση πολυμέσων Απαιτήσεις πολυμέσων Ποιοι εμπλέκονται στα

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών II Εργασία 1 η

Δίκτυα Υπολογιστών II Εργασία 1 η Δίκτυα Υπολογιστών II Εργασία 1 η Παράδοση στο e-class Προθεσµία: 6/4/2014 Σωτήρης Διαµαντόπουλος, Σωτήρης-Άγγελος Λένας {sdiaman, slenas} @ ee.duth.gr Στα αρχεία µε όνοµα Ergasia1_a.tcl και Ergasia1_b.tcl,

Διαβάστε περισσότερα

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου 200-04-25. ιαδικασίες γεννήσεων-θανάτων. Ορισµός Οι διαδικασίες γεννήσεων-θανάτων (birth-death rocesses) αποτελούν µια σπουδαία κλάση αλυσίδων Markov (διακριτού ή συνεχούς χρόνου). Η ιδιαίτερη συνθήκη

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΥΠ.ΕΣ...Α Αριθµ.Πρωτ. / ΙΑ Π/A1/22123 Γ.Γ. ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΓΕΝ. /ΝΣΗ ΙΟΙΚΗΤΙΚΗΣ ΟΡΓΑΝΩΣΗΣ /ΝΣΗ ΑΠΛΟΥΣΤΕΥΣΗΣ ΙΑ ΙΚΑΣΙΩΝ ΚΑΙ ΠΑΡΑΓΩΓΙΚΟΤΗΤΑΣ ΤΜΗΜΑ ΜΕΘΟ ΩΝ ΕΡΓΑΣΙΩΝ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

Διαβάστε περισσότερα

ιαχείριση Εφοδιαστικής Αλυσίδας

ιαχείριση Εφοδιαστικής Αλυσίδας ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΣΑΓΩΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ: ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ιαχείριση Εφοδιαστικής Αλυσίδας Εφοδιαστική Αλυσίδα (ΕΡΓ.)

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

ΧΑΙΡΕΤΙΣΜΟΣ ΠΡΟΕΔΡΟΥ ΔΡ. ΑΝΔΡΕΑ ΠΟΥΛΛΙΚΚΑ ΡΥΘΜΙΣΤΙΚΗ ΑΡΧΗ ΕΝΕΡΓΕΙΑΣ ΚΥΠΡΟΥ

ΧΑΙΡΕΤΙΣΜΟΣ ΠΡΟΕΔΡΟΥ ΔΡ. ΑΝΔΡΕΑ ΠΟΥΛΛΙΚΚΑ ΡΥΘΜΙΣΤΙΚΗ ΑΡΧΗ ΕΝΕΡΓΕΙΑΣ ΚΥΠΡΟΥ ΧΑΙΡΕΤΙΣΜΟΣ ΠΡΟΕΔΡΟΥ ΔΡ. ΑΝΔΡΕΑ ΠΟΥΛΛΙΚΚΑ ΡΥΘΜΙΣΤΙΚΗ ΑΡΧΗ ΕΝΕΡΓΕΙΑΣ ΚΥΠΡΟΥ ΔΗΜΟΣΙΑ ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΚΑΝΟΝΩΝ ΑΓΟΡΑΣ ΗΛΕΚΤΡΙΣΜΟΥ ΤΡΙΤΗ, 8 ΜΑΡΤΙΟΥ 2016 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΚΤΗΡΙΟ ΣΥΜΒΟΥΛΙΟΥ ΣΥΓΚΛΗΤΟΥ Φίλε

Διαβάστε περισσότερα

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό, 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή 1. εδοµένα, Πληροφορίες και Υπολογιστές 2. Πώς φτάσαµε στους σηµερινούς υπολογιστές 3. Το υλικό ενός υπολογιστικού συστήµατος 4. Το λογισµικό ενός υπολογιστικού συστήµατος

Διαβάστε περισσότερα

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 1 / 32 Σε έναν κόμβο ο οποίος επιθυμεί να αποστείλει δεδομένα σε κάποιον

Διαβάστε περισσότερα

Λύση: Λύση: Λύση: Λύση:

Λύση: Λύση: Λύση: Λύση: 1. Ένας δίαυλος έχει ρυθµό δεδοµένων 4 kbps και καθυστέρηση διάδοσης 20 msec. Για ποια περιοχή µηκών των πλαισίων µπορεί η µέθοδος παύσης και αναµονής να έχει απόδοση τουλάχιστον 50%; Η απόδοση θα είναι

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

Πολυμέσα σε Δίκτυα Κινητών Συσκευών

Πολυμέσα σε Δίκτυα Κινητών Συσκευών Πολυμέσα σε Δίκτυα Κινητών Συσκευών Ποιότητα υπηρεσιών Βίντεο κατ' απαίτηση Πολυεκπομπή Βίντεο-συνομιλία Στοιχεία και προβλέψεις CISCO Το 60% της κίνησης δεδομένων στα Δίκτυα Κινητών αφορούσε σε βίντεο

Διαβάστε περισσότερα

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Δυναμικοί Μηχανισμοί Προσωρινής Αποθήκευσης Τμηματοποιημένης Πληροφορίας Βίντεο σε Κρυφή Μνήμη για Παροχή κατ

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ 157 73, ΑΘΗΝΑ ΕΒΓ - ΙΠΛ-2003-1 20 Ιανουαρίου 2003 Σύγκριση Αλγορίθµων

Διαβάστε περισσότερα

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.11 Πρωτόκολλα Εφαρµογής 104. Αναφέρετε ονοµαστικά τις πιο χαρακτηριστικές εφαρµογές που υποστηρίζει η τεχνολογία TCP/IP οι οποίες είναι διαθέσιµες στο ιαδίκτυο 1. Ηλεκτρονικό

Διαβάστε περισσότερα

ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΔΙΑΧΕΙΡΗΣΗ ΑΠΟΘΕΜΑΤΩΝ ΕΝΟΤΗΤΑ 7η

ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΔΙΑΧΕΙΡΗΣΗ ΑΠΟΘΕΜΑΤΩΝ ΕΝΟΤΗΤΑ 7η ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΔΙΑΧΕΙΡΗΣΗ ΑΠΟΘΕΜΑΤΩΝ ΕΝΟΤΗΤΑ 7η ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ Τι ορίζεται ως απόθεμα;

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Τεχνικές κατασκευής δένδρων επιθεµάτων πολύ µεγάλου µεγέθους και χρήσης

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2013-2014 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 Λύσεις Πρώτης Προόδου (συνολικά 100 μονάδες) 1. Αντιπαραθέσετε

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Μεγιστοποιώντας τον ψυκτικό χώρο Ράλφ Τέιτορ, Συστήµατα Προηγµένης Τεχνολογίας, Εταιρεία Περιορισµένης Ευθύνης

Μεγιστοποιώντας τον ψυκτικό χώρο Ράλφ Τέιτορ, Συστήµατα Προηγµένης Τεχνολογίας, Εταιρεία Περιορισµένης Ευθύνης Μεγιστοποιώντας τον ψυκτικό χώρο Ράλφ Τέιτορ, Συστήµατα Προηγµένης Τεχνολογίας, Εταιρεία Περιορισµένης Ευθύνης Υπάρχουν δύο τρόποι για να αυξήσετε την αµιγή χωρητικότητα του αποθηκευτικού χώρου, ο πρώτος

Διαβάστε περισσότερα

Εφαρµογές των πολυµέσων

Εφαρµογές των πολυµέσων Εφαρµογές των πολυµέσων Κατηγοριοποίηση εφαρµογών Οµαδική εργασία Καταµερισµένος πίνακας Καταµερισµένη εφαρµογή ιανοµή διαλέξεων Τηλεδιάσκεψη Ηλεκτρονικό ταχυδροµείο Ανάκτηση πληροφοριών Ανάκτηση βίντεο

Διαβάστε περισσότερα

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 CubisLITE Client Οδηγίες Χρήσεως Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ. 176 75, Ελλάδα, Τηλ. 210 9580887-8 Φαξ.2109580885 1 ΠΕΡΙΕΧΟΜΕΝΑ Γενικά 1. Τι είναι ο CubisLITE Server 2. Τι είναι ο

Διαβάστε περισσότερα

Όχι, γιατί αν κάθε browser ζητά διαφορετικό αντικείμενο κάθε φορά τότε όχι μόνο δεν βελτιώνει αλλα χειροτερεύει τον χρόνο προσπέλασης

Όχι, γιατί αν κάθε browser ζητά διαφορετικό αντικείμενο κάθε φορά τότε όχι μόνο δεν βελτιώνει αλλα χειροτερεύει τον χρόνο προσπέλασης 1. Ένας αντιπρόσωπος με κρυφή μνήμη διαμοιραζόμενη σε πολλούς περιηγητές βελτιώνει το χρόνο πρόσβασης σε ιστο-αντικέιμενα ανεξάρτητα της διμοφιλίας των ιστο-αντικειμένων (Λ) Όχι, γιατί αν κάθε browser

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1 Εισαγωγή Τι είναι τα πολυµέσα Ποιοι εµπλέκονται στα πολυµέσα Χαρακτηριστικά των µέσων Απαιτήσεις πολυµέσων Ιδιότητες πολυµέσων Μετάδοση πολυµέσων οµή συστηµάτων πολυµέσων Τεχνολογία Πολυµέσων 01-1 Τι είναι

Διαβάστε περισσότερα

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

Διαβάστε περισσότερα

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

Διαβάστε περισσότερα

7.11 Πρωτόκολλα εφαρµογής

7.11 Πρωτόκολλα εφαρµογής 7.11 Πρωτόκολλα εφαρµογής Ερωτήσεις 1. Ποιος ο ρόλος των πρωτοκόλλων εφαρµογής και πώς χειρίζονται τις συνδέσεις δικτύου; 2. Γιατί κάθε πρωτόκολλο εφαρµογής ορίζει συγκεκριµένο τρόπο παρουσίασης των δεδοµένων;

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΙΑ ΙΚΤΥΑΚΗ ΛΕΙΤΟΥΡΓΙΑ (Kεφ. 16) ΠΡΩΤΟΚΟΛΛΑ ΡΟΜΟΛΟΓΗΣΗΣ Αυτόνοµα Συστήµατα Πρωτόκολλο Συνοριακών Πυλών OSPF ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΥΠΗΡΕΣΙΩΝ (ISA) Κίνηση ιαδικτύου Προσέγγιση

Διαβάστε περισσότερα

Πρωτόκολλο TCP Διάλεξη ΙΙI

Πρωτόκολλο TCP Διάλεξη ΙΙI Πρωτόκολλο TCP Διάλεξη ΙΙI Χρόνος επαναμετάδοσης Στην προηγούμενη διάλεξη είδαμε ότι: Η πρόβλεψη του χρόνου επαναμετάδοσης ενός πακέτου βάσει του εκθετικού μέσου παρατηρημένου χρόνου παράδοσης παλιότερων

Διαβάστε περισσότερα

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Εισαγωγή Συλλογή

Διαβάστε περισσότερα

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΜΕΤΡΟ 1.2 Κοινοπραξίες Έρευνας και Τεχνολογικής Ανάπτυξης σε τομείς Εθνικής Προτεραιότητας Παροχή υπηρεσιών τουριστικού και αρχαιολογικού ενδιαφέροντος μέσω πλατφόρμας

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων Ι Ειδικά Θέματα Δικτύων Ι Ενότητα 7: Δρομολόγηση (Μέρος 3) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1

Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1 Επώνυµη ονοµασία Η επώνυµη ονοµασία είναι αυτή η ονοµασία που ξεχωρίζει τα προϊόντα και τις υπηρεσίες µας από αυτές των ανταγωνιστών. Οι σχετικές αποφάσεις θα επηρεαστούν από τις εξής ερωτήσεις: 1. Χρειάζεται

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ

Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» 2000-2006 ΑΞΟΝΑΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ: 1 - ΠΑΙ ΕΙΑ ΚΑΙ ΠΟΛΙΤΙΣΜΟΣ ΜΕΤΡΟ: 1.3 ΤΕΚΜΗΡΙΩΣΗ, ΑΞΙΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑ ΕΙΞΗ ΤΟΥ ΕΛΛΗΝΙΚΟΥ

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Βασικές Έννοιες - εδοµένα { Νίκος, Μιχάλης, Μαρία, Θάλασσα, Αυτοκίνητο }, αριθµοί, π.χ. {1, 2, 3, 5, 78}, συµβολοσειρές (strings) π.χ. { Κώστας, 5621, ΤΡ 882, 6&5 #1, +

Διαβάστε περισσότερα

Συγχρονισµός πολυµέσων

Συγχρονισµός πολυµέσων Συγχρονισµός πολυµέσων Έννοια του συγχρονισµού Απαιτήσεις παρουσίασης Ποιότητα υπηρεσίας συγχρονισµού Πλαίσιο αναφοράς συγχρονισµού Κατανεµηµένος συγχρονισµός Προδιαγραφές συγχρονισµού Τεχνολογία Πολυµέσων

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Ορισμός πληροφοριακού συστήματος Κύρια κριτήρια

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

Διαβάστε περισσότερα

5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού...

5.1. Χωροταξικός Σχεδιασμός Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού Δραστηριότητες Χωροταξικού Σχεδιασμού... ΚΕΦΑΛΑΙΟ 5. ΧΩΡΟΤΑΞΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Περιεχόμενα 5.1. Χωροταξικός Σχεδιασμός... 2 5.2. Κριτήρια αξιολόγησης Χωροταξικού Σχεδιασμού... 4 5.3. Δραστηριότητες Χωροταξικού Σχεδιασμού... 5 5.4. Τύποι Χωροταξίας...

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. Μάθηµα 5ο: Θεµελιώδεις Αρχές της Οργάνωσης και Οργανωτικός Σχεδιασµός. Ερωτήσεις Μελέτης Στόχοι Μαθήµατος 6

ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. Μάθηµα 5ο: Θεµελιώδεις Αρχές της Οργάνωσης και Οργανωτικός Σχεδιασµός. Ερωτήσεις Μελέτης Στόχοι Μαθήµατος 6 ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ Μάθηµα 5ο: Θεµελιώδεις Αρχές της Οργάνωσης και Οργανωτικός Σχεδιασµός Ερωτήσεις Μελέτης Στόχοι Μαθήµατος 6 Ø Τι είναι η οργάνωση ως διοικητική λειτουργία; Ø Ποιες είναι

Διαβάστε περισσότερα

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. Μάθηµα 6ο: Θεµελιώδεις Αρχές της Οργάνωσης και Οργανωτικός Σχεδιασµός

ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. Μάθηµα 6ο: Θεµελιώδεις Αρχές της Οργάνωσης και Οργανωτικός Σχεδιασµός ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ Μάθηµα 6ο: Θεµελιώδεις Αρχές της Οργάνωσης και Οργανωτικός Σχεδιασµός Ερωτήσεις Μελέτης Στόχοι Μαθήµατος 6 Ø Τι είναι η οργάνωση ως διοικητική λειτουργία; Ø Ποιες είναι

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ 1 ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 21 Σεπτεµβρίου 2004 ιάρκεια: 3 ώρες Το παρακάτω σύνολο

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

2.6 ΟΡΙΑ ΑΝΟΧΗΣ. πληθυσµού µε πιθανότητα τουλάχιστον ίση µε 100(1 α)%. Το. X ονοµάζεται κάτω όριο ανοχής ενώ το πάνω όριο ανοχής.

2.6 ΟΡΙΑ ΑΝΟΧΗΣ. πληθυσµού µε πιθανότητα τουλάχιστον ίση µε 100(1 α)%. Το. X ονοµάζεται κάτω όριο ανοχής ενώ το πάνω όριο ανοχής. 2.6 ΟΡΙΑ ΑΝΟΧΗΣ Το διάστηµα εµπιστοσύνης παρέχει µία εκτίµηση µιας άγνωστης παραµέτρου µε την µορφή διαστήµατος και ένα συγκεκριµένο βαθµό εµπιστοσύνης ότι το διάστηµα αυτό, µε τον τρόπο που κατασκευάσθηκε,

Διαβάστε περισσότερα

Κίνηση σε φθηνότερη διαδροµή µε µη γραµµικό κόστος

Κίνηση σε φθηνότερη διαδροµή µε µη γραµµικό κόστος υποδο?ών?εταφράζεταισε?ίαγενικότερηεξοικονό?ησηπαραγωγικώνπόρωνγιατηκοινωνία. τεχνικέςυποδο?ές,όπωςείναιαυτοκινητόδρο?οι,γέφυρεςκ.λ.π.ηκατασκευήτέτοιων Μιααπ τιςβασικέςλειτουργίεςτουκράτουςείναιοεφοδιασ?όςτηςκοινωνίας?εβασικές

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

Διαβάστε περισσότερα

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

Διαβάστε περισσότερα

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

Διαβάστε περισσότερα

οικονομικές τάσεις Εκτεταμένη συνεργασία της εφοδιαστικής αλυσίδας. έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Παγκόσμιες

οικονομικές τάσεις Εκτεταμένη συνεργασία της εφοδιαστικής αλυσίδας. έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Παγκόσμιες Συνοπτική παρουσίαση του ευνητικού έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Ενοποίηση τρίτων παρόχων υπηρεσιών με ολόκληρη την εφοδιαστική αλυσίδα σε πολυλειτουργικές πλατφόρμες

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

7.8 Σύστηµα ονοµάτων περιοχών (Domain Name System, DNS)

7.8 Σύστηµα ονοµάτων περιοχών (Domain Name System, DNS) 7.8 ύστηµα ονοµάτων περιοχών (Domain Name System, DNS) Ερωτήσεις 1. Γιατί χρησιµοποιούµε συµβολικά ονόµατα αντί για τις διευθύνσεις; 2. ε τι αναφέρονται το όνοµα και η διεύθυνση ενός υπολογιστή; Πώς και

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης. Εισαγωγή Η παρούσα εργαστηριακή άσκηση έχει ως σκοπό την εξοικείωση με τα πρωτόκολλα δρομολόγησης τα οποία χρησιμοποιούνται στα Ad-Hoc δίκτυα, καθώς και την συγκριτική

Διαβάστε περισσότερα

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου Θέματα διπλωματικών εργασιών σε συστοιχίες παράλληλης εξυπηρέτησης εφαρμογών Διαδικτύου Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

Q 12. c 3 Q 23. h 12 + h 23 + h 31 = 0 (6)

Q 12. c 3 Q 23. h 12 + h 23 + h 31 = 0 (6) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Πολιτικών Μηχανικών Τοµέας Υδατικών Πόρων Μάθηµα: Τυπικά Υδραυλικά Έργα Μέρος 2: ίκτυα διανοµής Άσκηση E0: Μαθηµατική διατύπωση µοντέλου επίλυσης απλού δικτύου διανοµής

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

Διαβάστε περισσότερα

Διοίκηση Παραγωγής και Υπηρεσιών

Διοίκηση Παραγωγής και Υπηρεσιών Διοίκηση Παραγωγής και Υπηρεσιών Εισαγωγή -3 Γιώργος Ιωάννου, Ph.D. Αναπληρωτής Καθηγητής Σύνοψη διάλεξης Σχεδιασμός διαδικασιών ορισμός Συστημική προσέγγιση Μεθοδολογίες σχεδιασμού διαδικασιών Διαγράμματα

Διαβάστε περισσότερα

Σκοπιµότητα των firewalls

Σκοπιµότητα των firewalls Σκοπιµότητα των firewalls Παρέχουν προστασία των εσωτερικών δικτύων από απειλές όπως: Μη εξουσιοδοτηµένη προσπέλαση των δικτυακών πόρων: όταν επίδοξοι εισβολείς προσπαθούν να εισχωρήσουν στο δίκτυο και

Διαβάστε περισσότερα