Implementation of a Distributed Full-System Simulation Framework as a Filesystem Server

Phillip Stanley-Marbell,

In Proceedings of the International Workshop on the Plan 9 Operating System, IWP9 '06, Madrid, December 2006.



ABSTRACT
Full-system simulation of systems comprising hundreds of microcontrollers, at the level of instruction execution, along with simulation of their peripherals, inter-device communication, power consumption and the like, can be tasking even on high-end workstations. To enable the partitioning of these simulations, which have a high degree of coarse-grained parallelism, over a network of workstations, a multi-platform simulation environment was implemented using the Inferno system. The implementation enables the simulation engine, written in ANSI C, and compiled as a library, to be linked against the Inferno emulator with a custom device driver interface. Using a glue application written in Limbo, and harnessing ideas from parallel discrete-event simulation, the framework enables simulations of networks of embedded systems to be partitioned across workstations of heterogeneous architectures. This paper presents the distributed simulation architecture, the design of the emulator device driver (the interface to the simulation engine), the graphical interface and glue application, and the packaging of the system as single-binary modules for multiple platforms. Also presented is a step-by-step guide for developers unfamiliar with Inferno for creating similar systems.

[PDF], [BibTex], [Locate in chronological publications], [Locate in classified publications]