ACM Home Page
Please provide us with feedback. Feedback
Multi-compilation: capturing interactions among concurrently-executing applications
Full text PdfPdf (223 KB)
Source Conference On Computing Frontiers archive
Proceedings of the 3rd conference on Computing frontiers table of contents
Ischia, Italy
SESSION: Compilation and dynamic optimization table of contents
Pages: 157 - 170  
Year of Publication: 2006
ISBN:1-59593-302-6
Authors
Ozcan Ozturk  Pennsylvania State University, University Park, PA
Guangyu Chen  Pennsylvania State University, University Park, PA
Mahmut Kandemir  Pennsylvania State University, University Park, PA
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 14,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

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/1128022.1128043
What is a DOI?

ABSTRACT

It is well known that while applying a compiler optimization to a large scope of code (e.g., an entire procedure or function) can bring larger benefits in return as compared to smaller scopes (e.g., a nested loop), code analysis and optimization at larger scopes are also more difficult to manage. As of today, the largest scope for a compiler optimization is an entire program source. However, as embedded chip multiprocessor architectures are finding their ways into commercial products, it is becoming important to consider the scenario of multiple applications executing on the same chip multiprocessor. This paper explores a novel technique called multi-compilation where multiple applications that are expected to be executed simultaneously on the same CMP (chip multiprocessor) are compiled together. The benefits of this approach include capturing the interactions amongst applications due to data sharing. While one can think of many potential optimizations that can work in an inter-application fashion exploiting data sharing across applications, we restrict ourselves in this paper to data layout optimization, which is the problem of determining the most suitable memory layout for array data. To demonstrate the impact of our contribution, we implemented our approach and performed a simulation-based study with several embedded applications. Our experimental results show that, by selecting the memory layouts of data arrays considering multiple applications at the same time, we can reduce cache misses by 18.7% and execution cycles by 13.1% on average.


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
6
7
 
8
IBM Cell Processor. http://www-1.ibm.com/businesscenter/venturedevelopment/us/en/featurearticle/gcl_xmlid/8649/nav_id/emerging
 
9
I. Kadayif, M. Kandemir, and U. Sezer. Collective compilation for I/O-intensive programs. In Proc. IASTED International Conference on Parallel and Distributed Computing and Systems, August 2001, Anaheim.
 
10
 
11
12
13
14
 
15
16
 
17
 
18
M. O'Boyle and P. Knijnenburg. Non-singular data transformations: Definition, validity, applications. In Proc. Workshop on Compilers for Parallel Computers, pages 287--297, Aachen, Germany, 1996.
 
19
20
 
21
SimpleScalar LLC. http://www.simplescalar.com
 
22
Througput Computing. http://www.sun.com/processors/throughput/faqs.html
23
 
24

Collaborative Colleagues:
Ozcan Ozturk: colleagues
Guangyu Chen: colleagues
Mahmut Kandemir: colleagues