Open-Source-Projekt macht Java parallel

Künftig wollen die Computer-Experten der Universität Illinois ihre Open-Source-Technologie auch auf C++ ausweiten. Das Projekt nennt sich Deterministic Parallel Java und soll Entwicklern dabei helfen, parallele Programmierfehler zu beheben.

Nach wie vor stellen mehrkernige Prozessorarchitekturen für Java- und andere klassische Anwendungen eine große Herausforderung dar. Denn meist sind diese single-threaded. So können zahlreiche Legacy-Java-Anwendungen oftmals nur einen Prozessorkern nutzen.

Da mehrkernige Prozessoren nicht mehr wegzudenken sind, werden in Zukunft auch alle Anwendungen parallel sein, um die Hardware-Ressourcen optimal ausnutzen zu können. Nun hoffen die Forscher, mit ihrem Projekt das parallele Entwickeln zu vereinfachen.

Das Deterministic Parallel Java besteht aus einem Compiler, einer Laufzeitumgebung und weiteren Tools. Es soll eine deterministische Semantik garantieren. Damit ist sichergestellt, dass ein bestimmter Input immer einen gleichbleibenden Wert erzeugt. Das ist in sequentiellen Programmen meist kein Thema. Bei parallelen Anwendungen hingegen ist das keineswegs selbstverständlich, denn der Zeitpunkt der Synchronisation von Daten entscheidet mit über das Ergebnis. Ist ein Entwickler hier unvorsichtig, ist sozusagen ein kleiner Zufallsgenerator in die Software eingebaut, der zu schweren Fehlern führen kann.

Das Java-Tool wurde bereits im Sommer veröffentlicht – jedoch erst jetzt offiziell angekündigt. Die Download-Zahlen sind derzeit noch recht übersichtlich. Feedback ist noch keines bekannt.

Silicon-Redaktion

View Comments

  • Leider eigener Compiler erforderlich
    Bessere Werkzeugunterstützung für die Entwicklung paralleler Anwendungen ist sicher wichtig. Mit JSR-166 ist Java dabei auch ein gutes Stück voran gekommen. In Java 7 wird das weiter verfeinert, siehe http://www.infoq.com/news/2007/07/concurrency-java-se-7.

    Was mir an DPJ nicht gefällt ist die Notwendigkeit eines speziellen Compilers für die syntaktischen Erweiterungen. Vielleicht hätte man hier besser Annotations nehmen sollen, z.B. etwa so: @Writes(X), so dass der Code auch ohne DPJ-Compiler übersetzbar bliebe?

    Was dem Java-SDK noch fehlt ist ein Application-Framework, das auch gleich grundlegende Elemente der parallelen Ausführung innerhalb einer Anwendung enthalten sollte. Die Grundlagen dafür sind im Concurrent-Package eigentlich alle vorhanden. Man kann natürlich auch gleich zu Eclipse RCP oder Netbeans Plattform greifen.

Recent Posts

Wie Vibe Coding die Softwareentwicklung verändertWie Vibe Coding die Softwareentwicklung verändert

Wie Vibe Coding die Softwareentwicklung verändert

Was wie ein Produktivitätsbooster klingt, bringt erhebliche Risiken mit sich, warnt Patrick Siffert von Checkmarx.

9 Stunden ago
KI-Rechenzentren: Deloitte mahnt Ausbau der Kapazitäten anKI-Rechenzentren: Deloitte mahnt Ausbau der Kapazitäten an

KI-Rechenzentren: Deloitte mahnt Ausbau der Kapazitäten an

In den nächsten fünf Jahren seien fast 60 Mrd. Euro an Investitionen erforderlich, um im…

12 Stunden ago
“Deepfakes sind plattform- und branchenübergreifend hochkoordiniert”“Deepfakes sind plattform- und branchenübergreifend hochkoordiniert”

“Deepfakes sind plattform- und branchenübergreifend hochkoordiniert”

"Betrüger umgehen Sicherheitsmaßnahmen, indem sie Schwachstellen in traditionellen Verifizierungssystemen nutzen", warnt Vyacheslav Zholudev von Sumsub…

1 Tag ago

Deep-Learning-Tool spürt Tumorveränderungen schneller auf

Fraunhofer-Forschende haben eine KI-Lösung entwickelt, die herkömmliche Software-Analysen um den Faktor zehn verbessern könnte.

2 Tagen ago

Managed Services: Strategische Beratung bleibt Schwachstelle

Wie zufrieden sind Unternehmen mit ihren Dienstleistern? Antworten liefert das aktuelle „Professional User Rating: Managed…

2 Tagen ago

Cybersicherheitsrisiken von Quantencomputing

Verschlüsselte Daten, die künftig entschlüsselt werden könnten, Manipulation der Blockchain und quantenresistente Ransomware.

2 Tagen ago