TY - GEN
T1 - Proper timed I/O
T2 - 9th ACM International Systems and Storage Conference, SYSTOR 2016
AU - Vaknin, Yogev
AU - Toledo, Sivan
N1 - Publisher Copyright: Copyright © 2016 ACM.
PY - 2016/6/6
Y1 - 2016/6/6
N2 - We propose a novel high-level abstraction for real-Time control, called Proper Timed I/O (PTIO). The abstraction allows user-space programs running on a stock operating system (without real-Time extensions) to perform high-resolution real-Time digital I/O (setting pins high or low, responding to input transitions, etc.). PTIO programs express their realtime I/O behavior in terms of a timed automaton that can communicate with the user-space program. Simple behaviors are encoded in the timed automaton; complex behaviors are implemented by the user-space program.We present two implementations of the PTIO abstraction, both for Linux. One utilizes a deterministic co-processor that is available on some ARM-based system-on-A-chip processors. This implementation can achieve timing accuracy of 100ns or better and can perform millions of finite-state transitions per second. The other implementation uses hardware timers that are available on every system-on-A-chip; it achieves a timing accuracy of 6μs or better, but it is limited to about 2000 state transitions per second. Both implementations guarantee that the PTIO never fails silently: if the mechanism missed a deadline, the user space program is always notified. In many cases, PTIOs eliminate the need for bare-metal programming or for specialized real-Time operating systems.
AB - We propose a novel high-level abstraction for real-Time control, called Proper Timed I/O (PTIO). The abstraction allows user-space programs running on a stock operating system (without real-Time extensions) to perform high-resolution real-Time digital I/O (setting pins high or low, responding to input transitions, etc.). PTIO programs express their realtime I/O behavior in terms of a timed automaton that can communicate with the user-space program. Simple behaviors are encoded in the timed automaton; complex behaviors are implemented by the user-space program.We present two implementations of the PTIO abstraction, both for Linux. One utilizes a deterministic co-processor that is available on some ARM-based system-on-A-chip processors. This implementation can achieve timing accuracy of 100ns or better and can perform millions of finite-state transitions per second. The other implementation uses hardware timers that are available on every system-on-A-chip; it achieves a timing accuracy of 6μs or better, but it is limited to about 2000 state transitions per second. Both implementations guarantee that the PTIO never fails silently: if the mechanism missed a deadline, the user space program is always notified. In many cases, PTIOs eliminate the need for bare-metal programming or for specialized real-Time operating systems.
UR - http://www.scopus.com/inward/record.url?scp=84978829540&partnerID=8YFLogxK
U2 - 10.1145/2928275.2928283
DO - 10.1145/2928275.2928283
M3 - منشور من مؤتمر
T3 - SYSTOR 2016 - Proceedings of the 9th ACM International Systems and Storage Conference
BT - SYSTOR 2016 - Proceedings of the 9th ACM International Systems and Storage Conference
Y2 - 6 June 2016 through 8 June 2016
ER -