INTspect: Interrupt Latencies in the Linux Kernel
Interrupt handling with predictably low latency is a must for systems to respond to external events. System designers of tiny embedded computers to large-scale distributed systems face the challenge of ever-increasing hardware and software complexity. In the absence of precise timing models, measurement-based approaches are required to achieve predictably low latency. In this paper, we present INTspect, a tool that systematically evaluates the interrupt latency, at run-time, in the Linux operating system kernel. We apply INTspect on two distinct platforms (i.e. ARM and Intel) to measure interrupt latencies, identify jitter causes, and reveal interdependencies between interrupt handlers and user-space workloads. Our tool thus provides valuable insight on interrupt timings and interferences.
Y. Endo, Z. Wang, J. B. Chen, and M. I. Seltzer, “Using latency to evaluate interactive system performance,” ACM SIGOPS Operating Systems Review, vol. 30, no. si, pp. 185–199, 1996.
G. Banga, P. Druschel, and J. C. Mogul, “Resource containers: A new facility for resource management in server systems,” in Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI’99). USENIX, 1999, pp. 45–58.
A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion, “IX: A protected dataplane operating system for high throughput and low latency,” in Proceedings of the 11th Symposium on Operating System Design and Implementation (OSDI’14). USENIX, 2014, pp. 49–65.
N. Hanford, V. Ahuja, M. Farrens, D. Ghosal, M. Balman, E. Pouyoul, and B. Tierney, “Improving network performance on multicore systems: Impact of core affinities on high throughput flows,” Future Generation Computer Systems, vol. 56, pp. 277–283, 2016.
J. D’Ambrosia, “100 gigabit Ethernet and beyond,” IEEE Communica- tions Magazine, vol. 48, no. 3, pp. 6–13, 2010.
B. Davari, R. H. Dennard, and G. G. Shahidi, “CMOS scaling for high performance and low power-the next ten years,” Proceedings of the IEEE, vol. 83, no. 4, pp. 595–606, 1995.
J. Liu, J. Wu, and D. K. Panda, “High performance RDMA-based MPI implementation over InfiniBand,” International Journal of Parallel Programming, vol. 32, no. 3, pp. 167–198, 2004.
S. Peter, J. Li, I. Zhang, D. R. Ports, A. Krishnamurthy, T. Anderson, and T. Roscoe, “Arrakis: The operating system is the control plane,” in Proceedings of the 11th Symposium on Operating Systems Design and Implementation (OSDI’13). USENIX, 2013, pp. 44–47.
B. H. Leitao, “Tuning 10Gb network cards on Linux,” in Proceedings of the Linux Symposium (OLS’09), 2009, pp. 169–184.
R. Fonseca, P. Dutta, P. Levis, and I. Stoica,“Quanto: Tracking energy in networked embedded systems,” in Proceedings of the 8th Symposium on Operating Systems Design and Implementation (OSDI’08). USENIX, 2008, pp. 323–338.
P. Wägemann, C. Dietrich, T. Distler, P. Ulbrich, and W. Schröder- Preikschat, “Whole-system worst-case energy-consumption analysis for energy-constrained real-time systems,” in Proceedings of the 30th Euromicro Conference on Real-Time Systems (ECRTS’18). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, 2018, pp. 24:1–24:25.
H. Leppinen, “Current use of Linux in spacecraft flight software,” IEEE Aerospace and Electronic Systems Magazine, vol. 32, no. 10, pp. 4–13, 2017.
S. Reif, A. Schmidt, T. Hönig, T. Herfet, and W. Schröder-Preikschat, “X-Lap: A systems approach for cross-layer profiling and latency analysis for cyber-physical networks,” ACM SIGBED Review, vol. 15, no. 3, pp. 19–24, Aug. 2018.
N. Joukov, A. Traeger, R. Iyer, C. P. Wright, and E. Zadok, “Operating system profiling via latency analysis,” in Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). USENIX, 2006, pp. 89–102.
P. Regnier, G. Lima, and L. Barreto, “Evaluation of interrupt handling timeliness in real-time Linux operating systems,” ACM SIGOPS Operating Systems Review, vol. 42, no. 6, pp. 52–63, 2008.
F. Schön, W. Schröder-Preikschat, O. Spinczyk, and U. Spinczyk, “On interrupt-transparent synchronization in an embedded object-oriented operating system,” in Proceedings of the 3rd International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC’00). IEEE, 2000, pp. 270–277.
M. K. McKusick, K. Bostic, M. J. Karels, and J. S. Quarterman, The design and implementation of the 4.4 BSD operating system. Pearson Education, 1996.
V. Rothberg, “Interrupt handling in Linux,” Friedrich-Alexander- Universität Erlangen-Nürnberg (FAU), Tech. Rep. CS-2015-07, 2015.
D. Bovet and M. Cesati, Understanding the Linux kernel, 3rd ed. O’Reilly Media Inc., 2005.
D. A. Solomon and M. Russinovich, Inside Microsoft Windows 2000. Microsoft Press, 2000.
OSEK/VDX Group, “Operating system specification 2.2.3,” 2005.
M. Wilcox, “I’ll do it later: Softirqs, tasklets, bottom halves, task queues, work queues and timers,” in Proceedings of the 3rd linux.conf.au Conference, 2003, pp. 1–6.
J. Calandrino, H. Leontyev, A. Block, U. Devi, and J. Anderson, “LITMUSRT : A testbed for empirically comparing real-time multiprocessor schedulers,” in Proceedings of the 27th International Real-Time Systems Symposium (RTSS’06). IEEE, 2006, pp. 111–123.
F. Cerqueira and B. Brandenburg, “A comparison of scheduling latency in Linux, PREEMPT-RT, and LITMUSRT ,” in Proceedings of the 9th Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT’13), 2013, pp. 19–29.
L. Abeni, A. Goel, C. Krasic, J. Snow, and J. Walpole,“A measurement-based analysis of the real-time performance of Linux,” in Proceedings of the 8th Real-Time and Embedded Technology and Applications Symposium (RTAS’02). IEEE, 2002, pp. 133–142.
D. Tsafrir, Y. Etsion, D. Feitelson, and S. Kirkpatrick, “System noise, OS clock ticks, and fine-grained parallel applications,” in Proceedings of the 19th Annual International Conference on Supercomputing (ICS’05). ACM, 2005, pp. 303–312.
E. Vicente and R. M. Jr., “Exploratory study on the Linux OS jitter,” in Proceedings of the 2nd Brazilian Symposium on Computing System Engineering (SBESC’12). IEEE, 2012, pp. 19–24.
J. Dean and L. A. Barroso, “The tail at scale,” Communications of the ACM, vol. 56, no. 2, pp. 74–80, 2013.
L. Barroso, M. Marty, D. Patterson, and P. Ranganathan, “Attack of the killer microseconds,” Communications of the ACM, vol. 60, no. 4, pp. 48–54, 2017.
S. Rumble, D. Ongaro, R. Stutsman, M. Rosenblum, and J. Ousterhout, “It’s time for low latency,” in Proceedings of the 13th Workshop on Hot Topics in Operating Systems (HotOS’11). USENIX, 2011, pp. 1–5.