password
username
Sponsored by CakeMail, an email marketing software
Newsletter preview

Javalobby logo image
Tuesday, December 04, 2007 

NetBeans IDE 6.0 - The Release is Here!

NetBeans IDE 6.0 features a rewritten, smarter, faster Java editor. 6.0 extends beyond Java, with advanced support for Ruby/JRuby and C/C++. Highlights include enhanced refactoring, integrated profiling, a new Visual Game Designer, new Data Binding support and more.

Download NetBeans 6.0 today!

 Perspective


Be sure and
check out a
No Fluff Just Stuff
Java conference
coming your way!

2/08-2/10 San Jose 2/29-3/02 Milwaukee
3/07-3/09 St. Louis
3/14-3/16 Minneapolis
3/28-3/30 Omaha
4/04-4/06 Boston
4/11-4/13 San Diego
4/11-4/13 Portland
4/18-4/20 Jersey City



One Free Ebook a Day for 15 Days!

Click to join the random drawing

Happy Holidays from Manning!

 
 A Developer's Perspective
 Next section
As Solutions Architect for Pervasive Software, Jim Falgout is responsible for setting innovative design principles that guide Pervasive engineering teams. and for the architectural design of Pervasive DataRush™.

Jim FalgoutJava: Multi-core Ready or Not?
By Jim Falgout

Multi-core is everywhere. It’s all over the news, especially with Intel and AMD recently announcing quad-core offerings. You see it in consumer advertisements in your local newspaper. Even my school-age daughter, who is in the market for a laptop, knows that a dual-core processor machine is what she has to have this holiday shopping season.

Big deal, right? Haven’t we had multi-processor machines around forever? We’ve had to deal with multi-threaded programming for years. Besides, won’t my application server handle all of that for me? Lunatic fringe, scientific type super-computing is still a niche and better left to the academics and Fortran and C. Yes? Well, yes and no.

More is going on here than just adding a few more cores to your enterprise systems for your application server to handle. Take Azul Systems for example (www.azulsystems.com). They have, currently on the market, a machine with hundreds of cores. Their Vega-2 processor has 48-cores, is 64-bit and so can address large amounts of memory. And it runs Java! Take a gander at some of Cliff Click’s presentations from JavaOne in 2006 and 2007. He tells a great story of how hard it can be to get applications that seemed to be multi-threaded to actually run effectively on a machine with hundreds of cores available. Going from a few cores to hundreds is a big leap. Not all applications are ready to make that jump.

Part of the challenge is that the cores in a multi-core system are not quite the same as their single-processor predecessors. As more and more cores are added, cache sizes per core will shrink. Also, the caches at some levels are shared. On the up-side, the cores are much more tightly coupled with extremely fast interconnects. This implies core-to-core communications are faster and involve less latency. How does this affect software? Any concurrent algorithms that depend on large processor caches will have to be re-designed to be finer grained. “Tera-scale” computing, as Intel has defined it, requires rethinking of the entire system software stack. That includes the operating system, JVM and your application.

There are a few more twists to this story. So far, Intel and AMD multi-core designs have been implemented such that each core supports the full x86 architecture and instruction set. At some point, a limit on how many of these “heavy weight” cores that can be married together on one chip will be reached. We’ll start to see alternative architectures such as the Cell processor become much more common and commodity. The Cell is a heterogeneous system with a PowerPC chip and 8 specialized processing units that can pipeline frequently used calculations at incredible speeds. This processor is at the heart of the Play Station-3 gaming system. The PS-3 system supports Linux and users are now starting to see the platform as being useful beyond gaming. See the article in Wired about how an astrophysicist clusters several of the game consoles together to create a “super-computer” (Wired article).

