
Peter Gassmann
(1120) Dual-Core, Niagara, Rock - Why Java Developers should care about Hardware
Work-in-Progress
Monday, 2007-06-25, 17:50 - 18:30, Arena 9
Peter Gassmann - Sun Microsystems (Schweiz) AG (speaker)
Topics
Abstract
There is a critical force shaping the direction of software development: the
deep adoption of parallel computing. The current technologies of chip
multiprocessor (CMP) and chip multithreading (CMT) processor design will lead to
large numbers of machines providing parallel computing power. It is quite easy
to predict that, in addition to servers, most desktop machines or even laptops
will be powered by multi-core or CMT processors over the next few years.
As a result of this trend most applications could already in the near future
take advantage of this available processing power. Java provides built-in
support for multithreading and since JDK 5 also an extended library
(java.util.concurrent) for this purpose. However, so far only developers of
"naturally" parallelised applications, i.e. multi-user server
applications or compute-intensive calculation applications, had to care about
this.
Another trend is the resurgence of Java-based desktop applications. Swing-based
applications appear everywhere, partly also supported by rich-client frameworks
such as the NetBeans Platform or the Eclipse Rich Client Platform.
Exactly because of the excellent desktop-application and multithreading support
in Java, developers should now start to explore how to use these features to
provide an even snappier user experience to fully utilize the available
computing power. Developers need to understand what the hardware can provide
them, and they need to understand what options they have to build multithreaded
applications.
This talk will provide an overview of some of the available and coming processor
architectures, including Intels and AMDs Multicore approaches, Sun's own Niagara
and Rock processors, and will then focus on how Java supports developers and
what developers should look at to fully utilize the available power.







