Deterministic Parallel Java, an Extension of Java Improves Development of Parallel AppsBy Dipankar Das, Gaea News Network
Friday, October 15, 2010
Computer scientists at the University of Illinois have developed extensions to Java in order to address the critical issue of parallel application development. And they are planning to do the same for C++. You can check the download page to get the necessary information about the open source DPJ-to-Java compiler.
Development of parallel applications is getting more widespread now a days with the expansion of multicore processors. Deterministic Parallel Java features a set of extensions in the form of a compiler. As per their claim, this is the first language that uses “deterministic semantics” for compile-time type checking for parallel operations on arrays of references (”pointers”) to objects. “With deterministic semantics, a program given a particular input will always produce the same output for that particular input”, said Adve, computer science professor at the university. Maintenance becomes easier because DPJ encodes the programmer’s knowledge of parallel data sharing patterns in DPJ annotations and that simplifies the tasks of understanding, modifying, and extending parallel DPJ software.
“With parallel programs, multiple operations are executing in parallel and exchanging data. When data is exchanged, synchronization can become a problem if programmers are not careful. What [Deterministic Parallel Java] does is it checks at compile time. It checks at the time programmers are the developing the software whether the software is guaranteed to be deterministic or not,” Adve said.
Deterministic Paralell Java works with the recent versions of Java, Enterprise Edition 6 as well as with standard editions of Java.
Tags: C++, Compiler, Java Software, Multicore Architecture, Open Source, Parallel Application