CODE 86799 ACADEMIC YEAR 2024/2025 CREDITS 6 cfu anno 2 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 1° Semester TEACHING MATERIALS AULAWEB OVERVIEW The course aims to provide knowledge on issues related to the implementation of distributed processing systems with high scalability and reliability. AIMS AND CONTENT LEARNING OUTCOMES The course aims to provide an understanding of the principles on which the Internet and other distributed systems are based; their architecture, algorithms and design; and how they meet the demands of contemporary distributed applications. 1. Distributed systems characterization 2. Coordination of distributed systems Physical and logical clock synchronization Distributed mutual exclusion Election algorithms and protocols 3. Consistency of distributed systems Data centric systems Client centric systems Consistency protocols 4. Resilience of distributed systems Distributed process pooling and resilience Reliable distributed communication services Distributed operation commit Recovery of faulty systems 5. Case studies Hyperledger permissioned blockchains Google distributed storage and computation In memory Distributed Data Store Office online collaboration platforms AIMS AND LEARNING OUTCOMES At the end of the course the student will be able to face the design and implementation of complex distributed systems both on public and private frameworks and the design of systems and applications based on highly scalable and reliable IT platforms. TEACHING METHODS Lessons and lab work SYLLABUS/CONTENT Essential Content: 1. Distributed systems characterization 2. Coordination of distributed systems Physical and logical clock synchronization Distributed mutual exclusion Election algorithms and protocols 3. Consistency of distributed systems Data centric systems Client centric systems Consistency protocols 4. Resilience of distributed systems Distributed process pooling and resilience Reliable distributed communication services Distributed operation commit Recovery of faulty systems 5. Case studies Hyperledger permissioned blockchains Google distributed storage and computation In memory Distributed Data Store Office online collaboration platforms RECOMMENDED READING/BIBLIOGRAPHY M. van Steen, A. tanenbaum, Distributed Systems Third Ed. 2017 G. Coulouris, J. Dollimor, T. Kindberg, G. Blair, Distributed Systems: Concepts and Desing, 5th editionby 2012 additional documentation available thorugh aulaweb TEACHERS AND EXAM BOARD PIERPAOLO BAGLIETTO Ricevimento: Personal apoiintment. Please contact the teacher by email. Exam Board PIERPAOLO BAGLIETTO (President) MAURO MIGLIARDI GIANNI VIARDO VERCELLI MASSIMO MARESCA (President Substitute) LESSONS LESSONS START https://courses.unige.it/11160/p/students-timetable Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION lab work and oral discussion ASSESSMENT METHODS Ability to solve simple design and programming issues on the course topics Knowledge of the topics discussed in the lesson and the ability to analyze and discuss the topics discussed