It is fascinating to see such fundamental shifts in computer technology and where it takes us. But it can’t be a spectator sport. This wave is big and overwhelming. So, what is Java doing to support multi-core and tera-scale computing?

  • We have the java.util.concurrent packages with more to come in Java 7, isn’t that enough?
  • There are also packages and frameworks that support scientific type computing in Java and have concurrent constructs built in. What more is needed?
  • If you want hard-core performance, write in C or Fortran.
  • So don’t touch Java, it is good enough and that’s not what it should be used for.

Problem solved. That is the prevailing sentiment in some parts of the industry.

The thing is: I really like Java. Java is productive. It’s portable. It’s fun. The JVM is powerful and has shown outstanding performance improvements with each release. Using high functioning IDE’s such as Eclipse and NetBeans to develop Java is now part of my everyday work experience. And I’m not alone, Java is not only my personal development preference but it is also the language of choice of vast numbers of programmers throughout the world.

So where am I going with all this? Here’s the point: high performance computing (HPC) is no longer the exclusive domain of the few and initiated. Businesses today are moving more and more into traditional HPC arenas, establishing what can be called Commercial High Performance Computing (CHPC). Mix very inexpensive tera-scale computing with whopping big data storage (4 terabyte drives) and a huge data processing capability is now available to even small and medium sized businesses (SMB’s). Businesses that previously have had limited or no access to data mining, business intelligence, operations analysis or other business productivity tools now will find that possible. As we’ve seen in the past, the appetite for compute capability always grows to exceed current capacity. This quantum drop in cost and increase in compute power is a huge opportunity for Java, a language known by most of the programmers inhabiting those companies itching for more processing capability from their software.

The whole software stack is impacted by tera-scale multi-core. At the bottom of the stack is the operating system. Given that software is already being written on Linux to take advantage of heterogeneous cores, this part of the stack will be the first to adapt. It already has.

Next, let’s look at Java. As technologies such as dataflow become integrated with Java, concurrent programming will evolve and become main stream. Will this require language changes to Java? Perhaps. Technologies such as aspect-oriented programming (AOP) and other byte code enhancement techniques may provide useful language extensions. Scripting languages, both new and existing will also provide the needed constructs, fully integrated with Java within the same JVM.

What about the JVM? What will threading look like in a heterogeneous processor world? Will Java expose the ability to run code in threads targeted for different processor types? Hopefully it will, as heterogeneous processor cores will soon become the norm. The JVM writers of the world have big challenges ahead. Based on their success in the past, I’m looking forward to the future of Java.

Other References:

Best Regards,
Jim Falgout
http://www.pervasive.com/

Jim Falgout, Solutions Architect, Pervasive Software (NASDAQ: PVSW)
As Solutions Architect for Pervasive Software, Jim Falgout is responsible for setting innovative design principles that guide Pervasive engineering teams as they develop new releases and products for partners and customers.  Jim is responsible for the architectural design of Pervasive DataRush™, a 100% Java framework that allows developers to quickly build highly parallel, data-intensive applications that take full advantage of multicore.  The Beta 2 version of DataRush is available at no charge to developers at www.pervasivedatarush.com.

 DZ Top Links
 
 DZone Top Links
 Next section
 Back to top
most clicked this week from dzone.com

dzone

Most-clicked links this week

 
 Popular at JL
 
 Popular at Javalobby
 Next section
 Back to top
A recap of some of the most popular and active Javalobby.org discussions this week.
Multiple return types for Java 7

Of all the personal bug-bears I have with the Java language one of the biggest is the lack of multiple return types. Is Java 7 the time to look at this again?

Full Discussion Posted By: chhum - (57 Replies)

Which OS you use for your Java Development?

Of late I had been using Windows XP for my Java Development but quickly after the release of Windows Vista and Ubuntu 7.10 (Gutsy), things have changed for me. Which OS are you using?

Full Discussion Posted By: Arpit Agarwal - (50 Replies)

Music To Program By

When you program, what music do you listen to? Doesn't seem to be much on-line targeted specifically to the programmer in need of music. No lists of suggestions anywhere, it seems. Let's create ours.

