Sun Java Solaris Communities My SDN Account Join SDN
 

JavaOne Online Technical Sessions

Pump Up Your Technical Knowledge
Listen and watch as industry luminaries bring you the latest on Java technologies
Active Tab2008
 
Begin Product Tab Sub Links Active Sub LinkJavaOne Technical Sessions JavaOne Hands-On Labs Tech Days Hands-On Labs

Transactional Memory in Java Technology-Based Systems
TS-6316


Presenter: Vyacheslav Shakin, Intel Corporation; Suresh Srinivas, Intel Corporation


Many new applications are written in languages, such as the Java programming language, that have managed runtime environments. The different needs and performance characteristics of such applications affect how hardware resources are used in general and how transactional memory can best be implemented in particular. This presentation surveys hardware and software transactional memory implementation techniques, with an emphasis on (1) what is easier in a managed runtime environment, (2) what is harder in a managed runtime environment, and (3) how transactions interact with other runtime services such as garbage collection and dynamic compilation.

The session also presents the programmers' view of transactions, which is essential if transactions will succeed at making shared-memory concurrent programming easier. It covers the motivation, semantics, and design of software transactions in a managed language. The speakers take the novel view that transactions can improve concurrency, much as garbage collection can improve memory management. They describe the semantics of transactions and how they interact with existing language constructs such as exceptions. They also introduce the semantics of isolation, ordering, conflict detection, and nested transactions.

On the implementation side, they discuss both software and hardware transactional memories (STMs and HTMs, respectively). On the software side, they survey several STM implementations for managed runtimes and discuss differences between managed runtimes and native environments. On the hardware side, they introduce hardware transactional memory and describe alternative applications of this hardware, including software lock elision and speculative compiler optimizations.

The session includes a case study--based on workloads and a runtime developed with the Apache Harmony Environment and the high-performance McRT (multicore runtime) STM--that delves into the workload characteristics of running under an STM. Apache Harmony (http://harmony.apache.org) is the open-source Java Platform, Standard Edition (Java SE platform) implementation done under Apache License v2, and McRT STM is a high-performance runtime environment. The workloads the presentation characterizes and demonstrates include simple microbenchmarks; large, multithreaded Java technology-based applications; and work being done in native C/C++ workloads.

The session concludes with open research problems in this field and presents pointers to implementations available to researchers for continued progress in this field.

 
 
FREE White Papers on Java SE, Java EE, cloud computing and database technologies.
New SDN Member Only Offers Every Month Discounts, FREE white papers and more!
Java University and JavaOne Training Sessions