Hochschule Darmstadt - Fb Informatik

Drucken| Layout| Design| Schriftgröße English|
Module:Parallel and Distributed Computing
Module numbers:41.4874 [PVL 41.4875]
Study programme:Dualer Master 2013 - Katalog AS: Anwendungs- und systemorientierte Module
JIM 2013 - Elective Catalogue J
Master 2013 - Katalog AS: Anwendungs- und systemorientierte Module
JIM 2006 - Courses
Master 2006 - Katalog AS: Anwendungs- und systemorientierte Module
Master 2006 - Vertiefung AE: Application Engineering
Master 2006 - Vertiefung TK: Telekommunikation
Master 2006 - Vertiefung TS: Technische Systeme
MN Data Science 2016 - Katalog DS-I: Data Science - Informatik
Type of course:V+P = Lecture+Practical
Weekly hours:2+2
Credit Points:6
Exam:written exam
Registering for examexplicitly and independent of booking
PVL (e.g. Practical):not graded (ungraded practical)
Frequency of offering:inactive
Required knowledge:Experience with C++ programming is a prerequisite for the practical course.
Learning objectives:Students should learn how to first plan, then build and then maintain parallel and distributed systems. More precisely, they should be able to:
  • analyze problems and algorithms to discover implicit (theoretical) parallelism,
  • find the appropriate degree of granularity for a given problem (i.e. choose between fine-grained and coarser grained parallelism in the real world),
  • use both the shared memory and the message passing paradigms,
  • choose between the shared memory and the message passing paradigms for a given problem,
  • use, and choose between, currently available tools (programming languages, libraries, etc.) for constructing parallel software,
  • apply best practice design processes and design patterns.
  • Introduction to the terminology and basic concepts for parallel and distributed computing
  • Models of parallel computation
    • theoretical models such as PRAM and Dataflow Graphs
    • hardware models e.g. SIMD, MIMD, SPMD
    • parallel patterns found in computer architecture, e.g. vector computers, pipelining, superscalar and VLIW
    • network topologies
  • Methods and Patterns for Parallel Architectures (s. Literature)
    • Discovering (fine-grain) parallelism
    • Partitioning and Agglomeration in order to optimize granularity
    • Mapping parallel solutions onto available hardware
  • Shared memory paradigm (using C++11, Java & OpenMP)
  • The message passing paradigm (using MPI)
  • Current trends (e.g. General Purpose Graphics Processor Units, Many-Core Chips, Grid & Cloud Computing)
Literature:Main Text
  • T. G. Mattson, B. A. Sanders & B. L. Massingill, Patterns for Parallel Programming, Addison-Wesley (Pearson Education), 2005

Also helpful:
  • Clay Breshears, The Art of Concurrency, O Reilly Media Inc, 2009.
  • Ian Foster, Designing and Building Parallel Programs, Addison-Wesley Publishing, 1995. Cf. http://www​.mcs.anl.g​ov/~itf/db​pp/​
  • A. Tanenbaum, M. van Steen, Distributed Systems. Principles and Paradigms, Prentice Hall International; 2nd Edtion, 2006
Lecture style / Teaching aids:Seminaristic Lecture
Internship in group of 2 persons with written work
Tools: Slides / Script, On-line References
Responsibility:Ronald Moore
Released:WS 2013/2014
Professional competencies:
  • formal, algorithmic, mathematical competencies: medium
  • analytical, design and implementation competencies: high
  • technological competencies: high (Software Development, System Optimization, System Architecture)
  • capability for scientific work: low
Interdisciplinary competencies:
  • project related competencies: low
  • interdisciplinary expertise: basic technical and natural scientific competence
  • social and self-competencies: ability to work in a team, analytical competence, judging competence, deciding competence, competence of knowledge acquisition, fluency

[Fachbereich Informatik] [Hochschule Darmstadt]
© 2008 - 2022 FBI OBS Team. Alle Rechte vorbehalten.