|
Existing PLEX Code, and its Suitability for Parallel Execution - A Case Study |
||||||
|
||||||
|
Abstract Some computer systems have been designed under the assumption that activities in the system are executed non-preemptively. Exclusive access to any shared data in such a system is automatically guaranteed as long as the system is executed on a single-processor architecture. However, if the activities are executed on a multiprocessor, exclusive access to the data must be guaranteed when memory conflicts are possible. An analysis of the potential memory conflicts can be used to estimate the possibility for parallel execution. Central parts of the AXE telephone exchange system from Ericsson is programmed in the language PLEX. The current software is executed on a single-processor architecture, and assumes non-preemptive execution. In this paper, we investigate some existing PLEX code with respect to the number of possible shared-memory conflicts that could arise if the existing code, without modifications, would be executed on a parallel architecture. Our results show that only by examining the data that actually can be shared, we derive a safe upper bound on the number of conflicts to figures between 33-91% for the observed programs (in comparison with the assumed 100%). A more fine-grained analysis, based on certain run-time properties, can decrease the numbers to figures between 0-75%. |
||||||
|
BibTeX entry @techreport{Lindhult_1476:2008, |