On avoiding remote blocking via real-time concurrency control protocols
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.
remote blocking concurrency control versioning chopping schedulability multiprocessor real-time systems serializability