Zur Modulseite PDF generieren

#41131 / #2

WiSe 2023/24 - SoSe 2024

Deutsch

Algorithms for Networked and Distributed Systems

9

Schmid, Stefan

Benotet

Mündliche Prüfung

Englisch

Zugehörigkeit


Fakultät IV

Institut für Telekommunikationssysteme

34331700 FG Intelligent Networks and Management of Distributed Systems (INET)

Keine Angabe

Kontakt


EN 18

Schmid, Stefan

stefan.schmid@tu-berlin.de

Lernergebnisse

Most modern computer systems are inherently distributed and networked, including multi-core computers, wireless sensorsystems, datacenters, peer-to-peer systems, or cryptocurrencies, to just give some examples In order to operate correctly and efficiently, all these systems rely on clever algorithms. Some of the underlying algorithms are fundamentaland are used by most of the systems, others are specialized and exploit specific features of the particular distributed system. The goal of the module is to provide the students with tools and techniques to reason about efficient algorithms for networks and distributed systems. This module is principally designed to impart: technical skills: 40x, method skills: 40x, system skills 10x, social skills 10x By the end of the lecture "Algorithms for Distributed Systems" the student will be able to develop her/his own distributed algorithms, and formally prove correctness as well as complexity guarantees (e.g., on the computational complexity or the communication complexity). The students will also have a good understanding of when to apply which principle, i.e., where randomization can be useful and where not, or to which extent a distributed system should be decentralized. The students will further have a good idea of the different natures of today's distributed systems. If time permits, we will also extend our discussion beyond computer systems and have an algorithmic look at social and biological networks. By the end of the lecture "Algorithms for Networked Systems", the student will be able to develop her/his own network algorithms, and formally prove correctness as well as complexity guarantees (e.g., on the computational complexity or the communication complexity). The students will also have a good understanding of when to apply which principle, i.e., where randomization can be useful and where not, or to which extent a protocol should be decentralized. The students will further have a good idea of the different natures of today's networked systems. If time permits, we will also extend our discussion beyond computer networks and have an algorithmic look at social networks. The goal of the seminar is to get an understanding of the fundamental theoretical and algorithmic aspects of distributed and networked systems, and their applicability in state-of-the-art and emerging technology. You will learn techniques to model, analyze and optimize networked systems, and get an understanding of emerging trends and applications.

Lehrinhalte

Please attend one out of the two lectures plus the seminar to complete the module. Lectures with tutorial Lecture "Algorithms for Distributed Systems" The lecture "Algorithms for Distributed Systems" is problem-oriented and structured into different fundamental principles, such as Distributed Coordination, Decentralization, Randomization, etc. Each lecture will cover a different basic problem (such as Load Balancing, Leader Election, Symmetry Breaking, etc., arising in various different applications, from the Internet over distributed data analytics to sensor networks) and will be self-contained. The lecture revolves around fundamental problems and design principles. A tentative outline of the main topics to be covered in the course are * Models for Distributed Systems: from shared-memory over datacenter applications to Internet-scale systems * Algorithmic techniques for small ("shared memory") and large distributed systems ("distributed graph algorithms") * Decentralization: why and how? Complexity Measures * Randomization: why and how? Basic Tools * Algorithms: Local Algorithms, Random Algorithms, Online Algorithms, Dynamic Programming * Distributed Algorithms for Leader Election, Coloring, Maximal Independent Sets, Medium Access * Resource Allocation and Embedding (e.g., energy, bandwidth, CPU) * Social and Biological Networks: An Algorithmic Perspective Lecture "Algorithms for Networked Systems" The lecture "Algorithms for Networked Systems" is problem-oriented and structured around fundamental networking aspects (such as routing, forwarding medium access, etc.) of different networks (e.g., Internet, wireless, cryptocurrency networks, overlay networks, etc.). Each lecture will cover a different fundamental principle (such as use of randomization or indirection) and will be self-contained. The lecture revolves around fundamental problems and design principles. A tentative outline of the main topics to be covered in the course are * Network Models for Datacenter Networks, Sensor Networks, Wireless Networks, Mobile Networks etc. * Robust Network Topology Design: Self-Stabilizing and Self-Optimizing Networks * Randomization: why and how? Basic Tools * Algorithms: Local Algorithms, Random Algorithms, Online Algorithms, Dynamic Programming * Algorithms for Wireless Medium Access * Resource Allocation and Embedding (e.g., energy, bandwidth, CPU) * Flow & Congestion Control, Routing * Theory of Border Gateway Protocols * Algorithms for Cryptocurrency Networks * TOR * Social Networks: An Algorithmic Perspective Seminar "Advanced Topics in Networked and Distributed Systems" Given the popularity of data-driven applications (e.g., related to business, health and entertainment) and artificialintelligence, computing systems are becoming increasingly distributed and networked. This results in increasingly stringent performance and dependability requirements on such systems. In this seminar, we discuss emerging and innovative new approaches to improve the efficiency and security of distributed and networked systems. We will revisit the theoretical foundations of networked and distributed systems, the underlying fundamental algorithms and optimizations they rely on, and discuss their applicability in modern networks. We will also discuss recent proposals in the literature which aim to render distributed and networked systems more flexible and secure, and explore further optimization opportunities. Contents: The seminar revolves around fundamental problems and design principles. A tentative outline of the main topics to becovered in the course are * Network algorithms and theory of networking * Distributed algorithms and optimization * Decentralization and scalability * Emerging networking technology and applications, and their impact on models and optimizations

