DISTRIBUTED DEPENDABLE SYSTEMS

DISTRIBUTED DEPENDABLE SYSTEMS

_
iten
Code
101809
ACADEMIC YEAR
2021/2022
CREDITS
9 credits during the 2nd year of 10852 COMPUTER SCIENCE (LM-18) GENOVA
SCIENTIFIC DISCIPLINARY SECTOR
INF/01
LANGUAGE
English
TEACHING LOCATION
GENOVA (COMPUTER SCIENCE )
semester
1° Semester
Teaching materials

AIMS AND CONTENT

LEARNING OUTCOMES

Learning how to design high quality distributed systems, ranging from classical client-server to peer-to-peer and blockchain-based systems, and applying classical mathematical tools to measure reliability, availability, and fault tolerance.

AIMS AND LEARNING OUTCOMES

The main goal of this course is to understand when it makes sense to move from centralized to distributed systems, and some of the key choices in designing them, taking into account attributes such as availability, reliability, fault tolerance. Peer-to-peer and blockchain-based applications will be presented as examples of such systems.

PREREQUISITES

To be successful in this course, students should already know:

  • data structures and algorithms
  • client-server architectures
  • network protocols
  • basic security topics

Programming skills are required for the practical activities.

Teaching methods

Lectures, practicals, and individual study.

SYLLABUS/CONTENT

When do you really need a distributed system? Pros and cons of choosing them

  • Vertical and horizontal scalability
  • Communication costs

Handling distributed data

  • Replication
  • Erasure and fountain coding

Making systems consistent

  • The classic: Byzantine consensus
  • Modern approaches (e.g., Google's Spanner)

Making systems fast: delving in the design of successful systems

  • MapReduce and Hadoop
  • Spark and Reliable Distributed Datasets

Making systems decentralized: peer-to-peer

  • Searching data in peer-to-peer systems
  • Incentives to cooperation

Consensus for peer-to-peer systems: blockchains and distributed ledgers

  • Do you really need a blockchain?
  • Bitcoin and Proof-of-Work
  • Alternative consensus models
  • Ethereum: what's cool about the world's slowest computer

RECOMMENDED READING/BIBLIOGRAPHY

Scientific papers covering the topics of the syllabus will be suggested during the course.

TEACHERS AND EXAM BOARD

Ricevimento: By appointement at the DIBRIS Department, room 231, 2nd floor, Via Dodecaneso 25, Genova. Online on Teams in case of distance learning. E-mail: marina.ribaudo@unige.it  

Exam Board

MARINA RIBAUDO (President)

MATTEO DELL'AMICO

LESSONS

Teaching methods

Lectures, practicals, and individual study.

ORARI

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

EXAMS

Exam description

Oral examination with discussion of the practicals assigned during the course.

Assessment methods

For each assignment, the quality of the code and the reports will indicate the technical skills acquired by the students.
The oral exam will allow the teachers to complete their evaluation with questions on the course program.