M SC INFORMATICS MULTIMEDIA Department of Informatics Engineering

  • Slides: 16
Download presentation
M. SC. ‘INFORMATICS & MULTIMEDIA’ Department of Informatics Engineering TEI-Crete

M. SC. ‘INFORMATICS & MULTIMEDIA’ Department of Informatics Engineering TEI-Crete

Course title & identity • Title: Distributed Systems and Applications • Objective(s) • Distributed

Course title & identity • Title: Distributed Systems and Applications • Objective(s) • Distributed System Principles, Design and Models • Distributed System Requirements and Challenges • Distributed Algorithms • Information Exchange • Coordination • Members of staff • Assistant Prof. Harris Papadakis

Approach • Three (3) hours lectures: (YES/NO) • Laboratory classes: (YES/NO) • Project •

Approach • Three (3) hours lectures: (YES/NO) • Laboratory classes: (YES/NO) • Project • 1 programming assignment (groups of 2) • Mid-semester assessment (YES/NO) • Final assessment (YES/NO) • Grade: FA*0. 6+P*0. 4

Lecture topics/structure • Introduction • Types of Distributed Systems • Comparison with related systems

Lecture topics/structure • Introduction • Types of Distributed Systems • Comparison with related systems • Parallel Processing • Grid computing • Cluster computing • Basic Design Principles – Goals • Transparency • Openess-Interoperability • Scalability • Robustness • Concepts of Distributed Operating Systems • Middleware

Lecture topics/structure • Distributed Systems Models • Communication Models • Client/Server • P 2

Lecture topics/structure • Distributed Systems Models • Communication Models • Client/Server • P 2 P Paradigm • Unstructured • Structured • Distributed Systems Models • Synchronous Systems • Asynchronous Systems • Basic Distributed Algorithms • Broadcasting • Convergence • Leader Election

Lecture topics/structure • Causality • Logical Clocks • Vector Clocks • Message Ordering •

Lecture topics/structure • Causality • Logical Clocks • Vector Clocks • Message Ordering • FIFO • Casual • Total • Fault Tolerance • Crash • Byzantine • Transactions • Introduction to Clouds • Amazon EC 2 • Google Map/Reduce

Semester Project • Design and Implementation of a scalable, fault-tolerant Distributed System • Working

Semester Project • Design and Implementation of a scalable, fault-tolerant Distributed System • Working prototype and detailed report expected • Examples: • Shared document editing • Memcached implementation using DHTs • Range queries over DHTs • Decentralized chatting • Distributed bookmarks recommender system • Bibliography report • Students are encouraged to propose additional projects

Semester Project • Shared document editing – Concurrent users should be able to edit

Semester Project • Shared document editing – Concurrent users should be able to edit a text document in real-time (think Google docs) • Fault tolerant • Decentralized • Consistency • Self-healing

Semester Project • Memcached implementation using DHTs – store data in memory using keys.

Semester Project • Memcached implementation using DHTs – store data in memory using keys. • Fault tolerant • Replication • "set", “get", "replace", "append" or "prepend"

Semester Project • Range queries over DHTs • Pre-hashed keys are numeric • Allows

Semester Project • Range queries over DHTs • Pre-hashed keys are numeric • Allows for the lookup of data whose keys fall within the queried range • Scalability

Semester Project • Decentralized chatting – allows users to chat in real time •

Semester Project • Decentralized chatting – allows users to chat in real time • Fault tolerant • Decentralized – no centralized server • Consistency – users should have identical view of the conversation • Self-healing

Semester Project • Distributed bookmarks recommender system – Allow users to share their bookmarks.

Semester Project • Distributed bookmarks recommender system – Allow users to share their bookmarks. Implement a recent personalized Recommender Algorithm to recommend new bookmarks to users based on their preferences.

Semester Project • Bibliography report • Detailed survey of both widely-used and recent (state-of-the-art)

Semester Project • Bibliography report • Detailed survey of both widely-used and recent (state-of-the-art) algorithms in synchronization in Massively Online Distributed Worlds • Description of the various mechanisms

Specific details • Technologies/Tools • C or Java programming language or any other •

Specific details • Technologies/Tools • C or Java programming language or any other • Indicate type of learning materials • Distributed Systems: Principles and Paradigms, Andrew S. Tanenbaum, Maarten van Steen, Publisher: Prentice Hall (2003), ISBN: 0131217860 • Course handouts with lecture slides

Specific details • Specify expected outcomes • The students will be able to: •

Specific details • Specify expected outcomes • The students will be able to: • Understand the design and operational requirements of Distributed • • Systems Understand the Design Models of Distributed Systems Deep knowledge of basic and advanced Distributed Algorithms Be able to design efficient Distributed Algorithms Knowledge of main algorithms for specific problems

Applicant profile • Pre-requisites and Skills • undergraduate courses in programming and algorithms would

Applicant profile • Pre-requisites and Skills • undergraduate courses in programming and algorithms would be of great help • C or Java or other programming language skills • Expected weekly workload • Lecture Attendance • Work on projects will span the entire semester