Modulbestandteile

Pflichtbereich

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Advanced Topics in Networked and Distributed SystemsSEM0432 L 824WiSe/SoSeen2

Pflichtbereich

Aus den folgenden Veranstaltungen muss eine Veranstaltung abgeschlossen werden.

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Algorithms for Distributed SystemsIV432 L 818WiSeen4
Algorithms for Networked SystemsIV0432 L 817SoSeen4

Arbeitsaufwand und Leistungspunkte

Advanced Topics in Networked and Distributed Systems (SEM):

AufwandbeschreibungMultiplikatorStundenGesamt
Präsenzzeit15.02.0h30.0h
Pre/post processing15.04.0h60.0h
90.0h(~3 LP)

Algorithms for Distributed Systems (IV):

AufwandbeschreibungMultiplikatorStundenGesamt
Präsenzzeit15.04.0h60.0h
Vor-/Nachbereitung15.08.0h120.0h
180.0h(~6 LP)

Algorithms for Networked Systems (IV):

AufwandbeschreibungMultiplikatorStundenGesamt
Präsenzzeit15.04.0h60.0h
Vor-/Nachbereitung15.08.0h120.0h
180.0h(~6 LP)
Der Aufwand des Moduls summiert sich zu 270.0 Stunden. Damit umfasst das Modul 9 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

* Common lecture * Exercises and/or programming assignments: to be issued weekly; half to be solved individually and half to be solved in groups of 2 (if the class has an odd number of participants then there will be a group of 3); to be graded by the instructor; solutions to be jointly discussed (by instructor + students) during the tutorials * English language for both the lecture and the tutorials * Seminar

Voraussetzungen für die Teilnahme / Prüfung

Wünschenswerte Voraussetzungen für die Teilnahme an den Lehrveranstaltungen:

For the lectures: * Module "Diskrete Strukturen" or module "Algorithmen und Datenstrukturen" * Module "Rechnernetze und Verteilte Systeme" * Module "Network Architectures - Basics" * Good knowledge of the English language For the seminar: * Mandatory is the compulsory module "Rechnernetze und Verteilte Systeme". * Desirable: - the module "Network Architectures - Basics", - good English language skills.

Verpflichtende Voraussetzungen für die Modulprüfungsanmeldung:

Dieses Modul hat keine Prüfungsvoraussetzungen.

Abschluss des Moduls

Benotung

Benotet

Prüfungsform

Mündliche Prüfung

Sprache(n)

Englisch

Dauer/Umfang

30 min

Prüfungsbeschreibung (Abschluss des Moduls)

There is a written exam. In order to register for the exam the students must obtain at least 50% of the points for exercises and/or programming assignments.

Dauer des Moduls

Für Belegung und Abschluss des Moduls ist folgende Semesteranzahl veranschlagt:
2 Semester.

Dieses Modul kann in folgenden Semestern begonnen werden:
Winter- und Sommersemester.

Maximale teilnehmende Personen

Die maximale Teilnehmerzahl beträgt 40.

Anmeldeformalitäten

Registration for the course on ISIS. Registration for the complete module on QISPOS / registration office.

Literaturhinweise, Skripte

Skript in Papierform

Verfügbarkeit:  nicht verfügbar

 

Skript in elektronischer Form

Verfügbarkeit:  verfügbar
Zusätzliche Informationen:
http://www.inet.tu-berlin.de/

 

Literatur

Empfohlene Literatur
David Peleg: Distributed Computing - A Locality-Sensitive Approach, SIAM 2000
Korose, James F., Ross, Keith: Computer Networking: A Top-Down Approach. 8th ed. Pearson, 2021. ISBN-13: 978-1292405469
Mark Newman: Networks. 2nd ed. Oxford University Press, 2018 - https://global.oup.com › networks-9780198805090
Michael Mitzenmacher and Eli Upfal, Probability and Computing, Cambridge University Press, 2005.

Zugeordnete Studiengänge


Diese Modulversion wird in folgenden Studiengängen verwendet:

Studiengang / StuPOStuPOsVerwendungenErste VerwendungLetzte Verwendung
Dieses Modul findet in keinem Studiengang Verwendung.

Studierende anderer Studiengänge können dieses Modul ohne Kapazitätsprüfung belegen.

Sonstiges

Keine Angabe