Ruprecht-Karls-Universität Heidelberg
Siegel der Universität Heidelberg

Module for [Scientific Computing]

[back] to List of Modules.

[Distributed Systems I] - [2015 Sommer]

Module Code
Distributed Systems I
Credit Points
180 h
ein Semester
Methods Lecture 2 h + Exercise course 2 h
Content The module covers the basic principles and techniques of parallel and distributed systems in the context of network applications and the parallel processing of data. It will enable students to understand the specifics and problems of distributed systems, to program distributed applications and to use software frameworks such as Hadoop.The main contents are: concepts from the fields of architecture, protocols, programming, software frameworks and algorithms parallel and distributed programming, especially more modern approaches such as Map-Reduce, Actors, streamoriented programming (as additional topics): fault tolerance, scalability and efficient protocols. Examples from the domain of web services or data processing will illustrate the practical implementation of these concepts.
Learning outcomes Understanding of the different parallel architectures and characteristics of distributed systems Knowledge of basic theoretical problems and algorithms in distributed systems (eg data distribution on processors) Knowledge of applicability of various parallel programming frameworks (Pthreads, MPI, Map-Reduce) for a given architecture Ability to create parallel and distributed programs in Java (eg threads, RMI) or Groovy (GPars) Practical knowledge of modern approaches to parallel / distributed programming (Map-Reduce, Actors, dataflow programming) Familiarity with application cases (web services, parallel processing of data)
Suggested previous knowledge Knowledge of Java (eg via Introduction to Software Engineering (ISW)) and in operating systems (eg via IBN)
Assessments Successful participation in the exercises with homework (achieving a minimum score) and passing a final exam.
Literature Andrew S. Tanenbaum, Maarten Van Steen: Distributed Systems: Principles and Paradigms, Prentice Hall, 2006.
George Coulouris, Jean Dollimore, Tim Kindberg: Distributed Systems: Concepts and Design (4th ed.), Addison-Wesley, 2005.
Kurose, James F., Keith W. Ross: Computernetzwerke : der Top- Down-Ansatz, Pearson Studium, 2008.
Grama, A., Gupta, A., Karypis, G., Kumar V.: Introduction to Parallel Computing, Addison-Wesley, 2. Auflage, 2003.
Casanova, H.; Legrand, A.; Robert, Y.:Parallel Algorithms, Chapman & Hall/CRC, 2008.
zum Seitenanfang