Parallelität und Nebenläufigkeit

Die Prozessorentwicklung ist 2005 an ihre physikalischen Grenzen gestossen.

Nur mit Parallelrechnern können weitere Fortschritte erreicht werden (Geschwindigkeitssteigerungen und/oder größere Datenmengen).

Die Erstellung von korrekten und effizienten parallelen Programmen ist jedoch mit einigen Schwierigkeiten verbunden.

Ich beschäftige mich seit 1995 mit parallelem und verteiltem Rechnen.

Thread-Programmierung mit Shared-Memory

Ausnutzung von Multicore-Prozessoren oder Rechnernetzen.

  • C/C++: OpenMP, POSIX Threads
  • Java 5/Java 7: java.util.concurrent
GPU Computing

Grafikkarten: 10x schneller als CPU, da massiv parallel

  • NVIDIA CUDA und OpenCL
  • Platformen: C/C++, Java/JVM, .NET
Software-Transactional Memory (STM)

Akka, Haskell

Actor-Modelle

Scala, Akka

Theoretischer Hintergrund
  • PRAM, P-Vollständigkeit
  • Parallele und verteilte Algorithmen

Falls Sie Fragen haben, schicken Sie mir eine Email!

Copyright © 2007-2012 Jörn Dinkla. All rights reserved.

Valid XHTML 1.0 Strict Valid CSS! Firebug - Web Development Evolved
Last modified: