Εξάμηνο | Εαρινό 2016 |
Πότε/Πού | ΔΕΥΤΕΡΑ 09:15-13:00 (ΑΙΘ. Β) |
Βιβλιογραφία |
|
On-line Βιβλία και άλλοι πόροι |
|
Διδάσκων: | Δημήτριος Τσουμάκος |
E-mail: | dtsouma [at] gmail [dot] com (σιγουρευτείτε ότι αναφέρετε το μάθημα στο "subject" του e-mail που μου στέλνετε) |
Ο βαθμός του μαθήματος προκύπτει από:
1) βαθμολόγηση παρουσιάσεων και περιλήψεων ερευνητικών εργασιών (15%), και
2) προγραμματιστική εξαμηνιαία εργασία (project - 85%).
Κάθε φοιτητής θα παρουσιάσει επιλεγμένα paper καθώς και θα παραδώσει γραπτώς κριτική για ερευνητικές εργασίες.
Το θέμα της εξαμηνιαίας εργασίας (σε ομάδες των 2 ατόμων) τίθεται σε συνεννόηση με τον διδάσκοντα και πρέπει να παραδίδεται στο τέλος του εξαμήνου που θα λάβει βαθμολογία ο φοιτητής χωρίς εξαίρεση.
Εργασίες εκτός προθεσμίας δεν βαθμολογούνται στην παρούσα ούτε καμιά από τις επόμενες εξεταστικές περιόδους του ακαδημαϊκού έτους.
Για το μάθημα απαιτούνται πολύ καλες προγραμματιστικές γνώσεις καθώς και γνώση Δομών Δεδομένων, Βάσεων Δεδομένων και Λειτουργικών Συστημάτων. Προαπαιτούμενα θεωρούνται τα μαθήματα: (προπτυχιακά) Operating Systems, Data Structures, DataBase Systems, Computer Networking, Advanced Operating Systems.
Στα πλαίσια αυτού του μαθήματος θα επικεντρωθούμε στα Κατανεμημένα Συστήματα και θα εξετάσουμε έννοιες σχετικά με αλγορίθμους και πραγματικά συστήματα/εφαρμογές που τα υλοποιούν. Συγκεκριμένα, θα μελετηθούν: Κατανεμημένοι αλγόριθμοι (clocks, distributed snaposhots, failures, transactions). Τα Υπολογιστικά Νέφη (Cloud Computing). Κατανεμημένες Βάσεις δεδομένων: Σχεσιακές, παράλληλες, τεχνολογίες κατανεμημένων συστημάτων αρχείων (HDFS), ΝοSQL (HBase, Cassandra), graph-databases(Neo4j). Κατανεμημένα Μοντέλα υπολογισμού (MapReduce, BSP) και πλατφόρμες που τις εφαρμόζουν (Hadoop, Hama, Spark). Εφαρμογές των παραπάνω και υλοποίηση αλγορίθμων με κατανεμημένο τρόπο για επεξεργασία μεγάλου όγκου δεδομένων.
Date | Topics | Student Papers |
---|---|---|
22 Feb (week 1) | Introduction, Basics, Models, End-to-end argument (Δ. Τσουμάκος) |
|
29 Feb (week 2) | Clocks-Snapshots (Δ. Τσουμάκος) |
|
Student Presentations (P) and Critiques (C) Start - See Instructions | ||
7 Mar (week 3 - stay at home class) | Crash Failures, Byzantine Fault Tolerance, Paxos (remote) Basic readings: - Unreliable failure detectors for reliable distributed systems pdf - Asynchronous consensus and broadcast protocols pdf - Paxos made simple pdf |
To present/critique: - Using Paxos to build a scalable, consistent, and highly available datastore pdf-->Γλυκερία Κατσαρή (C) - Efficient Byzantine Fault-Tolerance pdf-->Παναγιώτης Παναγόπουλος(C) - In Search of an Understandable Consensus Algorithm pdf-->Χρήστου Πάτροκλος(P) |
21 Mar (week 4) | Transactions Basic readings: Concurrency Control and Recovery in Database Systems (ch.7), Bernstein, Hadzilacos, Goodman (book) Nonblocking Commit Protocols, Dale Skeen (pdf) |
To present/critique: - Coordination avoidance in database systems pdf-->Γεράκος Κωνσταντίνος (P) - Large-scale Incremental Processing Using Distributed Transactions and Notifications pdf - Building consistent transactions with inconsistent replication pdf-->Πέτρος Πέτρου (P) - No compromises: distributed transactions with consistency, availability, and performance pdf-->Χαλβαντζής Χρήστος (C) |
28 Mar (week 5) | P2P Systems, structured vs unstructured Basic readings: - Analysis and Comparison of P2P Search Methods pdf - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications pdf - A Scalable Content-Addressable Network pdf |
To present/critique: - Kademlia: A Peer-to-peer Information System Based on the XOR Metric pdf --> Μάνος Αγγελογιαννόπουλος (P) - Fast and Cost-Effective Online Load-Balancing in Distributed Range-Queriable Systems pdf --> Κωστή Αικατερίνη (C) - Skyframe: a framework for skyline query processing in peer-to-peer systems pdf --> Μιχαήλ Μυλωνάκης(P) |
4 Apr (week 6) | Εισαγωγή στο Cloud Computing - Big Data Basic readings: - Κεφ.1 από το "Data-Intensive Text Processing with MapReduce" - Τί είναι τα Big Data - Σύνοψη του Cloud Computing από τη NIST |
To present/critique: - Decentralized Task-Aware Scheduling for Data Center Networks pdf --> Σακελλάρη Ελισάβετ (P) - Bobtail: Avoiding Long Tails in the Cloud pdf --> Χαρισμιάδης Αναστάσιος-Σταύρος (P) - AutoScale: Dynamic, Robust Capacity Management for Multi-Tier Data Centers pdf -->Ασλάνογλου Χρήστος (C) |
11 Apr (week 7 - stay at home class) | Distributed filesystems, MapReduce/Hadoop Basic readings: MapReduce paper from Google Apache Hadoop site HDFS Architecture |
To present/critique: - Ceph: a scalable, high-performance distributed file system pdf --> Αντώνης Τσίγκανος (P) - TidyFS: A Simple and Small Distributed File System pdf --> Αλέξανδρος Παπαδόπουλος (C) - Scale-up vs Scale-out for Hadoop: Time to rethink? pdf - Starfish: a self-tuning system for big data analytics pdf--> Ζαμπούρας Δημήτριος (P) |
18 Apr (week 8) | CAP theorem - NoSQL Databases - Columnar DBs Basic readings: - CAP twelve years later: How the "rules" have changed pdf - Eventually Consistent - BigTable - Apache HBase - http://cassandra.apache.org/ |
To present/critique: - Existential Consistency: Measuring and Understanding Consistency at Facebook (SOSP'15) pdf --> Αργυρώ Κοκογιαννάκη (P) - ZooKeeper: Wait-free Coordination for Internet-scale Systems pdf --> Μουρατίδης Θεόφιλος (P) - The Stratosphere platform for Big Data Analytics pdf - Salt: Combining ACID and BASE in a Distributed Database OSDI 2014 pdf - DB2 with BLU Acceleration: So Much More than Just a Column Store pdf--> Μπομπέτσης Νικόλαος (C) |
9 May (week 9) | Graph processing and advanced analytics over distributed platforms: BSP model, Pregel, Spark, Giraph Basic readings: - BSP Model - Pregel: A System for Large-Scale Graph Processing - Apache Giraph - Apache Spark |
To present/critique: - PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs pdf --> Ιωάννης Χρόνης (P) - Fast Iterative Graph Computation with Block Updates pdf --> Αναστάσιος Γιαννακοπουλος (P) - DeepSpark: Spark-Based Deep Learning Supporting Asynchronous Updates and Caffe Compatibility pdf --> Πέτρος Κοβάτσης (C) |
16 May (week 10) | RDF Databases - RDF caching Basic readings: - A Survey of RDF Data Management Systems pdf - H2RDF+: High-performance Distributed Joins over Large-scale RDF Graphs pdf - Graph-Aware, Workload-Adaptive SPARQL Query Caching pdf |
To present/critique: - Accelerating SPARQL Queries by Exploiting Hash-based Locality and Adaptive Partitioning pdf --> Κολαΐτης Παναγιώτης (P) - A Distributed Graph Engine for Web Scale RDF Data pdf --> Κωνσταντίνος Αποστολόπουλος (C) - TriAD: A Distributed Shared-Nothing RDF Engine based on Asynchronous Message Passing pdf --> Τζιώτζιος Διαμαντής (P) |
23 May (week 11 - last Class!) |
Multi-Engine Analytic Environments Basic readings: - IReS: Intelligent, Multi-Engine Resource Scheduler for Big Data Analytics Workflows pdf - The BigDAWG Polystore System pdf |
To present/critique: - The SQL++ Unifying Semi-structured Query Language, and an Expressiveness Benchmark of SQL-on-Hadoop, NoSQL and NewSQL Databases pdf --> Δημήτρης Στέφος (P) - Road to Freedom in Big Data Analytics pdf --> Χρήστος Αυλωνίτης(C) - Musketeer: all for one, one for all in data processing systems pdf --> Παρούσης Βασίλειος (P) - MISO: Souping Up Big Data Query Processing with a Multistore System pdf --> Εμμανουήλ Παπαδομιχελάκης (P) |
© 2016 D. Tsoumakos