1 / 27

Λειτουργικά Συστήματα ΙΙ

Λειτουργικά Συστήματα ΙΙ. Διδάσκων: Παναγιώτης Τριανταφύλλου , καθηγητής ( peter@) Ιωάννης Κωνσταντίνου, Π.Δ. 407/80 ( ikons@cslab.ntua.gr) Επικουρικό: Γιάννης Πατλάκας ( patlakas @) Γιώργος Σφακιανάκης ( sfakianaki @). Λειτουργικά Συστήματα ΙΙ.

noelle
Télécharger la présentation

Λειτουργικά Συστήματα ΙΙ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Λειτουργικά Συστήματα ΙΙ Διδάσκων: Παναγιώτης Τριανταφύλλου, καθηγητής (peter@) Ιωάννης Κωνσταντίνου, Π.Δ. 407/80 (ikons@cslab.ntua.gr) Επικουρικό: Γιάννης Πατλάκας (patlakas@) Γιώργος Σφακιανάκης (sfakianaki@)

  2. Λειτουργικά Συστήματα ΙΙ • Λειτουργικά Συστήματα σε Υπολογιστικά νέφη (Clouds) • Συστήματα Επεξεργασίας δεδομένων • Κατανεμημένα συστήματα αρχείων • Database-like συστήματα • Αποθήκευση • Ευρετηρίαση • Ανάκτηση • Ερωτήματα

  3. Δομή Μαθήματος 1/2 • Γενικά για τα clouds • Δομή, υπηρεσίες, είδη cloud κλπ • Cloud management software • MapReduce • Google File System (GFS) και HDFS • RDBMS vs Key-Value Stores (NoSQL) • Ανακοίνωση πρώτης εργασίας, Φροντιστήριο

  4. Δομή Μαθήματος 2/2 • Row, Key-value Stores • Big Table, HBase • Cassandra • Dynamo • Sherpa/PNUTS • Indexing στο Cloud • Άλλα θέματα στο Cloud • VMs

  5. Ορισμός Cloud Computing (wikipedia) • “Παροχή υπολογιστικής ισχύος ως υπηρεσία και όχι σαν προϊόν. Πόροι, λογισμικό και πληροφορίες παρέχονται σε άλλους υπολογιστές και συσκευές σαν υπηρεσίες κοινής ωφελείας (πχ σαν το ρεύμα της ΔΕΗ) μέσω ενός δικτύου (συνήθως του Internet)” • Διαβάστε: “Above the clouds: A Berkeley View of Cloud Computing” • http://bit.ly/AiALuh

  6. Τι κάνει? • Τα νέφη υπολογιστών είναι ένα μοντέλο που επιτρέπει: • πρόσβαση μέσω δικτύου σε διαμορφώσιμους πόρους, όπως: • υπολογιστική ισχύ, • δίκτυα, • αποθηκευτικό χώρο, • εφαρμογές, υπηρεσίες, κλπ • που μπορούν να δεσμεύονται και να απελευθερώνονται ταχέως με ελάχιστη διαχειριστική προσπάθεια ή επέμβαση από τον πάροχο της υπηρεσίας (elasticity).

  7. Πώς το κάνει? • Μεγάλα Data Centers • Συστοιχίες από χιλιάδες υπολογιστές και αποθηκευτικές μονάδες • Μεσαίας ισχύος υλικό (commodity hardware) • Αποτυχίες κόμβων συνηθισμένες • Διάφορα μοντέλα υπολογισμού / Ανομοιογενείς υπολογιστικοί πόροι Apple, North Carolina USA

  8. Πώς το κάνει? • Βασίζεται σε ήδη υπάρχουσες τεχνολογίες και πρακτικές • Virtual machines • Οn-demand, self-service, pay-as-you-gomodel • Παροχή υπηρεσιών μέσω διαδικτύου • Open Source • Μοιάζει με προηγούμενα μοντέλα • Grid computing • Volunteer computing • Peer to Peer Computing

  9. Virtualization Virtualized Αρχιτεκτονική Εφ Εφ Εφ Εφ Εφ Εφ Παραδοσιακή Αρχιτεκτονική guest Λ.Σ. Guest Λ.Σ. Guest Λ.Σ. Εφαρμογή Εφαρμογή Εφαρμογή Hypervisor (kvm-xen-virtualbox-vmware) Λειτουργικό Σύστημα HostΛειτουργικό Σύστημα Υλικό Υλικό

  10. Τυπικές εφαρμογές... • Προβλήματα μεγάλης κλίμακας • Crawling, Indexing, Searching, Web 2.0 εφαρμογές επιστημονικοί υπολογισμοί • Επεξεργασία πολλών PB τη μέρα • ΔιαδραστικέςWeb Εφαρμογές • Google (mail, maps, docs, ads, …), Facebook, Yahoo, Amazon • Startups: foursquare (ec2), dropbox (s3), κλπ.

  11. Χαρακτηρηστικά • Κλιμακωσιμότητα • Διαθεσιμότητα • Αξιοπιστία • Ασφάλεια • Ευελιξία • Λειτουργικότητα • Αποδοτικότητα • Μετρήσιμο σύστημα • Απλά APIs • Κατανομή φόρτου

  12. Ανάγκη για ελαστικότητα Over-provisioning, κοστίζει. Ελαστικό, pay-as-you-go Μόνο στο cloud!!! Under-provisioning, δεν λειτουργεί πάντα.

  13. Υπολογιστικά νέφη • Λύνουν πολλά προβλήματα, αλλά: • Προσθέτουν πολυπλοκότητα • Εξισορρόπηση φόρτου • Συνέπεια • Συγχρονισμός • Ανοχή σε σφάλματα • Ασφάλεια -Ιδιωτικότητα

  14. Επίπεδα Υπηρεσιών 1 Χρήση προσφερόμενων υπηρεσιών π.χ. Google maps, mail, docs,… Software as a Service (SaaS) Παίρνεις ένα καλό και εύχρηστο API Και φτιάχνεις τις εφαρμογές σου π.χ. Google App Engine Platform as a Service (PaaS) Νοίκιασε υπολογιστές (υπολογιστική ισχύ, κύκλους) και αν θες παραπάνω τους παίρνεις όταν τους χρειάζεσαι π.χ. Amazon EC2 Infrastructure as a Service (IaaS)

  15. Επίπεδα Υπηρεσιών 2

  16. Τυπικήαρχιτεκτονική cloud

  17. Τοποθεσία Cloud • Public Cloud • π.χ. Amazon • πολλοί χρήστες • ενοικίαση πόρων σε δημόσιο Cloud (a la carte) • πιθανότατα πιο φθηνό • σύνδεση μέσω διαδικτύου • Private Cloud (π.χ. το Cloud του NetCInS) • λίγοι χρήστες • πιθανή εσωτερική σύνδεση • υψηλή ασφάλεια • πιθανό μεγαλύτερο κόστος Hybrid Cloud Community Cloud Συνδεδεμένα clouds παρόμοιων οργανισμών π.χGovCloud

  18. Public Cloud Platforms • Amazon Elastic Compute Cloud (EC2) • Η πρώτη εταιρία που έδωσε cloud υπηρεσίες το 2006 • RackSpace, RightScale, GoGrid, CloudSigma και άλλες πολλές • Ελληνικό Cloud: okeanos • http://okeanos.grnet.gr • Ήδη σε πιλοτική λειτουργία • Στόχος είναι η παροχή IaaS cloud υπηρεσίες στην ακαδημαϊκή κοινότητα • Το project του μαθήματος θα γίνει στον okeano

  19. Private Cloud IaaS software • Eucalyptus • Το πρώτο open-source cloud software • Ερευνητικό project του University of California,Santa Barbara, 2009 • Υποστήριξη Amazon EC2API • Ενσωμάτωση στο Ubuntu • Έχει μείνει αρκετά πίσω. • OpenStack • Υποστήριξη από 150+ εταιρίες (Nasa, Dell, AMD, Intel, Canonical, κλπ) • Από Μάιο 2011 προεπιλεγμένο cloud στο ubuntu • O okeanosυποστηρίζει OpenStackεντολές

  20. Συστήματα στο Cloud • Κατανεμημένα Συστήματα Αρχείων • Google File System (GFS) • Hadoop Distributed File System (HDFS) • CEPH file system • Amazon Simple Storage Service (S3) • Batch Processing Συστήματα • Hadoop ecosystem (MapReduce, PIG, Hive, etc) • Dryad • Map Reduce Merge • Row Stores (NoSQL) • Proprietary: Big Table, Sherpa/PNUTS, AzureDB, SimpleDB • Open source:Hbase, Cassandra, Dynamo, MongoDB • Και πολλά άλλα http://nosql-database.org/

  21. Σύστημα Αρχείων • GFS: ένα κλιμακώσιμο κατανεμημένο σύστημα αρχείων για μεγάλες data-intensive εφαρμογές. Παρέχει ανοχή σε σφάλματα ενώ τρέχει σε φτηνό υλικό και προσφέρει υψηλή επίδοση σε μεγάλο αριθμό χρηστών. • Παραδοχές : • Υψηλή συχνότητα βλαβών. • Συνήθως µεγάλα αρχεία. • Η ανάκτηση γίνεται είτε σε µεγάλακοµµάτια είτε σε πολλά µικρά. • Τα περισσότερα αρχεία τροποποιούνται µε προσάρτηση(append). • Το υψηλό bandwidth προτιµάται από το χαµηλό latency.

  22. Batch Processing - MapReduce • Μοντέλο παράλληλης επεξεργασίας μεγάλου όγκου δεδομένων • Ο χρήστης ορίζει map και reduce functions ανάλογα με το πώς θέλει να επεξεργαστεί τα δεδομένα του • Map :παίρνει για είσοδοένα key/value και παράγει ένα ή περισσότερα ενδιάμεσα key/values • Reduce : κάνει merge και επεξεργάζεται τα ενδιάμεσα key/values των mappers • Αυτόματη παραλληλοποίηση των προγραμμάτων του χρήστη • Partitioning στα δεδομένα εισόδου • Scheduling • Πιθανή αποτυχία κάποιου υπολογιστή • Επικοινωνία μεταξύ υπολογιστών

  23. MapReduce Master worker worker Map Reduce Part 1 Input Output Part 2 worker Map worker Reduce Part 3 worker worker Map Reduce

  24. Row Stores • Θα δούμε στο μάθημα αναλυτικά κάποια από αυτά και τις ιδιαιτερότητές τους • Βάσεις δεδομένων χωρίς schema • NoSQL (NoRel) • Ένας μεγάλος πίνακας με ομογενοποιημένα δεδομένα • διαχωρίζονται μέσω του κλειδιού (1 key = 1 row) • πολλά attributes – values • Key-value stores • Συνήθως κάθονται πάνω από ένα κατανεμημένο σύστημα αρχείων • πχ BigTable->GFS

  25. Από το RDBMS στο NoSQL

  26. Απαιτήσεις Μαθήματος 1/2 • Εργασίαστο Hadoop, απαιτεί: • Εξοικείωση με το σύστημα • Κατανόηση του MapReduce • Γράψιμο δικών σας MapReduceπρογραμμάτων • Αποθήκευση και ανάγνωση • Στο HDFS • Στο Hbase • Στο Cassandra • Σε δύο ή τρία μέρη με ανάλογο αριθμό Φροντιστηρίων • Πρώτη άσκηση θα ανακοινωθεί σε περίπου ένα μήνα • Προφορική εξέταση • To site του μαθήματος θα ανανεωθεί, και θα ανέβουν διαφάνειες και άλλο υλικό

  27. Απαιτήσεις Μαθήματος 1/2 • Εργασίαστο Hadoop, απαιτεί: • Εξοικείωση με το σύστημα • Κατανόηση του MapReduce • Γράψιμο δικών σας MapReduceπρογραμμάτων • Αποθήκευση και ανάγνωση • Στο HDFS • Στο Hbase • Στο Cassandra • Σε δύο ή τρία μέρη με ανάλογο αριθμό Φροντιστηρίων • Πρώτη άσκηση θα ανακοινωθεί σε περίπου ένα μήνα • Προφορική εξέταση • To site του μαθήματος θα ανανεωθεί, και θα ανέβουν διαφάνειες και άλλο υλικό

More Related