ACM Home Page
Please provide us with feedback. Feedback
Eliminating synchronization overhead in automatically parallelized programs using dynamic feedback
Full text PdfPdf (245 KB)
Source ACM Transactions on Computer Systems (TOCS) archive
Volume 17 ,  Issue 2  (May 1999) table of contents
Pages: 89 - 132  
Year of Publication: 1999
ISSN:0734-2071
Authors
Pedro C. Diniz  Univ. of Southern California, Marina del Rey, CA
Martin C. Rinard  Massachusetts Institute of Technology, Cambridge
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 51,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/312203.312210
What is a DOI?

ABSTRACT

This article presents dynamic feedback, a technique that enables computations to adapt dynamically to different execution environments. A compiler that uses dynamic feedback produces several different versions of the same source code; each version uses a different optimization policy. The generated code alternately performs sampling phases and production phases. Each sampling phase measures the overhead of each version in the current environment. Each production phase uses the version with the least overhead in the previous sampling phase. The computation periodically resamples to adjust dynamically to changes in the environment. We have implemented dynamic feedback in the context of a parallelizing compiler for object-based programs. The generated code uses dynamic feedback to automatically choose the best synchronization optimization policy. Our experimental results show that the synchronization optimization policy has a significant impact on the overall performance of the computation, that the best policy varies from program to program, that the compiler is unable to statically choose the best policy, and that dynamic feedback enables the generted code to exhibit performance that is comparable to that of code that has been manually tuned to use the best policy. We have also performed a theoretical analysis which provides, under certain assumptions, a guaranteed optimality bound for dynamic feedback relative to a hypothetical (and unrealizable) optimal algorithm that uses the best policy at every point during the execution.


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
3
4
 
5
BARNES, J. AND HUT, P. 1986. A hierarchical O(NlogN) force calculation algorithm. Nature 324, 4, 446-449.
6
7
 
8
 
9
 
10
CHILIMBI, T. AND LARUS, J. 1994. Cachier: A tool for automatically inserting cico annotations. In Proceedings of the 1994 International Conference on Parallel Processing. CRC Press, Inc., Boca Raton, FL, 89-98.
11
12
 
13
14
15
16
 
17
18
 
19
FISHER, J. 1981. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput. C-30, 7 (July), 478-490.
20
21
22
23
 
24
 
25
HARRIS, J., LAZARATOS, S., AND MICHELENA, R. 1990. Tomographic string inversion. In Proceedings of the 60th Annual International Meeting, Society of Exploration and Geophysics, Extended Abstracts. 82-85.
26
 
27
 
28
KEMMERER, R. AND ECKMANN, S. 1985. UNISEX: A UNix-based symbolic EXecutor for Pascal. Softw. Pract. Exper. 15, 5 (May), 439-458.
29
 
30
31
 
32
KNUTH, D. E. 1971. An empirical study of FORTRAN programs. Softw. Pract. Exper. 1, 105-133.
33
 
34
35
36
37
38
39
40
 
41
42
43
 
44
 
45
ROMER, T., LEE, D., BERSHAD, B., AND CHEN, g. 1994. Dynamic page mapping policies for cache conflict resolution on standard hardware. In Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation (Monterey, CA, May). USENIX Assoc., Berkeley, CA, 255-266.
 
46
 
47
SALTZ, J., BERRYMAN, H., AND WU, J. 1991. Multiprocessors and run-time compilation. In Proceedings of the Conference on Practical Parallel Computing: Achievements, Problems and Prospects (Capri, Italy, June 3-7, 1990), P. MessinG and A. Murli, Eds. John Wiley & Sons, Inc., New York, NY, 573-592.
48
 
49
SMITH, M. 1991. Tracing with Pixie. Tech. Rep. CSL-TR-91-497. Stanford University, Stanford, CA.
50
51



REVIEW

"R. Clayton : Reviewer"

When optimizations are chosen at runtime, information about execution behavior can be exploited to select the best optimization. This paper presents dynamic feedback, a technique for delaying optimization choices until runtime. more...

Collaborative Colleagues:
Pedro C. Diniz: colleagues
Martin C. Rinard: colleagues

Peer to Peer - Readers of this Article have also read: