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 条
  • [31] Real-time performance of sorting algorithms
    Puschner, PP
    REAL-TIME SYSTEMS, 1999, 16 (01) : 63 - 79
  • [32] Real-time rendering of translucent meshes
    Hao, XJ
    Varshney, A
    ACM TRANSACTIONS ON GRAPHICS, 2004, 23 (02): : 120 - 142
  • [33] Real-Time Performance of Sorting Algorithms
    Peter P. Puschner
    Real-Time Systems, 1999, 16 : 63 - 79
  • [34] A Portable Real-Time Digital Noise Radar System for Through-the-Wall Imaging
    Chen, Pin-Heng
    Shastry, Mahesh C.
    Lai, Chieh-Ping
    Narayanan, Ram M.
    IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, 2012, 50 (10): : 4123 - 4134
  • [35] DYNAMIC LOW POWER RECONFIGURATIONS OF REAL-TIME EMBEDDED SYSTEMS
    Wang, Xi
    Khalgui, Mohamed
    Li, Zhiwu
    PECCS 2011: PROCEEDINGS OF THE 1ST INTERNATIONAL CONFERENCE ON PERVASIVE AND EMBEDDED COMPUTING AND COMMUNICATION SYSTEMS, 2011, : 415 - 420
  • [36] Algorithms and Complexity for Periodic Real-Time Scheduling
    Bonifaci, Vincenzo
    Chan, Ho-Leung
    Marchetti-Spaccamela, Alberto
    Megow, Nicole
    ACM TRANSACTIONS ON ALGORITHMS, 2012, 9 (01)
  • [37] WebSocket Adoption and the Landscape of the Real-Time Web
    Murley, Paul
    Ma, Zane
    Mason, Joshua
    Bailey, Michael
    Kharraz, Amin
    PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE 2021 (WWW 2021), 2021, : 1192 - 1203
  • [38] A Study of Concurrent Real-Time Garbage Collectors
    Pizlo, Filip
    Petrank, Erez
    Steensgaard, Bjarne
    PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION, 2008, : 33 - +
  • [39] Real-time uniprocessor scheduling with fewer preemptions
    Lee, Jinkyu
    COMPUTING, 2017, 99 (12) : 1257 - 1270
  • [40] Real-time task scheduling in a FaaS cloud
    Szalay, Mark
    Matray, Peter
    Toka, Laszlo
    2021 IEEE 14TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD 2021), 2021, : 497 - 507