In any system with shared data and concurrent activities, there is a need to guarantee exclusive access to the shared data. If parallel processing, and synchronization, wasnâ€™t an issue at the time of designing the system, non-preemptive execution on a single-processor architecture, automatically guarantees exclusive access to the shared data. While legacy software systems, developed and maintained over many years, contains large amounts of sequential software (executed on single-processor architectures), there is a development towards different forms of parallel hardware. The problem arises when the singleprocessor architecture is to be replaced by a multi-processor ditto; the independent parts, may now access and update the same data concurrently. A naive solution would be to re-implement the system, but since a legacy software system may contain several million lines of code, this solution is infeasible. A more reasonable solution would be criteria that ensures correct parallel execution. To ensure the correctness of such criteria, the formal semantics of the language in question need to be considered.
|Associate Professor,Senior Lecturer
|Wennersten (Ericsson AB)
|Köller (Ericsson AB)
Sequential PLEX, and its Potential for Parallel Execution (Jul 2007) Johan Lindhult, Björn Lisper 13th International Workshop on Compilers for Parallel Computers, CPC 2007