Abstract
Data locality optimization in parallel systems is a non-trivial task. This task is typically done by the programmer: based upon an exhaustive analysis of an application’s run-time behavior, data access and distribution is re-modeled manually. Once the system, application, or just the input data set changes this effort has to be repeated.
Ideally, this task can be automated which requires introduction of Self-X qualities into the system. We developed an architecture concept for self-organizing parallel computer systems. This architecture is based on two main principles which are flexible monitoring to instantiate self-awareness, and adaptive components for all aspects of self-configuration. It is completed by a self-awareness mechanism, the autonomic planning. These Self-X properties pervade all system layers.
Based on this architecture concept, we implemented an autonomic data locality optimization system. With the achieved results presented in this paper we successfully demonstrated suitability and applicability of the architecture concept and were able to highlight the benefits of autonomic data locality optimization.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
AMD. AMD Athlon processor, x86 Code Optimization Guide (2002)
Anderson, J.M., Berc, L.M., Dean, J., Ghemawat, S., Henzinger, M.R., Leung, S.-T.A., Sites, R.L., Vandevoorde, M.T., Waldspurger, C.A., Weihl, W.E.: Continuous profiling: Where have all the cycles gone? In: Proceedings of the 16th ACM Symposium on Operating Systems Principles (October 1997)
Balasubramonian, R., Albonesi, D., Buyuktosunoglu, A., Dwarkadas, S.: Memory hierarchy reconfiguration for energy and performance in general-purpose processor architectures. In: Proceedings of the International Symposium on Microarchitecture (December 2000)
Beckett, J.: Scaling IT for the Planet: Creating the worldwide computing utility, http://www.hpl.hp.com/news/2001/oct-dec/planetary.html
Browne, S., Dongarra, J., Garner, N., Ho, G., Mucci, P.: A portable programming interface for performance evaluation on modern processors. The International Journal of High Performance Computing Applications 14(3), 189–204 (Fall 2000)
Buchty, R., Acher, G., Jeitner, J., Karl, W., Tao, J., Trinitis, C.: ASoCS: An Architecture Concept for Self-optimizing Parallel and Distributed Computer Systems. PARS Newsletter 22, 108–117 (2005)
Chi, E., Salem, M., Bahar, I., Weiss, R.: Combining software and hardware monitoring for improved power and performance tuning. In: Boston Area Architecture Workshop (BARC 2003) (June 2003)
Compaq Computer. Alpha 21264 Microprocessor Hardware Reference Manual
Burger, D., et al.: Scaling to the End of Silicon with EDGE Architectures. IEEE Computer, 44–55 (July 2004)
McKinley, P.K., et al.: Composing Adaptive Software. IEEE Computer, 55–65 (July 2004)
Fenlason, J., Stallman, R.: GNU gprof: The GNU Profiler (1997)
Gerndt, M., Karl, W.: EP-Cache (February 2005), http://wwwbode.cs.tum.edu/~gerndt/home/Research/EP-Cache/EPcache.htm
APART IST Working Group. Automatic Performance Analysis: Real Tools (2004), http://www.kfa-juelich.de/zam/RD/coop/apart/
Hockauf, R., Karl, W., Leberecht, M., Oberhuber, M., Wagner, M.: Exploiting Spatial and Temporal Locality of Accesses: A New Hardware-Based Monitoring Approach for DSM Systems. In: Pritchard, D., Reeve, J.S. (eds.) Euro-Par 1998. LNCS, vol. 1470, p. 206. Springer, Heidelberg (1998)
Horn, P.: IBM’s Perspective on the State of Information Technology, http://www.research.ibm.com/autonomic/manifesto
IBM. Autonomic Computing Web Page, http://www.ibm.com/servers/autonomic/
IBM. Tivoli Software Web Page, http://www.ibm.com/software/tivoli/
IBM. PowerPC 740/PowerPC 750 RISC Microprocessor User’s Manual (1999)
Intel. Intel Itanium Architecture Software Developer’s Manual (2000)
Intel. Intel Architecture Software Developer’s Manual Volume 3: System programming Guide (2002)
Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and Its Performance. Technical Report NAS-99-011, NASA Ames Research Center (October 1999)
Karl, W., Leberecht, M., Oberhuber, M.: SCI Monitoring Hardware and Software: Supporting Performance Evaluation and Debugging. In: Hellwagner, H., Reinefeld, A. (eds.) SCI: Scalable Coherent Interface. LNCS, ch. 24, vol. 1734, pp. 417–432. Springer, Heidelberg (1999)
Lebeck, A.R., Fan, X., Zeng, H., Ellis, C.S.: Power-aware page allocation. In: Proceedings of ASPLOS, vol. IX (November 2000)
Liao, C., Martonosi, M., Clark, D.W.: Performance monitoring in a myrinet-connected shrimp cluster. In: Proceedings of the International Conference on Measurement and Modeling of Computer Systems (Sigmetrics 1998) (August 1998)
Ludwig, T., Wismüller, R., Sunderam, V., Bode, A.: OMIS – On-line Monitoring Interface Specification (Version 2.0). Shaker Verlag, Aachen (1997)
Ludwig, T., Wismüller, R.: OMIS 2.0 — A Universal Interface for Monitoring Systems. In: Bubak, M., Waśniewski, J., Dongarra, J. (eds.) PVM/MPI 1997. LNCS, vol. 1332, pp. 267–276. Springer, Heidelberg (1997)
Ludwig, T., Wismüller, R., Bode, A.: Interoperable Tools based on OMIS. In: Proc. 2nd SIGMETRICS Symposium on Parallel and Distributed Tools SPDT 1998, Welches, OR, USA, p. 155. ACM Press, New York (1998)
McNealy, S., Papadopoulos, G., Schwartz, J.: N1: Revolutionary IT Architecture for Business, http://wwws.sun.com/software/solutions/n1
Sun Microsystems. Ultra-SPARC IIi User’s Manual (1997)
Motorola. MPC7450 RISC Microprocessor Familiy User’s Manual (2001)
Mu, T., Tao, J., Schulz, M., McKee, S.A.: Interactive Locality Optimization on NUMA Architectures. In: Proceedings of the ACM Symposium on Software Visualization, San Diego, USA (June 2003)
Mucci, P.J., Browne, S., Deane, C., Ho, G.: PAPI: A portable interface to hardware performance counters. In: Proceedings of the Department of Depense HPCMP User Group Conference (June 1999)
Schulz, M., Tao, J., Trinitis, C., Karl, W.: SMiLE: An Integrated, Multi-paradigm Software Infrastructure for SCI-based Clusters. In: Proceedings of the IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGrid), Berlin, Germany, pp. 247–254 (May 2002)
InstallShield Software. Web Page, http://www.installshield.com/
ZeroG Software. Web Page, http://www.zerog.com/
Sprunt, B.: Pentium 4 performance-monitoring features. IEEE Micro, pp. 72–82 (July/August 2002)
Sprunt, B.: The basics of performance-monitoring hardware. IEEE Micro, pp. 64–71 (July/August 2002)
Tao, J., Schulz, M., Karl, W.: A Simulation Tool for Evaluating Shared Memory Systems. In: Proceedings of the 36th Annual Simulation Symposium, Hyatt Orlando, Florida (to appear, April 2003)
Wismüller, R.: Interoperability Support in the Distributed Monitoring System OCM. In: Proceedings 3rd International Conference on Parallel Processing and Applied Mathematics - PPAM 1999, Kazimierz Dolny, Poland, pp. 77–91 (September 1999)
Wismuller, R., Trinitis, J., Ludwig, T.: OCM - A Monitoring System for Interoperable Tools. In: Proc. 2nd SIGMETRICS Symposium on Parallel and Distributed Tools SPDT 1998, Welches, OR, USA, p. 149. ACM Press, New York (1998)
Woo, S.C., Ohara, M., Torrie, E., Singh, J.P., Gupta, A.: The SPLASH-2 programs: characterization and methodological considerations. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture, pp. 24–36 (June 1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Buchty, R., Tao, J., Karl, W. (2006). Automatic Data Locality Optimization Through Self-optimization. In: de Meer, H., Sterbenz, J.P.G. (eds) Self-Organizing Systems. EuroNGI IWSOS 2006 2006. Lecture Notes in Computer Science, vol 4124. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11822035_16
Download citation
DOI: https://doi.org/10.1007/11822035_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37658-3
Online ISBN: 978-3-540-37669-9
eBook Packages: Computer ScienceComputer Science (R0)