PACT Tutorial 2012

From Marss86

September 23rd, 2012 at 21ST PACT in Minneapolis, MN


The microarchitecture and architecture research community has relied on cycle accurate simulators for validating new techniques that are being actively investigated and developed in this community. There is also an emerging need to go beyond the memory and processor components in modeling and simulating a computing platform at full system level, encompassing system level hardware components as well as critical software components such as the OS and libraries. It is thus important to have a full system simulation tool that incorporates realistic simulation models for other systems level components such as the chipset, DRAM, network interface cards and peripheral devices in addition to accurate simulation models for single and multicore processors implementing the x86 ISA. We have developed an open source full system simulation tool, called MARSS – Micro Architectural and System Simulator, to meet this critical need. Current public release of MARSS supports single core and multi-core X86 platforms, running Linux OS. Unmodified X86 binaries can be simulated or emulated in MARSS. MARSS is currently being extended to support the ARM ISA in an Android environment.MARSS extends the widely used QEMU framework – a full system emulator that supports multiple ISA, with cycle accurate simulation framework based on PTLsim. MARSS provides a modular framework to implement Core and Cache models like Out-Of-Order core, Atom like InOrder core, Write-back/Write-through caches, MESI and MOESI coherent Caches, Bus and Switch interconnects. This modular framework also allows users to easily integrate other opensource or proprietary tools, for example DRAMSim2 (detailed DRAM simulator) uses MARSS as front-end to generate traffic to DRAM model.

MARSS has attracted not only the academic researchers but also industrial researchers from Intel, Rambus, Cray Systems and others as viable open-source alternative to many existing proprietary and closed source tools. Researchers from Rambus have evaluated MARSS's performance with real hardware and are working towards improving its co-relation with hardware. Intel research labs have utilized MARSS framework to develop multicore memory tracing tool and they are working to integrate it with x86 Android Emulator. Full System simulation framework of MARSS with support for unmodified OS and libraries enables researchers to evaluate new programming languages focused on parallel and heterogeneous architectures and power consumption of the system. MARSS also provides attractive platform to evaluate hardware-software co-design. Because of such features MARSS provides a common platform for researchers in field of architecture, operating system, compilers, programming languages, etc. and PACT attracts researchers from all these fields. Hosting MARSS tutorial at PACT will provide great opportunity for attendees to have hands-on experience with MARSS.

Tutorial Program

Time(TBD) Title Details/Demos
Introduction to MARSS Overview of MARSS architecture and quick demo of how to get started with MARSS
MARSS Performance and Accuracy Validating MARSS performance with real platforms
MARSS Architecture Overview of MARSS desing and architecture
MARSS Core Models
MARSS Memory Hierarchy Module
MARSS Interconnection Module
Building the Simulation Machines
MARSS Statistics Collection
Getting Started with MARSS Detailed Demonstration of how to download, compile, run and analyse the results
Industrial Experience with MARSS
  • Rambus : Evaluating Main Memory System Efficiency in Full System Environment
  • Intel  : Developing Multicore Memory Tracing capabilities in MARSS and integrating MARSS to x86 based Android Emulator
Personal tools