ACM Home Page
Please provide us with feedback. Feedback
SmartApps: middle-ware for adaptive applications on reconfigurable platforms
Full text PdfPdf (283 KB)
Source ACM SIGOPS Operating Systems Review archive
Volume 40 ,  Issue 2  (April 2006) table of contents
COLUMN: Operating and runtime systems for high-end computing systems table of contents
Pages: 73 - 82  
Year of Publication: 2006
ISSN:0163-5980
Authors
Lawrence Rauchwerger  Texas A&M University
Nancy M. Amato  Texas A&M University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 52,   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/1131322.1131338
What is a DOI?

ABSTRACT

One general avenue to obtain optimized performance on large and complex systems is to approach optimization from a global perspective of the complete system in a customized manner for each application, i.e., application-centric optimization. Lately, there have been encouraging developments in reconfigurable operating systems and hardware that will enable customized optimization. For example, machines built with PIM's and FPGA's can be quickly reconfigured to better fit a certain application and operating systems, such as IBM's K42, can have their services customized to fit the needs and characteristics of an application. While progress in operating system and hardware and hardware has made re-configuration possible, we still need strategies and techniques to exploit them for improved application performance.In this paper, we describe the approach we are using in our smart application (SMARTAPPS) project. In the SMARTAPP executable, the compiler embeds most run-time system services and a feedback loop to monitor performance and trigger run-time adaptations. At run-time, after incorporating the code's input and determining the system's state, the SMARTAPP performs an instance specific optimization. During execution, the application continually monitors its performance and the available resources to determine if restructuring should occur. The framework includes mechanisms for performing the actual restructuring at various levels including: algorithmic adaptation, tuning reconfigurable OS services (scheduling policy, page size, etc.), and system configuration (e.g., number of processors). This paper concentrates on the techniques for providing customized system services for communication, thread scheduling, memory management, and performance monitoring and modeling.


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
The CHARM++ Programming Language Manual. http://charm.cs.uiuc.edu, 2000.
 
2
P. An, et al. STAPL: A standard template adaptive parallel C++ library. In Proc. of the Int. Workshop on Advanced Compiler Technology for High Performance and Embedded Processors, Bucharest, Romania, Jul. 2001.
 
3
 
4
 
5
6
 
7
 
8
9
 
10
11
 
12
13
 
14
 
15
16
 
17
A. Jula and L. Rauchwerger. Defero memory allocator: A semantic driven memory allocator. Tech. Rep. TR-JR-05, Parasol Lab, Dept. of Computer Science, Texas A&M Univ., Nov. 2005.
18
 
19
L. Kale and S. Krishnan. Charm++: Parallel programming with message-driven objects. In Gregory Wilson and Paul Lu, editors, Parallel Programming using C++, pp. 175--213. Cambridge, MA: MIT Press, 1996.
20
 
21
 
22
M. Olszewski and M. Voss. Proc. of the International Conference on Parallel and Distributed Processing Techniques and Applications, June 21--24, 2004. In Hamid R. Arabnia, editor, PDPTA. CSREA Press, 2004.
 
23
M. Puschl et al. SPIRAL: Code Generation for DSP Transforms. Proceedings of the IEEE special issue on Program Generation, Optimization, and Adaptation, 93(2):232--275, 2005.
 
24
 
25
 
26
 
27
J. Reynders. Pooma: A framework for scientific simulation on parallel architectures, 1996. In Wilson, G., Lu, P. (Eds.): Parallel Programming using C++. M.I.T. Press, pp. 553--594, 1996.
 
28
J. R. Rice. The algorithm selection problem. Advances in Computers, 15:65--118, 1976.
 
29
 
30
T. Sheffler. A portable MPI-based parallel vector template library. Tech. Rep. RIACS-TR-95.04, Research Inst. for Advanced Computer Science, March 1995.
31
 
32
D. Vallejo, C. V. Jones, and N. M. Amato. An adaptive framework for 'single shot' motion planning. In Proc. IEEE Int. Conf. Intel. Rob. Syst. (IROS), pp. 1722--1727, 2000.
33
 
34
 
35
R. Whaley, A. Petitet, and J. Dongarra. Automated empirical optimizations of software and the ATLAS project. Parallel Computing, 27(1-2):3--35, Jan. 2001.
 
36
37
 
38
 
39
M. Morales, L. Tapia, R. Pearce, S. Rodriguez, and N. M. Amato. A machine learning approach for feature-sensitive motion planning. In Proc. Int. Workshop on Algorithmic Foundations of Robotics (WAFR), Utrecht/Zeist, The Netherlands, July 2004.
 
40
M. A. Morales et. al. C-space subdivision and integration in feature-sensitive motion planning. In Proc. IEEE Int. Conf. Robot. Autom. (ICRA), April 2005.
 
41
R. Wisniewski, et. al. Performance and Environment Monitoring for Whole-System Characterization and Optimization in Proc. Conf. on Power/Performance interaction with Architecture, Circuits and Compilers 2004.

Collaborative Colleagues:
Lawrence Rauchwerger: colleagues
Nancy M. Amato: colleagues