Results 1 -
6 of
6
CDx: A Family of Real-time Java Benchmarks
"... Java is becoming a viable platform for hard real-time computing. There are production and research real-time Java VMs, as well as applications in both military and civil sector. Technological advances and increased adoption of Real-time Java contrast significantly with the lack of real-time benchmar ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
Java is becoming a viable platform for hard real-time computing. There are production and research real-time Java VMs, as well as applications in both military and civil sector. Technological advances and increased adoption of Real-time Java contrast significantly with the lack of real-time benchmarks. The few benchmarks that exist are either low-level synthetic micro-benchmarks, or benchmarks used internally by companies, making it difficult to independently verify and repeat reported results. This paper presents the CDx (Collision Detector) benchmark suite, an open source application benchmark suite that targets different hard and soft real-time virtual machines. CDx is, at its core, a real-time benchmark with a single periodic task, which implements aircraft collision detection based on simulated radar frames. The benchmark can be configured to use different sets of real-time features and comes with a number of workloads. We describe the architecture of the benchmark and characterize the workload based on input parameters. 1.
Minimal Ownership for Active Objects
, 2008
"... Active objects offer a structured approach to concurrency, encapsulating both unshared state and a thread of control. For efficient data transfer, data should be passed by reference whenever possible, but this introduces aliasing and undermines the validity of the active objects. This paper propos ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Active objects offer a structured approach to concurrency, encapsulating both unshared state and a thread of control. For efficient data transfer, data should be passed by reference whenever possible, but this introduces aliasing and undermines the validity of the active objects. This paper proposes a minimal variant of ownership types that preserves the required race freedom invariant yet enables data transfer by reference between active objects (that is, without copying) in many cases, and a cheap clone operation where copying is necessary. Our approach is general and should be adaptable to several existing active object systems.
Capabilities for Uniqueness and Borrowing
"... Abstract. An important application of unique object references is safe and efficient message passing in concurrent object-oriented programming. However, to prevent the ill effects of aliasing, practical systems often severely restrict the shape of messages passed by reference. Moreover, the problema ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract. An important application of unique object references is safe and efficient message passing in concurrent object-oriented programming. However, to prevent the ill effects of aliasing, practical systems often severely restrict the shape of messages passed by reference. Moreover, the problematic interplay between destructive reads–often used to implement unique references–and temporary aliasing through “borrowed ” references is exacerbated in a concurrent setting, increasing the potential for unpredictable run-time errors. This paper introduces a new approach to uniqueness. The idea is to use capabilities for enforcing both at-most-once consumption of unique references, and a flexible notion of uniqueness. The main novelty of our approach is a model of uniqueness and borrowing based on simple, unstructured capabilities. The advantages are: first, it provides simple foundations for uniqueness and borrowing. Second, it can be formalized using a relatively simple type system, for which we provide a complete soundness proof. Third, it avoids common problems involving borrowing and destructive reads, since unique references subsume borrowed references. We have implemented our type system as an extension to Scala. Practical experience suggests that our system allows type checking real-world actor-based concurrent programs with only a small number of additional type annotations. 1
Reflexes: Abstractions for Integrating Highly Responsive Tasks into Java Applications
"... Achieving submillisecond response times in a managed language environment such as Java or C# requires overcoming significant challenges. In this article, we propose Reflexes, a programming model and runtime system infrastructure that lets developers seamlessly mix highly responsive tasks and timing- ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Achieving submillisecond response times in a managed language environment such as Java or C# requires overcoming significant challenges. In this article, we propose Reflexes, a programming model and runtime system infrastructure that lets developers seamlessly mix highly responsive tasks and timing-oblivious Java applications. Thus enabling gradual addition of real-time features, to a non-real-time application without having to resort to recoding the real-time parts in a different language such as C or Ada. Experiments with the Reflex prototype implementation show that it is possible to run a real-time task with a period of 45 μs with an accuracy of 99.996 % (only 0.001% worse than the corresponding C implementation) in the presence of garbage collection and heavy load ordinary Java threads.
Ecole Polytechnique Fédérale de Lausanne
"... Achieving sub-millisecond response times in a managed language environment such as Java or C # requires overcoming significant challenges. In this paper we propose Reflexes, a programming model and runtime system infrastructure that lets developers seamlessly mix highly responsive tasks and timing-o ..."
Abstract
- Add to MetaCart
Achieving sub-millisecond response times in a managed language environment such as Java or C # requires overcoming significant challenges. In this paper we propose Reflexes, a programming model and runtime system infrastructure that lets developers seamlessly mix highly responsive tasks and timing-oblivious Java applications. Thus enabling gradual addition of real-time features, to a non-real-time application without having to resort to recoding the real-time parts in a different language such as C or Ada. Experiments with the Reflex prototype implementation show that it is possible to run a real-time task with a period of 45 µs with an accuracy of 99.996 % (only 0.001 % worse than the corresponding C implementation) in the presence of garbage collection and heavy load ordinary Java threads.
Architecture-independent predictable Java for multi-core platforms
, 2008
"... Cyber-physical systems (CPS) involve embedded computing devices that interact with physical processes. CPS require a software and hardware architecture that not only delivers good performance but also good predictability. In particular, CPS software must maintain good responsiveness while using a bo ..."
Abstract
- Add to MetaCart
Cyber-physical systems (CPS) involve embedded computing devices that interact with physical processes. CPS require a software and hardware architecture that not only delivers good performance but also good predictability. In particular, CPS software must maintain good responsiveness while using a bounded amount of memory, processor, and power resources. Most importantly, CPS software must be real-time; i.e. the

