This Article 
 Bibliographic References 
 Add to: 
Solving the Group Priority Inversion Problem in a Timed Asynchronous System
August 2002 (vol. 51 no. 8)
pp. 900-915

We consider the priority inversion problem in an actively replicated system. Priority inversion was originally defined in the context of nonreplicated systems. Therefore, we first introduce the concept of group priority inversion, which extends the concept of (local) priority inversion to the context of a group of processors that perform an actively replicated processing. We then present the properties of a request scheduling protocol to enforce a total ordering for the processing of requests while avoiding group priority inversions. These properties have been implemented in a protocol that relies on a timed asynchronous system model equipped with a failure detector of the class diamond S. The proposed solution allows us to replicate a critical server while ensuring that the processing of all the incoming requests is consistent (mechanisms for solving the atomic broadcast problem) and predictable (mechanisms for solving the group priority inversion problem). Thus, the described request scheduling protocol is a key component which can be used to develop fault-tolerant real-time applications in a timed asynchronous system.

[1] B. Alpern and F. Schneider, “Defining Liveness Information,” Processing Letters, vol. 21, no. 4, pp. 181-185, 1985.
[2] T.P. Baker, “Stack-Based Scheduling of Real-Time Processes,” J. Real-Time Systems, vol. 3, no. 1, pp. 67-100, 1991.
[3] T.D. Chandra, V. Hadzilacos, and S. Toueg, “The Weakest Failure Detector for Solving Consensus,” J. ACM, vol. 43, no. 4, pp. 685–722, July 1996.
[4] M. Chen and K. Lin, “Dynamic Priority Ceiling: A Concurrency Control Protocol for Real-Time Systems,” J. Real-Time Systems, vol. 2, no. 1, pp. 325-346, 1990.
[5] T.D. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” J. ACM, vol. 43, no. 2, pp. 225–267, 1996.
[6] “Fault Tolerant CORBA Specification V1.0,” OMG ptc/2000-04-04, 2000.
[7] F. Cristian and C. Fetzer, “The Timed Asynchronous Distributed System Model,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 6, pp. 642-657, June 1999.
[8] M.J. Fischer, N.A. Lynch, and M.S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, no. 2, pp. 374i–382, 1985.
[9] K. Jeffay, “Scheduling Sporadic Tasks with Shared Resources in Hard Real-Time Systems,” Proc. IEEE Real-Time System Symp., pp. 89-99, Dec. 1992.
[10] V. Hadzilacos and S. Toueg, "Fault-Tolerant Broadcasts and Related Problems," in Distributed Systems, S. Mullender, ed., ACM Press, New York, 1993, pp. 97-138.
[11] M. Hurfin, R. Macêdo, M. Raynal, and F. Tronel, “A General Framework to Solve Agreement Problems,” Proc. 18th IEEE Int'l Symp. Reliable Distributed Systems (SRDS,'99), pp. 56-65, 1999.
[12] L. Lamport, “Proving the Correctness of Mulptiprocess Programs,” IEEE Trans. Software Eng., vol. 3, no. 4, pp. 125-143, 1977.
[13] J.P. Lehoczky, “Fixed Priority Scheduling of Periodic Task Sets with Arbitrary Deadlines,” Proc. IEEE Real-Time Systems Symp., Dec. 1990.
[14] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[15] Distributed systems, second ed., S. Mullender, ed. New York: ACM Press, 1993.
[16] A. Nakamura and M. Takizawa, “Priority-Based Total and Semi-Total Ordering Broadcast Protocols,” Proc. 12th IEEE Int'l Conf. Distributed Computing Systems (ICDCS-12), pp. 178-185, 1992.
[17] D. Powell et al., “GUARDS: A Generic Upgradable Architecture for Real-Time Dependable Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 6, pp. 580-599, June 1999.
[18] S. Poledna, Fault Tolerant Real-Time Systems: The Problem of Replica Determinism. Kluwer Academic, 1996.
[19] “Realtime CORBA 1.0 Revised Submission,” OMG TC Document orbos/98-12-05, 1998.
[20] R. Rajkumar, Synchronization in Real-Time Systems: A Priority Inheritance Approach. Norwell,Mass.: Kluwer Academic, 1991.
[21] J. Reisinger, A. Steininger, and G. Leber, Predictably Dependable Computing Systems, pp. 209-224. Springer-Verlag, 1995.
[22] L. Rodrigues, P. Verissímo, and A. Casimiro, “Priority-Based Totally Ordered Multicast” Proc. Third IFIP/IFAC Workshop Algorithms and Architectures for Real-Time Control, 1995.
[23] L. Sha, R. Rajkuma, and J.P. Lehoczky, "Priority Inheritance Protocols: An Approach to Real-Time Synchronization," IEEE Trans. Computers, vol. 39, no. 9, pp. 1,175-1,185, Sept. 1990.
[24] D. Schmidt, S. Mungee, S. Flores-Gaitan, and A. Gokhale, “Software Architectures for Reducing Priority and Non-Determinism in Real-Time,” Object Request Brokers, Kluwer J. Real-Time Systems, 1999.
[25] J.K. Strosnider, T. Marchok, and J.P. Lehoczky, “Advanced Real-Time Scheduling Using the IEEE 802.5 Token Ring,” Proc. Ninth Real-Time Systems Symp., pp. 42-52, Dec. 1988.
[26] K. Tindell and J. Clark, "Holistic Schedulability Analysis for Distributed Real-Time Systems," Microprocessing and Microprogramming, vol. 40, pp. 117-134, 1994.
[27] A. Tully and S. Shrivastava, “Preventing State Divergence in Replicated Distributed Programs,” Proc. Ninth Symp. Reliable Distributed Systems (SRDS '90), pp. 104-113, 1990.
[28] Y. Wang, F. Brasileiro, E. Anceaume, F. Greve, and M. Hurfin, “Avoiding Priority Inversion on the Processing of Requests by Active Replicated Servers,” Proc. Int'l Conf. Dependable Systems and Networks (DSN 2001), pp. 97-106, 2001.

Index Terms:
Priority inversion, replicated servers, timed asynchronous model, agreement.
Yun Wang, Emmanuelle Anceaume, Francisco Brasileiro, Fabíola Greve, Michel Hurfin, "Solving the Group Priority Inversion Problem in a Timed Asynchronous System," IEEE Transactions on Computers, vol. 51, no. 8, pp. 900-915, Aug. 2002, doi:10.1109/TC.2002.1024738
Usage of this product signifies your acceptance of the Terms of Use.