OJMSi  Vol.3 No.4 , October 2015
Multiple Levels of Abstraction in the Simulation of Microthreaded Many-Core Architectures
Author(s) Irfan Uddin
ABSTRACT
Simulators are generally used during the design of computer architectures. Typically, different simulators with different levels of complexity, speed and accuracy are used. However, for early design space exploration, simulators with less complexity, high simulation speed and reasonable accuracy are desired. It is also required that these simulators have a short development time and that changes in the design require less effort in the implementation in order to perform experiments and see the effects of changes in the design. These simulators are termed high-level simulators in the context of computer architecture. In this paper, we present multiple levels of abstractions in a high-level simulation of a general-purpose many-core system, where the objective of every level is to improve the accuracy in simulation without significantly affecting the complexity and simulation speed.

Cite this paper
Uddin, I. (2015) Multiple Levels of Abstraction in the Simulation of Microthreaded Many-Core Architectures. Open Journal of Modelling and Simulation, 3, 159-190. doi: 10.4236/ojmsi.2015.34017.
References
[1]   Uddin, I. (2013) Design Space Exploration in the Microthreaded Many-Core Architecture. University of Amsterdam, arXiv Technical Report.
http://arxiv.org/abs/1309.5551

[2]   Carlson, T.E., Heirman, W. and Eeckhout, L. (2011) Sniper: Exploring the Level of Abstraction for Scalable and Accurate Parallel Multi-Core Simulation. Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, ACM, New York, 1-12.
http://dx.doi.org/10.1145/2063384.2063454

[3]   Jesshope, C.R. (2006) Microthreading a Model for Distributed Instruction-Level Concurrency. Parallel Processing Letters, 16, 209-228.
http://dx.doi.org/10.1142/S0129626406002587

[4]   Uddin, I. (2013) Microgrid—The Microthreaded Many-Core Architecture. University of Amsterdam, arXiv Technical Report.
http://arxiv.org/abs/1309.5507

[5]   Bernard, T.A.M., Grelck, C., Hicks, M.A., Jesshope, C.R. and Poss, R. (2011) Resource-Agnostic Programming for Many-Core Microgrids. Proceedings of the 2010 Conference on Parallel Processing, Springer-Verlag, Berlin, Heidelberg, 109-116.
http://dl.acm.org/citation.cfm?id=2031978.2031994

[6]   van Tol, M., Jesshope, C., Lankamp, M. and Polstra, S. (2009) An Implementation of the Sane Virtual Processor Using Posix Threads. Journal of Systems Architecture, 55, 162-169.
http://www.sciencedirect.com/science/article/B6V1F-4TS6STP-1/2/82465c0360291ccf954008ae85c7331b

[7]   Bousias, K., Guang, L., Jesshope, C.R. and Lankamp, M. (2009) Implementation and Evaluation of a Microthread Architecture. Journal of Systems Architecture, 55, 149-161.
http://dl.acm.org/citation.cfm?id=1517865.1518255

[8]   Kena Poss, R. (2012) SL—A “Quick and Dirty” but Working Intermediate Language for SVP Systems. University of Amsterdam, Technical Report.
http://arxiv.org/abs/1208.4572

[9]   Poss, R., Lankamp, M., Yang, Q., Fu, J., Uddin, I. and Jesshope, C. (2013) MGSim—A Simulation Environment for Multi-Core Research Education. SAMOS.
http://dx.doi.org/10.1109/samos.2013.6621109

[10]   Kena Poss, R., Lankamp, M., Yang, Q., Fu, J., van Tol, M.W., Uddin, I. and Jesshope, C.R. (2013) Apple-CORE: Harnessing General-Purpose Many-Cores with Hardware Concurrency Management. Microprocessors and Microsystems.
http://www.sciencedirect.com/science/article/pii/S0141933113000835

[11]   Poss, R., Lankamp, M., Uddin, I., Sykora, J. and Kafka, L. (2012) Heterogeneous Integration to Simplify Manycore Architecture Simulations. Proceedings of the 2012 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, Ser. RAPIDO ’12, ACM, New York, 17-24.

[12]   Uddin, I. (2009) High-Level Simulation of the Microgrid. Master’s Thesis, University of Amsterdam, Amsterdam.
http://www.scriptiesonline.uba.uva.nl/313593

[13]   Uddin, I., van Tol, M.W. and Jesshope, C.R. (2011) High-Level Simulation of SVP Many-Core Systems. Parallel Processing Letters, 21, 413-438.
http://www.worldscinet.com/ppl/21/2104/S0129626411000308.html

