Low-Latency Time-Portable Real-Time Programming with Exotasks

被引:4
|
作者
Auerbach, Joshua
Bacon, David F.
Iercan, Daniel
Kirsch, Christoph M.
Rajan, V. T.
Roeck, Harald
Trummer, Rainer
机构
关键词
Algorithms; Languages; Measurement; Performance; Real-time scheduling; UAVs; time portability; virtual machine;
D O I
10.1145/1457255.1457262
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Exotasks are a novel Java programming construct that achieve three important goals. They achieve low latency while allowing the fullest use of Java language features, compared to previous attempts to restrict the Java language for use in the submillisecond domain. They support pluggable schedulers, allowing easy implementation of new scheduling paradigms in a real-time Java system. They can achieve deterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. To achieve these goals, the program is divided into tasks with private heaps. Tasks may be strongly isolated, communicating only with each other and guaranteeing determinism, or weakly isolated, allowing some communication with the rest of the Java application. Scheduling of the tasks' execution, garbage collection, and value passing is accomplished by the pluggable scheduler. Schedulers that we have written employ logical execution time ( LET) in association with strong isolation to achieve time portability. We have also built a quad-rotor model helicopter, the JAviator, which we use to evaluate our implementation of Exotasks in an experimental embedded version of IBM's J9 real-time virtual machine. Our experiments show that we are able to maintain very low scheduling jitter and deterministic behavior in the face of variations in both software load and hardware platform. We also show that Exotasks perform nearly as well as Eventrons on a benchmark audio application.
引用
收藏
页数:48
相关论文
共 50 条
  • [21] Concurrent, Parallel, Real-Time Garbage-Collection
    Siebert, Fridtjof
    ACM SIGPLAN NOTICES, 2010, 45 (08) : 11 - 20
  • [22] Scalable precision cache analysis for real-time software
    Staschulat, Jan
    Ernst, Rolf
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2007, 6 (04) : 25
  • [23] A programming environment for real-time control of distributed multiple robotic systems
    Piaggio, M
    Sgorbissa, A
    Zaccaria, R
    ADVANCED ROBOTICS, 2000, 14 (01) : 75 - 86
  • [24] Evaluation and Comparison of Integer Programming Solvers for Hard Real-Time Scheduling
    Guasque, Ana
    Balbastre, Patricia
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2022, E105D (10) : 1726 - 1733
  • [25] Low-Power Design for Real-Time Systems
    Sheng-Tzong Cheng
    Chia-Mei Chen
    Jing-Wen Hwang
    Real-Time Systems, 1998, 15 : 131 - 148
  • [26] Low-power design for real-time systems
    Cheng, ST
    Chen, CM
    Hwang, JW
    REAL-TIME SYSTEMS, 1998, 15 (02) : 131 - 148
  • [27] Dynamic Programming based Low-Latency Schedule (DPLLS) for 6TiSCH networks
    Bommisetty, Lokesh
    Venkatesh, T. G.
    AD HOC NETWORKS, 2022, 124
  • [28] Open problems in real-time scheduling
    Baruah, Sanjoy
    Pruhs, Kirk
    JOURNAL OF SCHEDULING, 2010, 13 (06) : 577 - 582
  • [29] Real-time performance of sorting algorithms
    Puschner, PP
    REAL-TIME SYSTEMS, 1999, 16 (01) : 63 - 79
  • [30] Including Disjunctions in Real-Time Optimization
    Serralunga, Fernan J.
    Aguirre, Pio A.
    Mussati, Miguel C.
    INDUSTRIAL & ENGINEERING CHEMISTRY RESEARCH, 2014, 53 (44) : 17200 - 17213