Message flow analysis for static deadlock detection and run-time verification in parallel programming
Concurrent processes in most parallel programs communicate with each other via message passing. In this type of parallel programs, deadlock may occur when message sending protocol is synchronous and processes waiting for messages form a cyclic waiting chain, and hardware related errors may propagate from one process to another when messages are not correctly delivered. A method for detecting potential deadlock at compile-time and verifying message flow at run-time is presented in this dissertation. The method deduces statement-level message flow information from the control flow of individual processes and the process-level message addressing information. By converting the statement-level message flow information into a directed graph, potential deadlocks can be identified by locating the cycles in the graph. Run-time message flow verification is done by placing message validation mechanism at each sending and receiving statement to verify whether the received message follows a valid message flow pattern obtained from flow analysis.
- Research Organization:
- Northwestern Univ., Evanston, IL (USA)
- OSTI ID:
- 5826771
- Resource Relation:
- Other Information: Thesis (Ph.D)
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parallel processing with macro-pipeline architectures
Self-scheduling, data synchronization, and program transformation for multiprocessor systems
Related Subjects
PARALLEL PROCESSING
FAILURE MODE ANALYSIS
ALGORITHMS
COMMUNICATIONS
CONTROL
DATA-FLOW PROCESSING
GRAPHS
PROGRAMMING
SYNCHRONIZATION
VALIDATION
MATHEMATICAL LOGIC
SYSTEM FAILURE ANALYSIS
SYSTEMS ANALYSIS
TESTING
990200* - Mathematics & Computers