French Firm Brews Parallel Java Offering

By Michael Feldman

July 8, 2010

Yet another software toolmaker has offered up its solution to the parallel programming crisis. This week, French software vendor Ateji released a Java solution for multicore CPUs and multiprocessor server environments. Ateji PX for Java is aimed at developers who want to take advantage of current and future computer architectures by moving their legacy codes into the parallel realm.

Now Java is not exactly the first language that comes to mind when you think of parallel programming. Although the language encompasses the thread model and the notion of concurrency, it’s up to the Java Virtual Machine (JVM) component to implement true parallelism on the hardware. Attempts to add more parallel smarts to the language itself are numerous, but mostly incomplete. These include Titanium (a parallel dialect of Java), JOMP (an OpenMP-supported implementation), and JavaParty (for distributed computing environments), among others. Despite all these research projects, commercial adoption of parallel Java implementations never took hold.

Ateji, of course, would like to change that. One thing in its favor is that Ateji PX supports a wide range of parallel models, including task parallelism, data parallelism, speculative parallelism, recursive parallelism and distributed parallelism. And it does so with a relatively-small number of extensions to the standard language. The main addition is the “||” operator, which is used to tell the compiler to parallelize the associated source statement. For example, if you wanted to parallelize matrix multiplication via a for-loop you embed the || after the keyword:

for || (int i : I) {
   for (int j : J) {
      for (int k : K) {
         C[i][j] += A[i][k] * B[k][j];
      }
   }
}

Using this method, Ateji demonstrated a 3.4x speedup on a 4-core PC and a 12.5x speedup on a 16-core server. You could implement the equivalent parallelism by using Java’s thread library, but that would take about four times as much user code. Also, in that case, the original matrix multiplication algorithm gets hidden within a lot of thread management code.

In fact, the Ateji solution tosses the whole notion of threads out the window. “Threads are very ill-suited as a programming concept,” says the Ateji PX white paper. According to a Berkeley technical report cited in the whitepaper, a thread is really a hardware concept associated with the underlying processor architecture, rather than a natural language construct. This makes the thread model a much less productive way to think about parallelizing algorithms and can lead to buggy programs.

Instead, the Ateji model introduces the concept of a “branch,” which is basically equivalent to a parallelized statement. Beneath the covers, branches do get mapped to processor threads since the hardware demands it. But the mapping is context-specific, and the programmer can’t assume that the branch is (or is not) running in its own thread.

Ateji PX does provide compatibility with standard Java. The compiler front-end does a source-to-source translation to the base language, allowing the developer to keep his or her software development tool chain intact. It also enables the developer to revert back to vanilla Java once the parallelism has been implemented.

Even though the Ateji solution is being promoted as “parallel programming made simple,” the programmer is still stuck with the task of figuring out which statements and code sequences can be parallelized. The compiler doesn’t protect you from things like data races and deadlocks, so locks and atomic operations must be used if data is to be shared across parallelized code. For cases where sharing memory becomes too arduous or is just not available, Ateji PX also offers distributed memory parallelism. In fact, the Ateji PX programming manual suggests you mix the two, using a lot of small, well-defined parallel tasks that communicate via message passing.

For distributed parallelism, Ateji has come up with message passing primitives. At the simplest level, the programmer just needs to declare a channel object for message passing that is visible to both the sender and the receiver (using || chan ! value to send a message and || chan ? value to receive it). The fact that message passing can be specified at the language level rather than by invoking runtime routines (i.e., an MPI library) means that the source can be mapped to different types of distributed computing architecture independent of library implementations. It also allows different kinds of distributed models to be used — dataflow, stream programming, the Actor model, and the MapReduce algorithm.

Apparently, the distributed parallel feature is still a work in progress. According to the Ateji Web site, a version that is able to implement parallel branches on distributed memory hardware — compute clusters, supercomputers, grids and clouds — is still under development.

Of course, the whole idea of parallelizing code is to boost execution performance. Mapping code to more than one core or processor is bound to speed up the program, but Java, being an interpreted language, is not known for its stellar performance. For optimal execution, some heavy lifting will have to be done by the JVM. Just in time (JIT) compilers have helped to some extent, but the virtual machine model tends to be at odds with compute-bound codes. A 2004 report looked at the current state of Java for HPC and found that it is possible to deliver comparable performance to that of a Fortran/MPI implementation, for at least some codes, but scalability issues still remain. It’s not inconceivable that back-end Java technology could be developed for the performance market.

