Skip to main content
CODE 101809
ACADEMIC YEAR 2020/2021
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

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 how to develop 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:

  • relational databases and their design
  • client-server architectures
  • network protocols
  • basic security topics

Programming skills are required for the practical activities.

TEACHING METHODS

Lectures, practicals, and individual study. In the a.y. 2020/2021 lectures will also be online, using Teams.

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

Exam Board

MARINA RIBAUDO (President)

MATTEO DELL'AMICO

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

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

ASSESSMENT METHODS

Individual interview.

Exam schedule

Data appello Orario Luogo Degree type Note
10/02/2021 09:00 GENOVA Esame su appuntamento
23/07/2021 09:00 GENOVA Esame su appuntamento
16/09/2021 09:00 GENOVA Esame su appuntamento
18/02/2022 09:00 GENOVA Esame su appuntamento