UNIVERSITY OF ATHENS, DEPARTMENT OF INFORMATICS & TELECOMMUNICATIONS

Κατανεμημένα Συστήματα (M 123: Distributed Systems)

Valid XHTML 1.0 Strict

Πληροφορίες Μαθήματος

Εξάμηνο Εαρινό 2016
Πότε/Πού ΔΕΥΤΕΡΑ 09:15-13:00 (ΑΙΘ. Β)
Βιβλιογραφία
  1. Reliable Distributed Systems, Kenneth Birman Publisher: Springer, Year: 2005
  2. Wan Fokkink, Distributed Algorithms: An Intuitive Approach, MIT Press, 2013
On-line Βιβλία και άλλοι πόροι
  1. "Data-Intensive Text Processing with MapReduce", Jimmy Lin and Chris Dyer. Morgan & Claypool Publishers, 2010. Online εδώ
Διδάσκων: Δημήτριος Τσουμάκος
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). Εφαρμογές των παραπάνω και υλοποίηση αλγορίθμων με κατανεμημένο τρόπο για επεξεργασία μεγάλου όγκου δεδομένων.

Presentations/Critiques/Project

Ιδέες για project βρίσκονται εδώ.
Παλιά πιθανά επίσης θέματα από το περισυνό μάθημα: MDE519

Συμβουλές για το πώς να κάνετε critiques/presentations για το μάθημα: (οι συμβουλές είναι απλά προτροπές, υπάρχει σίγουρα χώρος να τις επεκτείνετε και να αυτοσχεδιάσετε!)

Class Schedule

Date Topics Student Papers
22 Feb (week 1) Introduction, Basics, Models, End-to-end argument (Δ. Τσουμάκος)
  • Fokkink, intro, Ch1, Ch2
  • End-to-End Arguments in System Design, J.H. Saltzer, D.P. Reed and D.D. Clark pdf
  • Rethinking the Design of the Internet: The End-to-End Arguments vs. the Brave New World, MARJORY S. BLUMENTHAL and DAVID D. CLARK pdf
  • On Designing and Deploying Internet-Scale Services, James Hamilton, in LISA'07 pdf
29 Feb (week 2) Clocks-Snapshots (Δ. Τσουμάκος)
  • Fokkink, Ch2, Ch3, Ch12.1
  • Time, clocks and the ordering of events in a distributed system, L. Lamport, Communications ACM 1978 pdf
  • Distributed snapshots: determining global states of distributed systems, Chandy and Lamport, ACM TOCS 1985 pdf
  • Impossibility of distributed consensus with one faulty process, Fischer, Lynch and Patterson, Journal ACM 1985 pdf
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