Although the official launch of Ateji PX was this week, the solution has been previewed by selected customers over the past year. A group at ISIMA claimed a seven-fold speedup with the Game of Life algorithm using Ateji PX on an 8-core Nehalem system. Another researcher at the University of Pisa benchmarked different parallel implementations of the convolution algorithm using the Ateji solution. In another case, an investment bank was able to parallelize a back-office Java app, reducing execution time from 40 minutes to eight minutes.

A free 30-day evaluation license is available for users that want to give Ateji PX a whirl. The solution is provided as an Eclipse plug-in, and all documentation and samples are provided online through the Ateji Web site.

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

SRC Spends $200M on University Research Centers

January 16, 2018

The Semiconductor Research Corporation, as part of its JUMP initiative, has awarded $200 million to fund six research centers whose areas of focus span cognitive computing, memory-centric computing, high-speed communicat Read more…

By John Russell

US Seeks to Automate Video Analysis

January 16, 2018

U.S. military and intelligence agencies continue to look for new ways to use artificial intelligence to sift through huge amounts of video imagery in hopes of freeing analysts to identify threats and otherwise put their Read more…

By George Leopold

URISC@SC17 and the #LongestLastMile

January 11, 2018

A multinational delegation recently attended the Understanding Risk in Shared CyberEcosystems workshop, or URISC@SC17, in Denver, Colorado. URISC participants and presenters from 11 countries, including eight African nations, 12 U.S. states, Canada, India and Nepal, also attended SC17, the annual international conference for high performance computing, networking, storage and analysis that drew nearly 13,000 attendees. Read more…

By Elizabeth Leake, STEM-Trek Nonprofit

HPE Extreme Performance Solutions

HPE and NREL Take Steps to Create a Sustainable, Energy-Efficient Data Center with an H2 Fuel Cell

As enterprises attempt to manage rising volumes of data, unplanned data center outages are becoming more common and more expensive. As the cost of downtime rises, enterprises lose out on productivity and valuable competitive advantage without access to their critical data. Read more…

When the Chips Are Down

January 11, 2018

In the last article, "The High Stakes Semiconductor Game that Drives HPC Diversity," I alluded to the challenges facing the semiconductor industry and how that may impact the evolution of HPC systems over the next few years. I thought I’d lift the covers a little and look at some of the commercial challenges that impact the component technology we use in HPC. Read more…

By Dairsie Latimer

When the Chips Are Down

January 11, 2018

In the last article, "The High Stakes Semiconductor Game that Drives HPC Diversity," I alluded to the challenges facing the semiconductor industry and how that may impact the evolution of HPC systems over the next few years. I thought I’d lift the covers a little and look at some of the commercial challenges that impact the component technology we use in HPC. Read more…

By Dairsie Latimer

How Meltdown and Spectre Patches Will Affect HPC Workloads

January 10, 2018

There have been claims that the fixes for the Meltdown and Spectre security vulnerabilities, named the KPTI (aka KAISER) patches, are going to affect applicatio Read more…

By Rosemary Francis

Momentum Builds for US Exascale

January 9, 2018

2018 looks to be a great year for the U.S. exascale program. The last several months of 2017 revealed a number of important developments that help put the U.S. Read more…

By Alex R. Larzelere

ANL’s Rick Stevens on CANDLE, ARM, Quantum, and More

January 8, 2018

Late last year HPCwire caught up with Rick Stevens, associate laboratory director for computing, environment and life Sciences at Argonne National Laboratory, f Read more…

By John Russell

Chip Flaws ‘Meltdown’ and ‘Spectre’ Loom Large

January 4, 2018

The HPC and wider tech community have been abuzz this week over the discovery of critical design flaws that impact virtually all contemporary microprocessors. T Read more…

By Tiffany Trader

The @hpcnotes Predictions for HPC in 2018

January 4, 2018

I’m not averse to making predictions about the world of High Performance Computing (and Supercomputing, Cloud, etc.) in person at conferences, meetings, causa Read more…

By Andrew Jones

Fast Forward: Five HPC Predictions for 2018

December 21, 2017

What’s on your list of high (and low) lights for 2017? Volta 100’s arrival on the heels of the P100? Appearance, albeit late in the year, of IBM’s Power9? Read more…

By John Russell

Independent Hyperion Research Will Chart its Own Course

December 19, 2017

Hyperion Research, formerly the HPC research and consulting practice within IDC, has become an independent company with Earl Joseph, the long-time leader of the Read more…

By John Russell

US Coalesces Plans for First Exascale Supercomputer: Aurora in 2021

September 27, 2017

At the Advanced Scientific Computing Advisory Committee (ASCAC) meeting, in Arlington, Va., yesterday (Sept. 26), it was revealed that the "Aurora" supercompute Read more…

By Tiffany Trader

