Locking protocols for hard-real-time systems have not generalized well from uniprocessors to multiprocessors. Bounding and reducing so-called "remote blocking" is widely recognized as an important problem for hard-real-time computing. We describe a combination of locking and versioning protocols together with a "chopping" analysis to shorten critical sections. Selective application of chopping and versioning reduces remote blocking and relaxes constraints imposed by pure locking protocols for multiprocessors. Using the same design-time information required for schedulability analysis in pure locking protocols, the integrated locking and versioning protocol can be implemented using only simple data structures with tunable bounded overheads and worst-case access times. Performance evaluation results via case studies and simulation experiments are presented that show that the protocol can improve pure locking protocols in a variety of settings. Experiments show that in some cases the number of tasks that can be guaranteed schedulability by our integrated protocol is 2.5 times more than the number of tasks that can be guaranteed schedulability by pure locking protocols.
All Science Journal Classification (ASJC) codes