Abstract
The disparity between microprocessor clock frequencies and memory latency is a primary reason why many demanding applications run well below peak achievable performance. Software controlled scratchpad memories, such as the Cell local store, attempt to ameliorate this discrepancy by enabling precise control over memory movement; however, scratchpad technology confronts the programmer and compiler with an unfamiliar and difficult programming model. In this work, we present the Virtual Vector Architecture (ViVA), which combines the memory semantics of vector computers with a software-controlled scratchpad memory in order to provide a more effective and practical approach to latency hiding. ViVA requires minimal changes to the core design and could thus be easily integrated with conventional processor cores. To validate our approach, we implemented ViVA on the Mambo cycle-accurate full system simulator, which was carefully calibrated to match the performance on our underlying PowerPC Apple G5 architecture. Results show that ViVA is able to deliver significant performance benefits over scalar techniques for a variety of memory access patterns as well as two important memory-bound compact kernels, corner turn and sparse matrix-vector multiplication — achieving 2x–13x improvement compared the scalar version. Overall, our preliminary ViVA exploration points to a promising approach for improving application performance on leading microprocessors with minimal design and complexity costs, in a power efficient manner.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bailey, D.: Little’s law and high performance computing. In RNR Technical Report (1997)
Blelloch, G.E., Heroux, M., Zagha, M.: Segmented Operations for Sparse Matrix Computation on Vector Multiprocessors. Technical Report CMU-CS-93-173 (August 1993)
Bohrer, P., Peterson, J., Ozahy, M., Rajamony, R., Gheith, A., Rockhold, R., Lefurgy, C., Shafi, H., Nakra, T., Simpson, R., Speight, E., Sudeep, K., Hensbergen, E.V., Zhang, L.: Mambo: a full system simulator for the PowerPC architecture. ACM SIGMETRICS Performance Evaluation Review 31(4), 8–12 (2004)
Creating science-driven computer architecture:a new path to scientific leadership, http://www.nersc.gov/news/reports/blueplanet.php
Espasa, R., Valero, M., Smith, J.E.: Vector architectures: past, present and future. In: Proceedings of the 12th international Conference on Supercomputing (1998)
Gebis, J.: Low-complexity Vector Microprocessor Extensions. PhD thesis, University of California, Berkeley, CA, USA (May 2008)
Grun, P., Nicolau, A., Dutt, N.: Memory Architecture Exploration for Programmable Embedded Systems. Kluwer Academic Publishers, Norwell (2002)
Gschwind, M.: Chip multiprocessing and the cell broadband engine. In: Proceedings of 3rd Conference on Computing Frontiers, New York, NY, USA, pp. 1–8 (2006)
Guo, Y., Chheda, S., Koren, I., Krishna, C.M., Moritz, C.A.: Energy characterization of hardware-based data prefetching. In: ICCD 2004: Proceedings of the IEEE International Conference on Computer Design, Washington, DC, USA, pp. 518–523. IEEE Computer Society, Los Alamitos (2004)
HPEC Challenge Benchmark Suite, http://www.ll.mit.edu/HPECchallenge
McVoy, L.W., Staelin, C.: lmbench: Portable tools for performance analysis. In: USENIX Annual Technical Conference, pp. 279–294 (1996)
Natarajan, K., Hanson, H., Keckler, S.W., Moore, C.R., Burger, D.: Microprocessor pipeline energy analysis. pp. 282–287 (August 2003)
Patterson, D.A.: Latency lags bandwith. Commun. ACM 47(10), 71–75 (2004)
Temam, O., Jalby, W.: Characterizing sparse algorithms on caches. In: Proc. Supercomputing (1992)
Vuduc, R., Demmel, J.W., Yelick, K.A.: OSKI: A library of automatically tuned sparse matrix kernels. In: Proc. SciDAC 2005, Journal of Physics (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gebis, J., Oliker, L., Shalf, J., Williams, S., Yelick, K. (2009). Improving Memory Subsystem Performance Using ViVA: Virtual Vector Architecture . In: Berekovic, M., Müller-Schloer, C., Hochberger, C., Wong, S. (eds) Architecture of Computing Systems – ARCS 2009. ARCS 2009. Lecture Notes in Computer Science, vol 5455. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00454-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-00454-4_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-00453-7
Online ISBN: 978-3-642-00454-4
eBook Packages: Computer ScienceComputer Science (R0)