
Home
Schedule
Reading List
Computing
Grading
Project
Presentation
|
CS 431 : Programming Parallel and Distributed Systems
|
|
Discussion Board and Mailing List
- Username: cmpt880_479@googlegroups.com (accept invitiation
in your email before beginning to post).
- SFU Mailing list : cmpt-431@sfu.ca
Creating logins for machines (You would have received
email with instructions)
Reservations: Google Appointment Slots (http://cs431.youcanbook.me).
- Go to reservation calendar .
- Create new event (You can book only 1hr slots).
- Specify Group Name or Id.
- Usage mode: Ex (for timed runs) or Non-Ex (for debugging)
cs-amoeba-n3.cs.surrey.sfu.ca (Need to ssh into head cs-amoeba
from which you can ssh into the n1 node)
- AMD server with 24 cores. 2 sockets; each socket 12 core CPU. Access requires reservation.
- Has two
chips. Each chip has four cores. Each core has private L1 instruction
and data caches (64K) and a private L2 cache (512K). The L3 cache is shared among
the cores on the same chip 18MB.
$ cat /proc/cpuinfo for
more details
- Runs Ubuntu 12.04. Available compilers and
gcc. To avail of intel icc: bash$ source
/p/amoeba/shared/lib/lib64/intel/stm/bin/iccvars.csh
intel64. Only compile on amoeba-head not on the n1 nodes.
- Performance counter infrastructure : Based on perf stat. We
have a 3.2-32 kernel and hence the perf tool will be
perf_3.2-32. How to use perf
[Slides]
|
Binding threads/processes to processors
When you run experiments, you'd often want to bind a thread or a process
to a particular processor, core or a thread
context. Here
is the explanation of how
this can be done along with some code samples.
Another example with pthreads.
|
| |