Welcome!

Machine Learning Authors: Yeshim Deniz, Liz McMillan, Pat Romanski, Elizabeth White, Corey Roth

Related Topics: Java IoT

Java IoT: Article

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.

More Stories By 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.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


CloudEXPO Stories
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the benefits of the cloud without losing performance as containers become the new paradigm.
In this presentation, you will learn first hand what works and what doesn't while architecting and deploying OpenStack. Some of the topics will include:- best practices for creating repeatable deployments of OpenStack- multi-site considerations- how to customize OpenStack to integrate with your existing systems and security best practices.
In an era of historic innovation fueled by unprecedented access to data and technology, the low cost and risk of entering new markets has leveled the playing field for business. Today, any ambitious innovator can easily introduce a new application or product that can reinvent business models and transform the client experience. In their Day 2 Keynote at 19th Cloud Expo, Mercer Rowe, IBM Vice President of Strategic Alliances, and Raejeanne Skillern, Intel Vice President of Data Center Group and GM, discussed how clients in this new era of innovation can apply data, technology, plus human ingenuity to springboard to advance new business value and opportunities.
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to the new world.