(1st Semester Course of the MSc Data Science and Machine Learning from the NTUA)
• Nektarios Koziris (http://www.cslab.ntua.gr/~nkoziris/)
Modern and asynchronous distributed systems. The concept of time: Physical and logical clocks, clock synchronization, universal states. Distributed coordination: Group communication, messaging, mutual exclusion algorithms, leader selection algorithms.Transactions: ACID properties, serializability, synchronization control (locks, optimistic synchronization control, time stamp arrangement). Distributed transactions and synchronization control: distributed individual transactions, TPC protocol, deadlock detection, error recovery. Copies of data: The CAP theorem, consistency levels, the gossip protocol. Structured and unstructured network networks, distributed hash tables and basic functions, Chord system. Unanimity in distributed systems: The problem of the Byzantine Generals, the FLP theory of distributed unanimity weakness, Paxos distributed unanimity algorithm. Κατανεμημένα αποθηκευτικά συστήματα (GFS, HDFS, BigTable), προγραμματιστικά μοντέλα κατανεμημένης επεξεργασίας MapReduce και Bulk Synchronous Parallel. Παραδείγματα Κατανεμημένων Συστημάτων: Hadoop, Spark, Blockchain.
• Distributed Systems - Concepts and Design, Fifth Edition, George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Addison-Wesley, May 2011.
• Distributed Algorithms, Nancy A. Lynch, Morgan Kaufmann, 1996.
• Distributed Computing Fundamentals, Simulations and Advanced Topics, 2nd Edition, H. Attiya, J. Welch, Wiley, 2014.