ACM Home Page
Please provide us with feedback. Feedback
A multiprocessing approach to accelerate retargetable and portable dynamic-compiled instruction-set simulation
Full text PdfPdf (143 KB)
Source International Conference on Hardware Software Codesign archive
Proceedings of the 4th international conference on Hardware/software codesign and system synthesis table of contents
Seoul, Korea
SESSION: Simulation, optimization, and acceleration table of contents
Pages: 193 - 198  
Year of Publication: 2006
ISBN:1-59593-370-0
Authors
Wei Qin  Boston University, Boston, MA, USA
Joseph D'Errico  Cavium Networks, Inc., Marlborough, MA, USA
Xinping Zhu  Northeastern University, Boston, MA, USA
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 65,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1176254.1176302
What is a DOI?

ABSTRACT

Traditionally, instruction-set simulators (ISS's) are sequential programs running on individual processors. Besides the advances of simulation techniques, ISS's have been mainly driven by the continuously improving performance of single processors. However, since the focus of processor manufacturers is shifting from frequency scaling to multiprocessing, ISS developers need to seize this opportunity for further performance growth. This paper proposes a multiprocessing approach to accelerate one class of dynamic-compiled ISS's. At the heart of the approach is a simulation engine capable of mixed interpretative and compiled simulation. The engine selects frequently executed target code blocks and translates them into dynamically loaded libraries (DLLs), which are then linked to the engine at run time. While the engine performs simulation on one processor, the translation tasks are distributed among several assistant processors. Our experiment results using SPEC CINT2000 benchmarks show that this approach achieves on average 197 million instructions per second (MIPS) for the MIPS32 ISA and 133 MIPS for the ARM V4ISA. Compared with the uniprocessing configuration under the same general approach, multiprocessing offers higher performance and improved speed consistency. In addition, our approach is highly retargetable, portable and capable of simulating self-modifying code. To our best knowledge, this is the first reported approach that uses multiprocessing to accelerate functional simulation.


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
F. Bellard. http://www.qemu.org, Sep 2005.
 
3
4
 
5
 
6
 
7
Free Software Foundation, Inc. http://gcc.gnu.org/.
8
 
9
Intel Corporation. Intel microprocessor quick reference quide, http://www.intel.com/pressroom/kits/quickrefyr.htm, Dec 2005.
 
10
 
11
12
 
13
 
14
W. Qin. http://simit-arm.sourceforge.net.
 
15
W. Qin. http://simit-mips.sourceforge.net.
16
 
17
K. Scott and J. Davidson. Strata: A software dynamic translation infastructure. In Proceedings of the IEEE 2001 Workshop on Binary Translation, 2001.
 
18
Standard Performance Evaluation Corporation. http://www.spec.org.
19
20


Collaborative Colleagues:
Wei Qin: colleagues
Joseph D'Errico: colleagues
Xinping Zhu: colleagues