Full Discussion Posted By: Geertjan - (42 Replies)

Do you use third party swing components in your application?

The default swing components available in Java SE is very limited. However there are lots of third-party components. What third party components do you use in your application? Are they good enough?

Full Discussion Posted By: James Selvakumar - (32 Replies)

Java Committee Process - How to make it better?

Next Tuesday we have an important Java Executive Committee Meeting (in my barn!) regarding the future of the JCP. As individual member I would like to forward inputs/concerns of others individuals.

Full Discussion Posted By: Jean-Marie Dautelle - (31 Replies)

 White Papers & Announcements
 
 Whitepapers
 Next section
 Back to top
Enterprise Ajax Security for Java EE

Can enterprise application developers deliver Rich Internet Applications using Ajax techniques, but do so in a secure and cost-effective manner? This paper examines some of the fundamental security issues related to client-centric Ajax techniques, and will show how these issues can be overcome using a server-centric approach based on Java EE and ICEfaces.

Download Full White Paper Posted by: Icesoft

 Product Announcements
 Next section
 Back to top
Product and service announcements for Java developers.
Grails 1.0-RC2 Released

The Grails development team has reached another milestone and is pleased to announce the release of version 1.0-RC2 of the Grails web-application development framework.

Full Announcement & Discussion Posted By: Marcel Overdijk - (0 Replies)

soapUI 2.0 beta2

eviware is happy to release soapUI 2.0 beta2 which has overhauled WS-Security support, improved WSDL and message inspection, improved LoadTest logging, and many more minor fixes.

Full Announcement & Discussion Posted By: Ole Matzura - (0 Replies)

launching japplis.com

japplis.com has been launched. Japplis is a web site with a had set of applets. JLearnIt 4.1 has been released. Ant Commander 1.2 has been released.

Full Announcement & Discussion Posted By: Anthony Goubard - (0 Replies)

H2 Database 1.0.62 Released

# Large updates and deletes are now supported by buffering data to disk if required. The threshold is currently set to 100'000 bytes and can be changed using SET MAX_OPERATION_MEMORY...

Full Announcement & Discussion Posted By: Mark Ashworth - (1 Replies)

Target millions of mobile users with Java-like code,css,xml

Code widgets for WidSets: - Java like structural coding language WidSets Scripting Language(resembles Java J2ME) - Free SDK, Free support, Online community - Target MILLIONS OF JAVA ENABLED MOBILES

Full Announcement & Discussion Posted By: Sun Windsurfer - (0 Replies)

STAN - Structure Analysis for Java public beta

STAN encourages developers in visualizing their design, understanding code, measuring quality and reporting design flaws. STAN takes Eclipse integrated structure analysis to a new level.

Full Announcement & Discussion Posted By: Christoph Beck - (1 Replies)

C version of VTD-XML tutorial posted

The C version of VTD-XML tutorial by example has been posted. Below is the readme for the tutorial

Full Announcement & Discussion Posted By: Jimmy Zhang - (0 Replies)

Efigio Personal Organizer 2.1

Efigio Personal Organizer version 2.1 has been released. Current version includes: 1. Added categories for ToDos 2. Enhanced keyboard events 3. Created a cross-platform version for Linux, Mac...

Full Announcement & Discussion Posted By: Tiberiu Ghioca - (0 Replies)

JPedal 3.40 release

IDRsolutions are delighted to celebrate 10 years developing their renowned PDF library with a major new release, an updated site and a new support wiki

Full Announcement & Discussion Posted By: mark stephens - (0 Replies)

Virtual Machinery announces release 6 of BTree Product

Virtual Machinery's latest release of its BTree Product supports JSR75. After 18 years it's pretty hard to improve your product - you just have to make it do more!

Full Announcement & Discussion Posted By: virtualmachinery - (0 Replies)

