3b4f4ace by Anirudh Mohan Kaushik


1 parent 2116b12c
FROM ubuntu:14.04
MAINTAINER amkaushi@uwaterloo.ca
# Download and Install utilities
# ==============================
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get update \
&& apt-get install -y \
vim \
RUN apt-get install -y swig gcc m4 python python-dev libgoogle-perftools-dev mercurial scons g++ build-essential zlib1g-dev wget
## cleanup
RUN apt-get clean && \
cd /var/lib/apt/lists && rm -fr *Release* *Sources* *Packages* && \
truncate -s 0 /var/log/*log
#Set env just in case
#ENV HOME /root
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# Download PMSI
RUN bash -l -c "wget --no-check-certificate https://git.uwaterloo.ca/caesr-pub/pmsi/repository/archive.tar.gz"
RUN bash -l -c "tar -zxvf archive.tar.gz; mv pmsi-master* pmsi; rm archive.tar.gz"
# Build PMSI
RUN bash -l -c "cd /pmsi/gem5-stable; scons ./build/X86_MSI_Snooping_One_Level_RT/gem5.opt -j2"
......@@ -28,5 +28,8 @@ This is the gem5 code repository for Predictable MSI (PMSI) presented in our RTA
* For trace based execution, populate the `trace.trc` file with the necessary memory operations and execute: `./build/X86_MSI_Snooping_One_Level_RT/gem5.opt ./configs/example/ruby_random_test.py --ruby-clock=2GHz --ruby --cpu-clock=2GHz --topology=Crossbar --mem-type=SimpleMemory -n 4 --mem-size=4194304kB --wakeup_freq=1`.
* We provide a script to run the SPLASH2 benchmarks in the `scripts/` directory.
# Docker file
* We also provide a docker environment to replicate the environment we used to carry out evaluation. Please run `sudo docker build -t pmsi .` to build the container with dependencies and PMSI, and `sudo docker run -i -t pmsi` to run.
# Contact
* Feel free to contact [us](mailto:amkaushi@uwaterloo.ca) for questions regarding PMSI.