Visit additional Tabor Communication Publications
October 11, 2010
Oct. 11 -- The first release of Deterministic Parallel Java packed a lot of "firsts" into its debut. The parallel language, developed by researchers at UPCRC Illinois, is the first to guarantee deterministic semantics without run-time checks for general-purpose, object-oriented programs. It's also the first language to use compile-time type checking for parallel operations on arrays of references ("pointers") to objects, and the first language to use regions and effects for flexible, nested data structures.
And if that's not enough, the yet-to-be-released experimental versions promise even more. Such as the first language to guarantee deterministic use of object-oriented parallel frameworks. Or even the first language to allow safe mixing of deterministic and non-deterministic code -- which greatly simplifies reasoning about such software.
When Illinois Computer Science professor Vikram Adve, together with his Ph.D. student Robert Bocchino and the rest of his team, set out to address the challenge of "making parallelism easy," they focused on developers and their needs. They wanted to develop a language that supports programming styles developers find most familiar and productive, such as mainstream object-oriented programming languages.
Their broad goal was to provide deterministic-by-default semantics for an object-oriented, imperative parallel language, using primarily compile-time checking. "Deterministic" to produce the same visible output for a given input -- always. "By default" to guarantee deterministic behavior -- that is unless the programmer explicitly requests otherwise. The result is DPJ, a safe and modular parallel language that helps developers port (parts of) sequential Java applications to run on multicore systems. It also helps them rewrite (parts of) parallel Java applications to simplify debugging, testing, and long-term maintenance. DPJ-ported parallel code can co-exist with ordinary Java code within the same application, so that programs can be incrementally ported to DPJ.
DPJ simplifies debugging and testing of parallel software as all potential data races are caught at compile-time. Because DPJ programs have obvious sequential semantics, all debugging and testing of DPJ code can happen essentially like that for sequential programs. Maintenance becomes easier as DPJ encodes the programmer's knowledge of parallel data sharing patterns in DPJ annotations -- simplifying the tasks of understanding, modifying, and extending parallel DPJ software. Moreover, thanks to the same program annotations, each function or class can be understood and parallelized in a modular fashion, without knowing internal parallelism or synchronization details of other functions or classes. This is especially important because modularity is crucial for creating large scale software applications, but modularity is severely compromised when using any of today's mainstream shared memory programming models.
For more information, or to download DPJ, visit the Deterministic Parallel Java website. Adve and his group are also working with Intel to define a similar set of extensions to C++ (DPC++), which can be used to check similar properties for existing programming models such as Cilk, OpenMP and Threading Building Blocks (TBB).
About UPCRC Illinois
The Universal Parallel Computing Research Center (UPCRC Illinois) at the University of Illinois is a joint research endeavor of the Department of Computer Science, the Coordinated Science Laboratory, the Department of Electrical and Computer Engineering, and corporate partners Microsoft and Intel. The center builds on a history of Illinois innovation in parallel computing that spans four decades. UPCRC Illinois is also one of many Parallel@Illinois efforts currently invested in pioneering and promoting parallel computing research and education.
Source: Cheri Helregel, University of Illinois
The Xeon Phi coprocessor might be the new kid on the high performance block, but out of all first-rate kickers of the Intel tires, the Texas Advanced Computing Center (TACC) got the first real jab with its new top ten Stampede system.We talk with the center's Karl Schultz about the challenges of programming for Phi--but more specifically, the optimization...
Although Horst Simon was named Deputy Director of Lawrence Berkeley National Laboratory, he maintains his strong ties to the scientific computing community as an editor of the TOP500 list and as an invited speaker at conferences.
Supercomputing veteran, Bo Ewald, has been neck-deep in bleeding edge system development since his twelve-year stint at Cray Research back in the mid-1980s, which was followed by his tenure at large organizations like SGI and startups, including Scale Eight Corporation and Linux Networx. He has put his weight behind quantum company....
May 16, 2013 |
When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
May 15, 2013 |
Supercomputers at the Department of Energy’s National Energy Research Scientific Computing Center (NERSC) have worked on important computational problems such as collapse of the atomic state, the optimization of chemical catalysts, and now modeling popping bubbles.
May 10, 2013 |
Program provides cash awards up to $10,000 for the best open-source end-user applications deployed on 100G network.
May 09, 2013 |
The Japanese government has revealed its plans to best its previous K Computer efforts with what they hope will be the first exascale system...
May 08, 2013 |
For engineers looking to leverage high-performance computing, the accessibility of a cloud-based approach is a powerful draw, but there are costs that may not be readily apparent.
05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.
04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.
In this demonstration of SGI DMF ZeroWatt disk solution, Dr. Eng Lim Goh, SGI CTO, discusses a function of SGI DMF software to reduce costs and power consumption in an exascale (Big Data) storage datacenter.
The Cray CS300-AC cluster supercomputer offers energy efficient, air-cooled design based on modular, industry-standard platforms featuring the latest processor and network technologies and a wide range of datacenter cooling requirements.