Download

Documentation


Home

System Requirements

MetaTM operates as a module for Virtutech Simics. Thus, the first step is to download and install Simics. Simics requires a license, but free academic licenses (personal and site) are available.

Because we optimize certain stages of the boot, we had to modify some of the hardware configuration scripts, most notable sws/dredd-osa.simics. By default, this expects simcs version 3.0.27 to be installed at /opt/virtutech/simics-3.0.27. This script must be edited if you choose to install to a different location or use a different version.

If you wish to use more than 15 cpus, you must use version 3.0.27 or higher. If you use 3.0.27, you must follow the steps posted on the simics mailing list to update the bios. These steps are not needed for 3.0.28 or higher.

MetaTM also requires a C++ compiler with support for the TR1 libraries. In our development environment, we use gcc 4.1.2 or higher.

TxLinux has the same compilation requirements as the Linux kernel, and only supports the i386 architecture for transactions. Thus, if you are on a different platform, you will need to be able to cross-compile.

Getting Started with MetaTM

MetaTM operates as a module for Virtutech Simics. Thus, the first step is to download and install Simics. Simics requires a license, but free academic licenses (personal and site) are available.

Once you have simics installed, download the MetaTM tarball and disk image from the download page.

Unpack the tarball, which should provide you with a top-level directory labeled sws.

cd into this directory and run the following commands:

(simics installation directory)/bin/workspace-setup . --force
make

Once this has completed successfully, move the disk image into the sws directory. At this point, you should be able to start a simulation with the following command:

./s

Configuring Your Simulation

The parameters of the simulated machine can be changed by editing the file osa-common.simics. Most importantly, the benchmarks to be automatically executed after boot can be changed by editing the @benchmarks array. Also Configuring simics to only simulate a single processor machine was noticed to speed boot time, this can be set by changing
if not defined num_cpus { $num_cpus = 8 } to
if not defined num_cpus { $num_cpus = 1 }
in the osa-common.simics file.

Compiling TxLinux

One may download and compile TxLinux for oneself by downloading the source tarball from the download page. The build process is identical to Linux, except that there are menuconfig options to enable transactions in various subsystems.

To copy the new kernel into the image, use 'sudo ./cp_linux'

Also, kernel debugging is enabled by default. If its not needed, turning it off when configuring the kernel will speed up the system.

To compile on a 64-bit machine, use 'linux32 make ARCH=i386'
To copy the linux image, use 'sudo linux32 ./cp_linux'

Need help?

You can email metatm@utlists.utexas.edu with questions or comments.