32
events were organized by JUG Switzerland during 2024 so far.

Jesper Honig Spring completed his Ph.D. in CS in November 2008 from EPFL on statically type-safe real-time programming abstractions for Java, a collaboration with Purdue University and IBM Research (TJW). Before that he worked 4 years in the industry, e.g., for Zurich-based startup, Softwired, on a novel highly scalable clustered JMS message passing server for which he holds a patent. His Master's Thesis concerned a scalable, replicated tuplespace, which lead him to IBM Almaden Research Center to lead the design for IBM's Enterprise TSpaces. He has several years of industrial experience from working on projects for various companies in Denmark. See more.

03.06.2009

Flexotasks: a restricted programming model

facilitating the construction of (hard) real-time tasks in Java

LOCATION: Zürich
KEYWORDS: Research, Technology, Lessons learned, Tools

AGENDA:17:00 - 18:15h: Talk incl. Q/A and possibly demo
Afterwards you are invited to a refreshment.

SPEAKER: Jesper Honig Spring   COMPANY: EPFL

Achieving sub-millisecond response times in Java introduces significant implementation challenges. The Achilles' heel is Java's reliance on garbage collection (GC), which when used in commercial Java VMs typically are designed to maximize the performance for predictability. Consequently, GC introduces execution interference that can easily reach hundreds of milliseconds. Another source of interference relates to the integration of real-time tasks with a time-oblivious code. Typical programming practices for sharing data between threads involve synchronized access to shared data. In a real-time system this might lead to unbounded blocking of the real-time thread, so-called priority inversion, causing serious deadlines misses. Faced with these challenges a system designer typically has two options: to deploy a real-time GC (RTGC), or to restrict the programming model. Even though RTGCs achieve much improved predictability over traditional stop-the-world garbage collectors, some applications have temporal requirements beyond what is possible with state-of-the-art RTGCs. Moreover, real-time garbage collectors still face the problem of priority inversion.

In this talk I will present Flexotask, a simple, statically type-safe restricted programming model facilitating the construction of highly-responsive tasks in Java. Flexotask is designed to make it easy to write and integrate simple periodic tasks or complex stream processors, both observing real-time timing constraints in the sub-millisecond range, into larger time-oblivious Java applications. Flexotask tasks run in a part of memory free from garbage collection interference, and can maintain a class-based separation between object lifetimes, enabling reclamation of periodic garbage in constant time. Tasks are organized in a graph and communicate through uni-directional, non-blocking channels. Furthermore, Flexotask enable non-blocking interaction between real-time tasks and time-oblivious code using limited form of transactional memory. Flexotask specifies a set of static safety checks preventing dangling pointers and preventing a Flexotask task from observing heap-allocated objects in an inconsistent state. These checks are enforced statically by an extension of the standard Java compiler as well as during initialization to guarantee correctness. Flexotask has been integrated into Eclipse and is available in open-source from: flexotask.sourceforge.net.

Flexotask is the result of a research collaboration between EPFL, Purdue University and IBM Research, and represents my Ph.D. work, completed in Nov. 08. The talk should interest people curious about the emerging real-time support in Java (the Real Time Specification For Java, real-time garbage collection), as well as to those who are fascinated by how (what to normal programmers are) small internal details become non-trivial challenges when aiming for sub-millisecond response time in a managed language.

Language: English

Jesper Honig Spring completed his Ph.D. in CS in November 2008 from EPFL on statically type-safe real-time programming abstractions for Java, a collaboration with Purdue University and IBM Research (TJW). Before that he worked 4 years in the industry, e.g., for Zurich-based startup, Softwired, on a novel highly scalable clustered JMS message passing server for which he holds a patent. His Master's Thesis concerned a scalable, replicated tuplespace, which lead him to IBM Almaden Research Center to lead the design for IBM's Enterprise TSpaces. He has several years of industrial experience from working on projects for various companies in Denmark. See more.


top

Supporting members

Platin

Gold

Silver

 
 

 

About

JUG Switzerland aims at promoting the application of Java technology in Switzerland.

JUG Switzerland facilitates the sharing of experience and information among its members. This is accomplished through workshops, seminars and conferences. JUG Switzerland supports and encourages the cooperation between commercial organizations and research institutions.

JUG Switzerland is funded through membership fees.

Design
Partner

 

Contact

Java User Group Switzerland
8000 Zürich
info@jug.ch

© Java User Group Switzerland