Technical Resources

Simics - helps you start using simics, run your own simulations and modify the simulator so you can evaluate your research ideas.

Niagara - information about CoolThreads@SFU - the Sun T1 chip multithreaded server
VNC - teaches you how to configure a VNC server. This is a very useful tool to use if you run long simulations or experiment. Running long-running simulations or experiments inside a VNC session allows your simulations to run even if you log out of the terminal, and lets you connect to your working desktop from any terminal - whether you are at home or in the lab.
Benchmarks and Tools - this page has info on running standard performance benchmarks and using various performance tools.
Computing resources - tells you about computing resources at SFU that you can use for final projects
x86 performance counters - How to accessing x86 performance counters using perfmon2 (thanks to Justin Hebert for the link). There is also info on how to install the library and  kernel patches.

Computing Resources

CPU servers for Simics simulations

Simics is a CPU-intensive single-threaded application that uses lots of RAM. Therefore you need to use a machine that provides fast single-thread executiong (hint: high clock speed), and 4+GB of RAM. Here are the machines at SFU that you can use for simulations:

  • - good CPU speed, ok RAM
    • 4 Intel Xeon CPUs @ 3GHz, 2GB RAM
  • - low CPU speed, large RAM
    • Sun T2000 CPU: 32 threads = 8 cores x 4 threads @ 1.2 GHz, 32GB RAM
  • and
    • Dual-CPU hyperthreaded Pentium 4 (Northwood). Your home directory is not mounted by default. Find out how to do this by hand.

Storage for Simics configurations

Once you become comfortable with simics, you'll find that you often need to save simics configurations. These usually take hundreds of megabytes of disk space. There is space available for you in /cs/courses/cmpt886. There is a directory for every student.

How to make sure your simulations run quickly

Simics simulates actions of the hardware entirely in software. Therefore, your benchmarks will run much more slowly that on real hardware. Depending on your set-up it may take more than one hour to simulate one second of real time. Therefore, you want to do your best to ensure that your simulations run efficiently.

Simics is a CPU-intensivsmbmount //$userid  /home/$userid/cs_courses -o
e application. Your simulations will run quickly if your simics application uses a dedicated CPU. When you log onto a CPU server, check that there are CPUs available by running top. That command will show you the list of running jobs and their CPU utilizations. If you see that there are as many CPU-intensive jobs as there are CPUs on that system, you are better off running your simulation on another machine.

Another consideration is memory. If there isn't enough physical memory for a simics run on your machine, the memory will be swapped to disk. This will significantly slow down your simulation. (A sign that your simulation is swapping is if your simics instance has CPU utilization well below 100% check that by running top.) If that's the case, you are better off limiting the amount of memory that simics is allowed to use. To do this, run simics like this: "simics -e 'set-memory-limit 500".

How to mount your home directory by hand on cs-app1 and cs-app2

# After login:
# 1. Make sure there is a mount point for your home directory

bash$ ls

# 2. Mount your FAS home directory at that mount point. Your password is the same as for
# your FAS e-mail/login

bash$ smbmount //$userid  /home/$userid
-o username=$userid,dmask=700