|
ABSTRACT
We consider parallel programs with shared memory and interleaving semantics, for which we show how to construct for unidirectional bitvector problems optimal analysis algorithms that are as efficient as their purely sequential counterparts and that can easily be implemented. Whereas the complexity result is rather obvious, our optimality result is a consequence of a new Kam/Ullman-style Coincidence Theorem. Thus using our method, the standard algorithms for sequential programs computing liveness, availability, very busyness, reaching definitions, definition-use chains, or the analyses for performing code motion, assignment motion, partial dead-code elimination or strength reduction, can straightforward be transferred to the parallel setting at almost no cost.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
Jyh-Herng Chow , William Ludwell Harrison, III, Compile-time analysis of parallel programs that share memory, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.130-141, January 19-22, 1992, Albuquerque, New Mexico, United States
[doi> 10.1145/143165.143194]
|
| |
3
|
CHOW, J.-H. AND HARRISON, W. L. 1994. State space reduction in abstract interpretation of parallel programs. In Proceedings of the International Conference on Computer Languages (ICCL'9g). Toulouse, France, 277- 288.
|
 |
4
|
|
| |
5
|
COUSOT, P. AND COUSOT, R. 1984. Invariance proof methods and analysis techniques for parallel programs. In Automatic Program Construction Techniques, A. W. Biermann, G. Guiho, and Y. Kodratoff, Eds. Macmillan Publishing Company, Chapter 12, 243 - 271.
|
| |
6
|
DHAMDHERE, D. M. 1989. A new algorithm for composite hoisting and strength reduction optimisation (+ corrigendum). International Journal of Computer Mathematics 27, 1- 14 (+ 31 32)
|
 |
7
|
|
 |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
JOSHI, S. M. AND DHAMDHERE, D. M. 1982a. A composite hoisting-strength reduction transformation for global program optimization - part I. International Journal of Computer Mathematics 11, 21 - 41.
|
| |
16
|
JOSHI, S. M. AND DHAMDHERE, D. M. 1982b. A composite hoisting-strength reduction transformation for global program optimization - part II. International Journal of Computer Mathematics 11, 111- 126.
|
| |
17
|
KAM, J. B. AND ULLMAN, J. D. 1977. Monotone data flow analysis frameworks. Acta Informatica 7, 309 - 317.
|
| |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
KNOOP, J., RUTHING, O., AND STEFFEN, B. 1993. Lazy strength reduction. Journal of Programruing Languages 1, 1, 71-91.
|
 |
22
|
|
 |
23
|
Jens Knoop , Oliver Rüthing , Bernhard Steffen, Partial dead code elimination, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.147-158, June 20-24, 1994, Orlando, Florida, United States
|
| |
24
|
KNOOP, J., RUTHING, O., AND STEFFEN, B. 1994c. A tool kit for constructing optimal interprocedural data flow analyses. Tech. Rep. MIP-9413, FakultSot fiir Mathematik und Informatik, UniversitS~t Passau, Germany. 26 pages.
|
 |
25
|
|
| |
26
|
|
| |
27
|
KNOOP, J. AND STEFFEN, B. 1993. Efficient and optimal bit-vector data flow analyses: A uniform interprocedural framework. Tech. Rep. 9309, Institut fiir Informatik und Praktische Mathematik, Christian-Albrechts-UniversitSot Kiel, Germany. 22 pages.
|
| |
28
|
|
| |
29
|
KNOOP, J., STEFFEN, B., AND VOLLMER, J. 1995b. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. In Preliminary Proceedings of the ist International Workshop on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'95). BRICS Notes Series NS-95-2. Aarhus, Denmark, 319 - 333.
|
 |
30
|
Douglas Long , Lori A. Clarke, Data flow analysis of concurrent systems that use the rendezvous model of synchronization, Proceedings of the symposium on Testing, analysis, and verification, p.21-35, October 08-10, 1991, Victoria, British Columbia, Canada
[doi> 10.1145/120807.120810]
|
| |
31
|
|
| |
32
|
|
| |
33
|
MIDKIFF, S. P. AND PADUA, D. A. 1990. Issues in the optimization of parallel programs. In Proceedings of the International Conference on Parallel Processing (ICPP'90). Vol. II. St. Charles, Illinois, 105 - 113.
|
| |
34
|
|
 |
35
|
|
| |
36
|
MOREL, E. AND RENVOISE, C. 1981. InterprocedurM elimination of partial redundancies. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice Hall, Englewood Cliffs, New Jersey, Chapter 6, 160- 188.
|
| |
37
|
|
| |
38
|
SHARIR, M. AND PNUELI, t. 1981. Two approaches to interprocedurM data flow analysis. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice Hall, Englewood Cliffs, New Jersey, Chapter 7, 189 - 233.
|
 |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
VOLLMER, J. 1994. Data flow equations for parallel programs that share memory. Tech. Rep. 2.11.1 of the ESPRIT Project COMPARE number 5933, FakultSot fiir Informatik, UniversitS~t Karlsruhe, Germany.
|
| |
44
|
|
| |
45
|
|
CITED BY 19
|
|
|
|
|
|
|
|
|
|
|
Christian Collberg , Clark Thomborson , Douglas Low, Manufacturing cheap, resilient, and stealthy opaque constructs, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.184-196, January 19-21, 1998, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Long Li , Bo Huang , Jinquan Dai , Luddy Harrison, Automatic multithreading and multiprocessing of C programs for IXP, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
|
|
|
|
|
|
|
|
|
Lei Huang , Deepak Eachempati , Marcus W. Hervey , Barbara Chapman, Exploiting global optimizations for openmp programs in the openuh compiler, Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming, February 14-18, 2009, Raleigh, NC, USA
|
INDEX TERMS
Primary Classification:
F.
Theory of Computation
F.1
COMPUTATION BY ABSTRACT DEVICES
F.1.2
Modes of Computation
Subjects:
Parallelism and concurrency
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Subjects:
Concurrent, distributed, and parallel languages
D.3.4
Processors
Subjects:
Optimization
D.4
OPERATING SYSTEMS
D.4.1
Process Management
Subjects:
Synchronization
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
General Terms:
Algorithms,
Design,
Performance,
Theory
Keywords:
assignment motion,
bitvector problems,
code motion,
data flow analysis,
definition-use chains,
interleaving semantics,
parallelism,
partial dead-code elimination,
program optimization,
shared memory,
strength reduction,
synchronization
|