Abstract

Multiple invariant design technique can be used for writing parallel programs to enhance performance and achieve fault tolerance. Essentially, a system can have multiple invariants, ranging from strong ones to weak ones. After a change in the system state (due to client requests, environmental changes, processor failures, and so on), the system is allowed to converge to a state that satisfies a weaker invariant with the convergence time being minimal. When the strong invariant of the system is satisfied, the system operates at peak performance. If the system is in a state that satisfies a weaker invariant, then it will operate correctly but perhaps at a reduced performance. The performance is restored by establishing the strong invariant in various ways, such as using a background process for periodic or on demand maintenance. We apply this model to fault tolerant real time transaction processing systems. The system consists of multiple servers accessing a shared state space and should satisfy the following properties: fail-stop processor failures at any point of execution should be tolerated; and whenever a high priority task interrupts the current execution, the system should switch immediately to the new task without affecting data integrity in the shared state space. These goals are achieved by using multiple invariant data structures. We discuss the multiple invariant system design concept and multiple invariant data structures. A set of rules that facilitate the design of the multiple invariant data structures are derived. Some example data structures are used to illustrate this design technique.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.