New plugin for Intellij IDEA: CafeBabe Bytecode Editor plugin (ver. 0.8.0)

This plugin integrates CafeBabe Bytecode Editor (http://cafebabe.sourceforge.net) with Intellij IDEA.

Full Announcement & Discussion Posted By: Alexander Shvets - (0 Replies)

Synthetica 2.6.0 Look and Feel

Synthetica is a Look and Feel for Swing. It provides components with rounded borders, shadowed popup menus, an extended FileChooser for file operations and comes along with twelve professional themes.

Full Announcement & Discussion Posted By: Wolfgang Zitzelsberger - (0 Replies)

QCon (USA) Conference 2007 - In a Nutshell

The first QCon USA conference 2007 at San Francisco (happened Nov 7-9, 2007): Summary Topics include Java, SOA, Security, Ruby, and tutorials.

Full Announcement & Discussion Posted By: Abhay Bakshi - (0 Replies)

iText 2.0.7

Nine and a half months after the 2.0.0 release, we are almost ready for iText 2.1. This 2.0.7 release brings numerous extra fixes, but also plenty of code and javadoc ameliorations.

Full Announcement & Discussion Posted By: Bruno Lowagie - (0 Replies)

JSOS ver. 5.60 released

JSOS reaches the version 5.60. This largest collection of Java servlets and filters provides 110+ "out of the box" components ready for building web-pages.

Full Announcement & Discussion Posted By: Dmitry Namiot - (0 Replies)

Hyperic HQ 3.2 Beta 1

Hyperic released the first beta of HQ 3.2, featuring Nagios integration, live data portal, MySQL backend support, and better scalability. Download: http://www.hyperic.com/downloads/dl-hq-beta.html

Full Announcement & Discussion Posted By: John Mark Walker - (0 Replies)

1060 NetKernel 3.3 RESTful application server released

1060 NetKernel 3.3 is now available from 1060 Research, Ltd. The new release adds the Request Visualizer tool, revised documentation, the Ruby language and library updates.

Full Announcement & Discussion Posted By: Randolph S. Kahle - (0 Replies)

XUI 3.1 adds automated RIA generation

XUI 3.1 is available now. This release allows users to work directly with Hibernate, JPA, POJOs or Database schemas to automatically generate applications via the Eclipse or NetBeans plugins.

Full Announcement & Discussion Posted By: Luan O'Carroll - (0 Replies)

Easy GUI Testing with FEST 0.7

FEST-Swing is a Java library that provides a DSL-oriented API that is powerful and yet easy-to-use, making creation and maintenance of GUI tests simple and easy.

Full Announcement & Discussion Posted By: Alex Ruiz - (0 Replies)

AnthillPro Build Server 3.4.0 by Urbancode

AnthillPro 3.4 is the newest version of Urbancode's continuous integration, dependency management, deployment automation, and release management tool.

Full Announcement & Discussion Posted By: Urbancode - (0 Replies)

 Your Account
 
 Your Account
 Next section
 Back to top
Manage your account info for this and other Javalobby publications.
Manage your Javalobby membership details

Click on the following links to:


 Contact Info
 Next section
 Back to top
Here's how to reach us, we love to hear from you.
Email us
Send news items to editor@javalobby.org
Send questions, complaints, or suggestions to feedback@javalobby.org
Send advertising inquiries to advertise@javalobby.org
 
Call us
Our number is (919) 678-0300. We'd love to hear from you!

 Legal
 Back to top
The fine print we'd rather avoid completely.
Feel free to redistribute this newsletter in part or in full to your friends.

Javalobby News is a service mark of DZone, Inc.
Copyright ©2001-2007 DZone, Inc.

Thank you for your continued support of Javalobby. If you prefer not to receive the Javalobby weekly newsletter, send an e-mail to ***-jlnews@javalobby.org and please ensure the actual email address to be removed is present.
Javalobby.org, 113 Legault Drive, Cary NC 27513 USA