[14]   Lankamp, M., Poss, R., Yang, Q., Fu, J., Uddin, I. and Jesshope, C.R. (2013) MGSim—Simulation Tools for Multicore Processor Architectures. University of Amsterdam, Technical Report.
http://arxiv.org/abs/1302.1390

[15]   Kienhuis, B., Deprettere, E.F., Wolf, P.V.D. and Vissers, K.A. (2002) A Methodology to Design Programmable Embedded Systems—The y-Chart Approach. Embedded Processor Design Challenges: Systems, Architectures, Modeling, and Simulation—AMOS, Springer-Verlag, London, 18-37.
http://dl.acm.org/citation.cfm?id=646466.691571

[16]   Bolychevsky, A., Jesshope, C.R. and Muchnick, V.B. (1996) Dynamic Scheduling in Risc Architectures. IEEE Proceedings Computers and Digital Techniques, 143, 309-317.
http://dx.doi.org/10.1049/ip-cdt:19960788

[17]   Uddin, I., Poss, R. and Jesshope, C. (2014) Analytical-Based High-Level Simulation of Microthreaded Many-Core Architectures. PDP.

[18]   Thompson, M. (2012) Tools and Techniques for Efficient System-Level Design Space Exploration. Ph.D. Dissertation, University of Amsterdam.

[19]   Bernard, T.A.M., Bousias, K., Guang, L., Jesshope, C.R., Lankamp, M., van Tol, M.W. and Zhang, L. (2008) A General Model of Concurrency and Its Implementation as Manycore Dynamic Risc Processors. ICSAMOS’08, 1-9.

[20]   Austin, T., Larson, E. and Ernst, D. (2002) SimpleScalar: An Infrastructure for Computer System Modeling. Computer, 35, 59-67.
http://dx.doi.org/10.1109/2.982917

[21]   Argollo, E., Falcon, A., Faraboschi, P, Monchiero, M. and Ortega, D. (2009) Cotson: Infrastructure for Full System Simulation. ACM SIGOPS Operating Systems Review, 43, 52-61.
http://dx.doi.org/10.1145/1496909.1496921

[22]   Rosenblum, M., Bugnion, E., Devine, S. and Herrod, S.A. (1997) Using the SimOS Machine Simulator to Study Complex Computer Systems. ACM Transactions on Modeling and Computer Simulation, 7, 78-103.
http://dx.doi.org/10.1145/244804.244807

[23]   Magnusson, P.S., Christensson, M., Eskilson, J., Forsgren, D., Hallberg, G., Hogberg, J., Larsson, F., Moestedt, A. and Werner, B. (2002) Simics: A Full System Simulation Platform. Computer, 35, 50-58.
http://dx.doi.org/10.1109/2.982916

[24]   Daněk, M., Kafka, L., Kohout, L., Sykora, J. and Bartosinski, R. (2012) UTLEON3: Exploring Fine-Grain Multi-Threading in FPGAs, Ser. Circuits and Systems. Springer.

[25]   Uddin, I. (2015) One-Ipc High-Level Simulation of Microthreaded Many-Core Architectures. International Journal of High Performance Computing Applications.
http://dx.doi.org/10.1177/1094342015584495

[26]   Uddin, I., Poss, R. and Jesshope, C. (2014) Signature-Based High-Level Simulation of Microthreaded Many-Core Architectures. SIMULECH.
http://dx.doi.org/10.5220/0004982405090516

[27]   Uddin, I., Jesshope, C.R., van Tol, M.W. and Poss, R. (2012) Collecting Signatures to Model Latency Tolerance in High-Level Simulations of Microthreaded Cores. Proceedings of the 2012 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, Ser. RAPIDO ’12, ACM, New York, 1-8.
http://dx.doi.org/10.1145/2162131.2162132

[28]   Uddin, I., Poss, R. and Jesshope, C. (2014) Cache-Based High-Level Simulation of Microthreaded Many-Core Architectures. Journal of Systems Architecture, 60, 529-552.
http://www.sciencedirect.com/science/article/pii/S1383762114000812

[29]   Keutzer, K., Malik, S., Member, S., Newton, A.R., Rabaey, J.M. and Sangiovanni-Vincentelli, A. (2000) System-Level Design: Orthogonalization of Concerns and Platformbased Design. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 19, 1523-1543.
http://dx.doi.org/10.1109/43.898830

[30]   Misra, J. (1986) Distributed Discrete-Event Simulation. ACM Computing Surveys, 18, 39-65.
http://dx.doi.org/10.1145/6462.6485

