Difference between revisions of "Running M5 in Full-System Mode"

From gem5
Jump to: navigation, search
(Quick Start)
Line 4: Line 4:
 
Then you can just run the fs.py configuration file in the m5/configs/test directory. For example:
 
Then you can just run the fs.py configuration file in the m5/configs/test directory. For example:
 
<pre>
 
<pre>
% build/ALPHA_FS/m5.debug -configs/test/single_fs.py
+
% build/ALPHA_FS/m5.debug configs/example/fs.py
 
M5 Simulator System
 
M5 Simulator System
Copyright (c) 2001-2005
+
 
 +
Copyright (c) 2001-2006
 
The Regents of The University of Michigan
 
The Regents of The University of Michigan
 
All Rights Reserved
 
All Rights Reserved
  
This code is part of the M5 simulator, developed by Nathan Binkert,
 
Erik Hallnor, Steve Raasch, and Steve Reinhardt, with contributions
 
from Ron Dreslinski, Dave Greene, Lisa Hsu, Kevin Lim, Ali Saidi,
 
and Andrew Schultz.
 
  
M5 compiled on Jun  4 2005 22:51:26
+
M5 compiled Aug 16 2006 18:51:57
M5 executing on zed.eecs.umich.edu
+
M5 started Wed Aug 16 21:53:38 2006
M5 simulation started Sun Jun 5 00:59:50 2005
+
M5 executing on zeep
 +
command line: ./build/ALPHA_FS/m5.debug configs/example/fs.py
 +
      0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
 
Listening for console connection on port 3456
 
Listening for console connection on port 3456
      0: system.tsunami.io: Real-time clock set to Sun Jan  1 00:00:00 2006
+
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
command line: ALPHA_FS/m5.debug ../configs/fullsys/run.py
+
warn: Entering event queue @ 0.  Starting simulation...
 
 
Listening for remote gdb connection on port 7000
 
warn: Entering event queue.  Starting simulation...
 
11371440: system.sim_console: attach console 0
 
 
 
 
<...simulation continues...>
 
<...simulation continues...>
 
</pre>
 
</pre>
Line 52: Line 46:
 
===Full System Benchmarks===
 
===Full System Benchmarks===
  
We have several full-system benchmarks already up and running. The binaries are available in the disk images you can obtain/download from us, and the .rcS files are in the m5/configs/boot/ directory. To run any of them, you merely need to set the TEST environment variable to the name of the test you want to run. For example:
+
We have several full-system benchmarks already up and running. The binaries are available in the disk images you can obtain/download from us, and the .rcS files are in the m5/configs/boot/ directory. To run any of them, you merely need to set the benchmark option to the name of the test you want to run. For example:
  
<pre>%ALPHA_FS/m5.debug -ETEST=NETPERF_MAERTS ../configs/fullsys/run.py</pre>
+
<pre>%./build/ALPHA_FS/m5.opt  configs/fullsys/run.py --benchmark=NetperfStreamNT</pre>
  
To see a comprehensive list of all benchmarks available, see the Benchmarks.mpy file in m5/configs/fullsys/Benchmarks.mpy. Not every benchmark is commonly used though, and not all are guaranteed to be useful or in working condition. However, we do often run:
+
To see a comprehensive list of all benchmarks available, see the Benchmarks.py file in m5/configs/common/Benchmarks.py. Not every benchmark is commonly used though, and not all are guaranteed to be useful or in working condition. However, we do often run:
  
* NETPERF_MAERTS
+
* NetperfMaerts
* NETPERF_STREAM
+
* NetperfStreamNT
* SURGE_SPECWEB
+
* SurgeSpecweb
  
 
These should run without a problem, since we have flushed out most bugs.
 
These should run without a problem, since we have flushed out most bugs.

Revision as of 21:50, 16 August 2006

Quick Start

We'll assume that you've already built the ALPHA_FS M5 simulator. Then you can just run the fs.py configuration file in the m5/configs/test directory. For example:

% build/ALPHA_FS/m5.debug configs/example/fs.py
M5 Simulator System

Copyright (c) 2001-2006
The Regents of The University of Michigan
All Rights Reserved


M5 compiled Aug 16 2006 18:51:57
M5 started Wed Aug 16 21:53:38 2006
M5 executing on zeep
command line: ./build/ALPHA_FS/m5.debug configs/example/fs.py
      0: system.tsunami.io.rtc: Real-time clock set to Sun Jan  1 00:00:00 2006
Listening for console connection on port 3456
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
warn: Entering event queue @ 0.  Starting simulation...
<...simulation continues...>

Basic Operation

The M5 binary can load a Linux binary, and must be pointed to a disk image it can mount as its root filesystem. Any application binaries that you want to run must be present on these disk images. To begin running them, M5 can load .rcS files, which are exactly like normal Linux boot scripts) to directly execute from after booting the OS. These .rcS files can be used to configure ethernet interfaces, execute special m5 instructions, or begin executing a binary on the disk image. The pointers for the linux binary, disk images, and .rcS files are all set in the configuration files (to see how these files work, see Configuration Files Explained). Examples: Going into / of root filesystem and typing ls will show:

  benchmarks  etc     lib         mnt      sbin  usr
  bin         floppy  lost+found  modules  sys   var
  dev         home    man         proc     tmp   z

Snippet of an .rcS file:

echo -n "setting up network..."
/sbin/ifconfig eth0 192.168.0.10 txqueuelen 1000
/sbin/ifconfig lo 127.0.0.1
echo -n "running surge client..."
/bin/bash -c "cd /benchmarks/surge && ./Surge 2 100 1 192.168.0.1 5.
echo -n "halting machine"
m5 exit

Full System Benchmarks

We have several full-system benchmarks already up and running. The binaries are available in the disk images you can obtain/download from us, and the .rcS files are in the m5/configs/boot/ directory. To run any of them, you merely need to set the benchmark option to the name of the test you want to run. For example:

%./build/ALPHA_FS/m5.opt  configs/fullsys/run.py --benchmark=NetperfStreamNT

To see a comprehensive list of all benchmarks available, see the Benchmarks.py file in m5/configs/common/Benchmarks.py. Not every benchmark is commonly used though, and not all are guaranteed to be useful or in working condition. However, we do often run:

  • NetperfMaerts
  • NetperfStreamNT
  • SurgeSpecweb

These should run without a problem, since we have flushed out most bugs.

Currently under development:

  • NFS
  • iSCSI
  • video streaming