Abstract
One of the challenges in the design of multicore architectures concerns the fast evaluation of hardware design-tradeoffs using simulation techniques. Simulation tools for multicore architectures tend to have long execution times that grow linearly with the number of cores simulated. In this paper, we present two hybrid techniques for fast and accurate multicore simulation. Our first method, the Monte Carlo Co-Simulation (MCCS) scheme, considers application phases, and within each phase, interleaves a Monte Carlo modeling scheme with a traditional simulator, such as Simics. Our second method, the Curve Fitting Based Simulation (CFBS) scheme, is tailored to evaluate the behavior of applications with multiple iterations, such as scientific applications that have consistent cycles per instruction (CPI) behavior within a subroutine over different iterations. In our CFBS method, we represent the CPI profile of a subroutine as a signature using curve fitting and represent the entire application execution as a set of signatures to predict performance metrics. Our results indicate that MCCS can reduce simulation time by as much as a factor of 2.37, with a speedup of 1.77 on average compared to Simics. We also observe that CFBS can reduce simulation time by as much as a factor of 13.6, with a speedup of 6.24 on average. The observed average relative errors in CPI compared to Simics are 32% for MCCS and significantly lower, at 2%, for CFBS.
This work was funded in part through grants 0720749, 0444345, 0811687, 0720645, and 0702519 from the National Science Foundation.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
From a few cores to many: A tera-scale computing research overview. Technical report, Intel
Teraflops research chip, http://techresearch.intel.com/articles/Tera-Scale/1449.htm
Austin, T., Larson, E., Ernst, D.: Simplescalar: An infrastructure for computer system modeling. Computer 35(2), 59–67 (2002)
Perelman, E., et al.: Using simpoint for accurate and efficient simulation. SIGMETRICS Perform. Eval. Rev. 31(1), 318–319 (2003)
Renau, J., et al.: SESC simulator (January 2005), http://sesc.sourceforge.net
Lauterbach, et al.: Ultrasparc-iii: a 3rd generation 64 b sparc microprocessor. In: ISSCC 2000. IEEE International on Solid-State Circuits Conference, 2000. Digest of Technical Papers., pp. 410–411 (2000)
Rosenblum, M., et al.: Complete computer system simulation: the simos approach. IEEE Parallel and Distributed Technology: Systems and Applications 3(4), 34–43 (Winter 1995)
Oskin, M., et al.: Hls: combining statistical and symbolic simulation to guide microprocessor designs. SIGARCH Comput. Archit. News 28(2), 71–82 (2000)
Martin, M.M.K., et al.: Multifacet’s general execution-driven multiprocessor simulator (gems) toolset. SIGARCH Comput. Archit. News 33(4), 92–99 (2005)
Magnusson, P.S., et al.: Simics: A full system simulation platform. Computer 35(2), 50–58 (2002)
Wunderlich, R.E., et al.: Smarts: accelerating microarchitecture simulation via rigorous statistical sampling. SIGARCH Comput. Archit. News 31(2), 84–97 (2003)
Woo, S.C., et al.: The splash-2 programs: characterization and methodological considerations. In: ISCA 1995: Proceedings of the 22nd annual international symposium on Computer architecture, pp. 24–36 (1995)
Wenisch, T.F., et al.: Simflex: Statistical sampling of computer system simulation. IEEE Micro. 26(4), 18–31 (2006)
Sherwood, T., et al.: Automatically characterizing large scale program behavior. In: ASPLOS-X: Proceedings of the 10th international conference on Architectural support for programming languages and operating systems, pp. 45–57. ACM, New York (2002)
Heath, M.T.: Scientific computing: An introductory survey (2002)
Huang, J., Lilja, D.: An efficient strategy for developing a simulator for a novel concurrent multithreaded processor architecture. In: MASCOTS 1998: Proceedings of the 6th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, Washington, DC, USA, p. 185. IEEE Computer Society, Los Alamitos (1998)
Kahle, J.: The cell processor architecture. In: MICRO 38: Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture, p. 3 (2005)
NASA. Nas benchmark suite, http://www.nas.nasa.gov/Resources/Software/npb.html
Pai, V.S., Ranganathan, P., Adve, S.V.: Rsim: Rice simulator for ilp multiprocessors. SIGARCH Comput. Archit. News 25(5), 1 (1997)
Intel Core Duo processor Frequently Asked Questions, http://www.intel.com/support/processors/mobile/coreduo/sb/CS-022131.htm
UltraSPARC T1 Niagara Specifications, http://www.sun.com/processors/UltraSPARC-T1/specs.xml
Srinivasan, R., Cook, J., Lubeck, O.: Ultra-fast cpu performance prediction: Extending the monte carlo approach. In: SBAC-PAD 2006: Proceedings of the 18th International Symposium on Computer Architecture and High Performance Computing, Washington, DC, USA, pp. 107–116. IEEE Computer Society, Los Alamitos (2006)
Srinivasan, R., Lubeck, O.: Montesim: a monte carlo performance model for in-order microachitectures. SIGARCH Comput. Archit. News 33(5), 75–80 (2005)
Yourst, M.T.: Ptlsim: A cycle accurate full system x86-64 microarchitectural simulator. In: IEEE International Symposium on Performance Analysis of Systems Software, 2007. ISPASS 2007, April 2007, pp. 23–34 (2007)
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
Shantharam, M., Raghavan, P., Kandemir, M. (2009). Hybrid Techniques for Fast Multicore Simulation. In: Sips, H., Epema, D., Lin, HX. (eds) Euro-Par 2009 Parallel Processing. Euro-Par 2009. Lecture Notes in Computer Science, vol 5704. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03869-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-03869-3_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03868-6
Online ISBN: 978-3-642-03869-3
eBook Packages: Computer ScienceComputer Science (R0)