[31]   Yang, G. Parallel Simulation in Metropolis.

[32]   Denneulin, Y. Mescal. http://mescal.imag.fr/collab-acad-nat.php

[33]   Bakshi, A. and Ledeczi, A. (2001) Milan: A Model Based Integrated Simulation Framework for Design of Embedded Systems. ACM SIGPLAN Notices, 82-93.
http://dx.doi.org/10.1145/384196.384210

[34]   Basten, T., Van Benthum, E., Geilen, M., Hendriks, M., Houben, F., Igna, G., Reckers, F., De Smet, S., Somers, L., Teeselink, E., Trcka, N., Vaandrager, F., Verriet, J., Voorhoeve, M. and Yang, Y. (2010) Model Driven Design-Space Exploration for Embedded Systems: The Octopus Toolset. Proceedings of the 4th International Conference on Leveraging Applications of Formal Methods, Verification, and Validation, Ser. ISoLA’10, Springer-Verlag, Berlin, Heidelberg, 90-105.
http://dl.acm.org/citation.cfm?id=1939281.1939293

[35]   Wellig, A. and Zory, J. (2003) Framed Complexity Analysis in Systemc for Multi-Level Design Space Exploration. Proceedings of the Euromicro Symposium on Digital System Design, 416-423.
http://dx.doi.org/10.1109/dsd.2003.1231975

[36]   Genbrugge, D., Eyerman, S. and Eeckhout, L. (2010) Interval Simulation: Raising the Level of Abstraction in Architectural Simulation. HPCA, 1-12.

[37]   Nussbaum, S. and Smith, J.E. (2002) Statistical Simulation of Symmetric Multiprocessor Systems. SS’02: Proceedings of the 35th Annual Simulation Symposium, IEEE Computer Society, Washington DC, 89.
http://dx.doi.org/10.1109/simsym.2002.1000093

[38]   Hughes, C. and Li, T. (2008) Accelerating Multi-Core Processor Design Space Evaluation Using Automatic Multi-Threaded Workload Synthesis. 2008 IEEE International Symposium on Workload Characterization, 163-172.
http://dx.doi.org/10.1109/IISWC.2008.4636101

[39]   Eeckhout, L., Nussbaum, S., Smith, J.E. and Bosschere, K.D. (2003) Statistical Simulation: Adding Efficiency to the Computer Designer’S Toolbox. IEEE Micro, 23, 26-38.
http://dl.acm.org/citation.cfm?id=1435585.1435761

[40]   Genbrugge, D. and Eeckhout, L. (2009) Chip Multiprocessor Design Space Exploration through Statistical Simulation. IEEE Transactions on Computers, 58, 1668-1681.
http://dx.doi.org/10.1109/TC.2009.77

[41]   Van Biesbrouck, M., Sherwood, T. and Calder, B. (2004) A Cophase Matrix to Guide Simultaneous Multithreading Simulation. Proceedings of the 2004 IEEE International Symposium on Performance Analysis of Systems and Software, Ser. ISPASS ’04, IEEE Computer Society, Washington DC, 45-56.
http://dl.acm.org/citation.cfm?id=1153925.1154587

[42]   Ekman, M. and Stenstrom, P. (2005) Enhancing Multiprocessor Architecture Simulation Speed Using Matchedpair Comparison. Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, Ser. ISPASS’05, IEEE Computer Society, Washington DC, 89-99.

[43]   Wenisch, T.F., Wunderlich, R.E., Ferdman, M., Ailamaki, A., Falsafi, B. and Hoe, J.C. (2006) Simflex: Statistical Sampling of Computer System Simulation. IEEE Micro, 26, 18-31.
http://dx.doi.org/10.1109/MM.2006.79

[44]   Barr, K.C., Pan, H., Zhang, M. and Asanovic, K. (2005) Accelerating Multiprocessor Simulation with a Memory Timestamp Record. Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, Ser. ISPASS’05, IEEE Computer Society, Washington DC, 66-77.
http://dx.doi.org/10.1109/ispass.2005.1430560

[45]   Bluespec. The Synthesizable Modeling Company. Fast, Early and Accurate. http://www.bluespec.com

[46]   Qthreads—Lightweight Locality-Aware User-Level Threading Runtime. http://code.google.com/p/qthreads/

[47]   Yang, Q. and Jesshope, C.R. (2013) On-Chip Memory Traffic Regulation for the Microgrid. ACM Transactions on Embedded Computing Systems (TECS).

 
 
Top