Sun rallies industry around Rock CPU

SAN JOSE, Calif.  Sun Microsystems is trying to rally an industry consortium around its approach to supporting transactional memory, a key piece of the puzzle of tomorrow's parallel programming systems. The move comes at a time when Sun hopes to be the first to implement the technology in a server microprocessor.

Sun will describe its Rock processor in a paper at the International Solid-State Circuits Conference in San Francisco Monday (Feb. 4). Abstracts released by ISSCC show the 2.3 GHz Rock aims to be the first CPU to implement transactional memory, also known as atomic transactions.

By tagging groups of instructions to execute at essentially the same time, the technique reduces the complexity and inefficiency of current locking mechanisms used to synchronize operations, especially in large database software. Computer scientists have long seen the feature as one of the initial planks of a new parallel programming model that will be needed for multi-core architectures.

As the first to implement atomic transactions, Sun risks being ahead of broad industry support. So far, it's unclear whether industry giants including IBM, Intel, Microsoft, Oracle and others will back Sun approach in processors and database software.

Representatives from Microsoft—which has done significant research on the topic--declined to respond for this article. It is still possible competitors could be motivated to define a competing standard before Rock-based systems ship.

As far as third-party databases and other applications, "I believe we will have ISVs support for this the day we ship [Rock-based] systems," said Marc Tremblay, chief technology officer of Sun's microelectronics group.

Sun is working to create a consortium that would define an applications programming interface for its implementation of atomic transactions and make the API available as open source software. At least two large computer user organizations are backing the move, Tremblay said.

The synching mechanism in widely-used Java code maps well to the new Rock instructions. In addition, Sun's Solaris operating system and thread libraries will support atomic transactions so users can get immediate benefits, he added.

The company is also developing a simulator for its approach that will be released as open source software. Sun will deliver a paper at the Transact conference in February describing the simulator and its early findings on Rock's support for atomic transactions. The company hopes to release the simulator at the conference.

"We have found some encouraging results and some pitfalls," working with the simulator, said Mark Moir, a senior staff engineer developing the simulator at Sun.

Moir said the implementation atomic transactions in Rock is limited and is not intended to support all conditions or instructions. Therefore Rock may abort an atomic transaction at any time, turning the key synchronization effort back over to software.

"We are not trying to solve all the problems with transactional memory--that's too hard," said Moir. "It will be easy to poke holes in this implementation by finding things it is not useful for, but this gives us a place to start from which we can improve," he added.

Indeed, one of the goals of the simulator is to get the technology quickly into the hands of researchers who can find ways to improve it. "We also have had some contact from developers who want to explore how they can quickly support this new technology," said Moir.

The simulator is based on the Gems simulator from the University of Wisconsin. Sun hopes to release the simulator to the Gems team in Wisconsin so they can release and maintain it as part of their ongoing efforts.
The Sun version only approximates the atomic features of Rock and is not meant to be an accurate model of its performance, Moir said.

Sun is a few weeks from getting a "version 2.0" of Rock back from the fab. It expects to ship the part in systems within a year, said Tremblay.