AMD Showcases Growing Portfolio of EPYC and Radeon-based Systems at SC17

November 13, 2017

AMD’s charge back into HPC and the datacenter is on full display at SC17. Having launched the EPYC processor line in June along with its MI25 GPU the focus he Read more…

By John Russell

Japan Unveils Quantum Neural Network

November 22, 2017

The U.S. and China are leading the race toward productive quantum computing, but it's early enough that ultimate leadership is still something of an open questi Read more…

By Tiffany Trader

Nvidia Responds to Google TPU Benchmarking

April 10, 2017

Nvidia highlights strengths of its newest GPU silicon in response to Google's report on the performance and energy advantages of its custom tensor processor. Read more…

By Tiffany Trader

IBM Begins Power9 Rollout with Backing from DOE, Google

December 6, 2017

After over a year of buildup, IBM is unveiling its first Power9 system based on the same architecture as the Department of Energy CORAL supercomputers, Summit a Read more…

By Tiffany Trader

Fast Forward: Five HPC Predictions for 2018

December 21, 2017

What’s on your list of high (and low) lights for 2017? Volta 100’s arrival on the heels of the P100? Appearance, albeit late in the year, of IBM’s Power9? Read more…

By John Russell

GlobalFoundries Puts Wind in AMD’s Sails with 12nm FinFET

September 24, 2017

From its annual tech conference last week (Sept. 20), where GlobalFoundries welcomed more than 600 semiconductor professionals (reaching the Santa Clara venue Read more…

By Tiffany Trader

Chip Flaws ‘Meltdown’ and ‘Spectre’ Loom Large

January 4, 2018

The HPC and wider tech community have been abuzz this week over the discovery of critical design flaws that impact virtually all contemporary microprocessors. T Read more…

By Tiffany Trader

Leading Solution Providers

Perspective: What Really Happened at SC17?

November 22, 2017

SC is over. Now comes the myriad of follow-ups. Inboxes are filled with templated emails from vendors and other exhibitors hoping to win a place in the post-SC thinking of booth visitors. Attendees of tutorials, workshops and other technical sessions will be inundated with requests for feedback. Read more…

By Andrew Jones

Tensors Come of Age: Why the AI Revolution Will Help HPC

November 13, 2017

Thirty years ago, parallel computing was coming of age. A bitter battle began between stalwart vector computing supporters and advocates of various approaches to parallel computing. IBM skeptic Alan Karp, reacting to announcements of nCUBE’s 1024-microprocessor system and Thinking Machines’ 65,536-element array, made a public $100 wager that no one could get a parallel speedup of over 200 on real HPC workloads. Read more…

By John Gustafson & Lenore Mullin

Delays, Smoke, Records & Markets – A Candid Conversation with Cray CEO Peter Ungaro

October 5, 2017

Earlier this month, Tom Tabor, publisher of HPCwire and I had a very personal conversation with Cray CEO Peter Ungaro. Cray has been on something of a Cinderell Read more…

By Tiffany Trader & Tom Tabor

Flipping the Flops and Reading the Top500 Tea Leaves

November 13, 2017

The 50th edition of the Top500 list, the biannual publication of the world’s fastest supercomputers based on public Linpack benchmarking results, was released Read more…

By Tiffany Trader

GlobalFoundries, Ayar Labs Team Up to Commercialize Optical I/O

December 4, 2017

GlobalFoundries (GF) and Ayar Labs, a startup focused on using light, instead of electricity, to transfer data between chips, today announced they've entered in Read more…

By Tiffany Trader

HPC Chips – A Veritable Smorgasbord?

October 10, 2017

For the first time since AMD's ill-fated launch of Bulldozer the answer to the question, 'Which CPU will be in my next HPC system?' doesn't have to be 'Whichever variety of Intel Xeon E5 they are selling when we procure'. Read more…

By Dairsie Latimer

Nvidia, Partners Announce Several V100 Servers

September 27, 2017

Here come the Volta 100-based servers. Nvidia today announced an impressive line-up of servers from major partners – Dell EMC, Hewlett Packard Enterprise, IBM Read more…

By John Russell

Intel Delivers 17-Qubit Quantum Chip to European Research Partner

October 10, 2017

On Tuesday, Intel delivered a 17-qubit superconducting test chip to research partner QuTech, the quantum research institute of Delft University of Technology (TU Delft) in the Netherlands. The announcement marks a major milestone in the 10-year, $50-million collaborative relationship with TU Delft and TNO, the Dutch Organization for Applied Research, to accelerate advancements in quantum computing. Read more…

By Tiffany Trader

  • arrow
  • Click Here for More Headlines
  • arrow
Share This