TY - GEN
T1 - Evaluating and optimizing thread pool strategies for real-time CORBA
AU - Pyarali, Irfan
AU - Spivak, Marina
AU - Cytron, Ron
AU - Schmidt, Douglas C.
N1 - Publisher Copyright:
© ACM 2001.
PY - 2001/8/1
Y1 - 2001/8/1
N2 - Strict control over the scheduling and execution of processor resources is essential for many fixed-priority real-time applications. To facilitate this common requirement, the Real-Time CORBA (RT-CORBA) specification defines standard middleware features that support end-to-end predictability for operations in such applications. One of the most important features in RT-CORBA is thread pools, which allow application developers and end-users to configure and control processor resources. This paper provides two contributions to the evaluation of techniques for improving the quality of implementation of RT-CORBA thread pools. First, we describe the key patterns underlying common strategies for implementing RT-CORBA thread pools. Second, we evaluate each thread pool strategy in terms of its consequences on (1) feature support, such as request buffering and thread borrowing, (2) scalability in terms of endpoints and event demultiplexers required, (3) efficiency in terms of data movement, context switches, memory allocations, and synchronizations required, (4) optimizations in terms of stack and thread specific storage memory allocations, and (5) bounded and unbounded priority inversion incurred in each implementation. This paper also provides results that illustrate empirically how different thread pool implementation strategies perform in different ORB configurations.
AB - Strict control over the scheduling and execution of processor resources is essential for many fixed-priority real-time applications. To facilitate this common requirement, the Real-Time CORBA (RT-CORBA) specification defines standard middleware features that support end-to-end predictability for operations in such applications. One of the most important features in RT-CORBA is thread pools, which allow application developers and end-users to configure and control processor resources. This paper provides two contributions to the evaluation of techniques for improving the quality of implementation of RT-CORBA thread pools. First, we describe the key patterns underlying common strategies for implementing RT-CORBA thread pools. Second, we evaluate each thread pool strategy in terms of its consequences on (1) feature support, such as request buffering and thread borrowing, (2) scalability in terms of endpoints and event demultiplexers required, (3) efficiency in terms of data movement, context switches, memory allocations, and synchronizations required, (4) optimizations in terms of stack and thread specific storage memory allocations, and (5) bounded and unbounded priority inversion incurred in each implementation. This paper also provides results that illustrate empirically how different thread pool implementation strategies perform in different ORB configurations.
UR - https://www.scopus.com/pages/publications/85028059019
U2 - 10.1145/384197.384226
DO - 10.1145/384197.384226
M3 - Conference contribution
AN - SCOPUS:85028059019
T3 - LCTES 2001 - Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems
SP - 214
EP - 222
BT - LCTES 2001 - Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems
PB - Association for Computing Machinery, Inc
T2 - 2001 ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems, LCTES 2001
Y2 - 22 June 2001 through 23 June 2001
ER -