Read Digital Edition


ADS BY GOOGLE
Top Three Links You Must Click On


The Right Time for Real Time Java
Addressing the sources of unpredictability in Java applications

Faced with the demands of mission-critical applications, many enterprise developers have pushed the Java language and the Java Virtual Machine (JVM) to the limit. The most common issue seen in transactional environments is achieving predictable response time or latency – in other words, the time it takes the system to respond to a request or to move a transaction through the IT infrastructure. In such environments, Garbage Collection (GC) moves from being a valued feature to a major headache.

Developers respond in different ways to the dilemma of GC-induced pauses. For example, a developer working for a financial services firm could set up application environments with enough memory at the beginning of each trading day to avoid encountering GC until the markets close, while another developer could create hybrid systems with non-Java technology critical sections talking to a Java software infrastructure.

In cases like these, almost all developers believe they have a performance problem and think – “if the overall system were only 10 percent faster, we’d be fine.”

Sometimes they are correct. Sometimes you do need more transaction processing in a given amount of time and speeding up the entire system will help. In most cases, however, what you really want is to prioritize your important tasks and ensure that they’ll never get interrupted or delayed by lower priority tasks. This is where a real-time Java system can help; however, to make an intelligent choice between real-time and non-real-time Java system implementations, developers must first understand more about the sources of unpredictability.

The Real-Time Specification for Java
The Java community has long recognized the need for predictability, or the ability to meet time-based requirements, within Java software applications. The thinking was that a Java technology-based system could be built that would allow both real-time and non-real-time components of industrial control and robotics applications to coexist in the same program. Thus 10 years ago, the Real-Time Specification for Java (RTSJ) was born as JSR-001.

The RTSJ includes a host of features, such as priority scheduling and asynchronous event handling, specifically targeted at control applications, but the specification in its original form didn’t contemplate the use of GC by time-critical code. Instead it defined Immortal and Scoped memory areas in addition to the Java system heap. Using Immortal and Scoped memory requires some getting used to, so a general perception developed that the RTSJ has a steep learning curve and is difficult to use.

About Paul Hohensee
Paul Hohensee is a senior staff engineer at Sun Microsystems where he is the Java Platform Standard Edition JVM Technical Lead. His primary focus is JVM performance along with hardware and platform support for Java and other dynamic languages. Earlier in his career he worked on dynamic binary translation as well as optimizing compilers and libraries for the first symmetric multiprocessors.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

  Subscribe to our RSS feeds now and receive the next article instantly!
In It? Reprint It! Contact advertising(at)sys-con.com to order your reprints!
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE
SYS-CON Events announced today that the "Diamond" and "Platinum" sponsorship opportunities for the u...
SYS-CON Events announced today that the "show prospectus" for the 5th International Cloud Computing ...
There's a lot of talk about how we need to focus on our buyers' issues and provide them educational ...
SugarCRM, the world’s leading provider of open source customer relationship management (CRM) softwa...
This past weekend I set out explore some of the extension capabilities of Google Wave. One of the we...
More good news for cloud computing! Google last week released its once mysterious Chrome Operating S...
In CloudBerry Lab we are striving to make our customer service better. In this competitive market wi...
We talk a lot about social media on Marketing Trenches. And for good reason – Social media seems to...
Intel has put out its promised beta SDK for Windows (C and C++) and Moblin (C) developers working on...
InformationWeek stumbled on a Microsoft patent application dating back to 2006 deceptively titled “M...
Berlin-based ThinPrint AG, the printer virtualization house, thinks it’s got a cloud solution for th...
Behaving like it’s got a future, Sun Monday put out what it calls a significant new version of Virtu...
But on the web, access to services is implicit in the fact that the business is offering the service...
IBM has acquired Guardium, a seven-year-old subsidiary of Israel’s Log-On Software transplanted to M...
Oracle has offered to cordon off MySQL inside a combined Oracle-Sun to get the European Commission t...
The second set of charges filed last week against Indian outsourcer Satyam Computer Services founder...
Gartner told Reuters that it overestimated how many PCs Acer shipped in the last seven quarters by a...
Gartner thinks the server business has stopped sliding into the abyss. Third-quarter sales weren’t a...
Gartner is buying ~$40 million-a-year AMR Research Inc for close to $64 million in cash. AMD special...
Singed by user reaction to its plans to up the price of its support contracts, SAP Tuesday postponed...