Parallele Programmierung leicht gemacht: GPars 1.0 RC1

Judith Lungstraß

Die parallele Programmierung hat in letzter Zeit immer mehr an Land gewonnen. In Zuge der Performance-Optimierung und dem Aufkommen von Multicore-Systemen muss sequentieller immer häufiger dem nebenläufigen Code weichen. Dieser Entwicklung trägt das Framework GPars (Groovy Parallel Systems) Rechnung, denn den GPars-Entwicklern zufolge entspricht das traditionelle Thread-basierte Concurrency-Modell in Java nicht der natürlichen, menschlichen Auffassung von Parallelismus.

So ist GPars ein Framework zum nebenläufigen Handling von Java und Groovy Tasks, das intuitiver und einfacher funktionieren soll als bisherige Lösungen. Es stellt Java- oder Groovy-basierte APIs zur Verfügung, um zu deklarieren, welche Teile des Codes parallel ausgeführt werden sollen. Closures kann man hiermit in zusammensetzbare asynchrone Funktionen umwandeln und im Hintergrund laufen lassen.

Wie oft bei Groovy-Frameworks handelt es sich um eine dünne Schicht, die vereinfachten Zugang zu den Möglichkeiten von Java bietet. GPars stellt Abstraktionen wie verteilte Aktoren, Datenflussoperatoren, Sicherungen für veränderliche Objekte und nebenläufige Operationen auf Collections bereit. Die Implementierungen stützen sich auf das java.util.concurrent-Paket und deren Konzepte, zusätzlich kommt das Fork-/Join-Konzept aus dem JSR 166 zum Einsatz. Groovy wird vor allem für das API-Design verwendet.

Wem diese Möglichkeiten nun verlockend erscheinen, der wartet sicherlich schon sehnlich auf das finale 1.0 Release des GPars Frameworks. Bevor dieses erscheinen kann, hat es aber zuerst noch seine Generalprobe zu bestehen. Als solche gilt der GPars 1.0 Release Candidate 1, der kürzlich erschienen ist. Diesen können Sie nun ausgiebig testen und Bescheid geben, falls irgendetwas nicht funktioniert oder ein Feature fehlen sollte.

Der GPars Release Candidate 1 kann auf der Projektseite heruntergeladen werden.

Geschrieben von
Judith Lungstraß
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.