Blog

Blog :: ...

Blog stop
Posted 2011/11/15
I have left academia for the second time. I have now lived this life both in England and the USA and at least for now software in the faster paced enterprise world is where my heart is. If I ever return to the warm embrace of university life I will [...]
Submitted proposal
Posted 2011/10/26
For a few months I have been working on and off on a proposal with Kirk for a large power-pack cluster. Yesterday we submitted it. Your Sponsored Research Office or equivalent at your organization has submitted the following proposal to NSF: Title: CI-ADDO-NEW: Bringing Power to the People: Enabling scalable computing energy-efficiency [...]
PMBS11 Paper accepted
Posted 2011/10/14
A couple of weeks ago we submitted a paper to PMBS11 and yesterday we got the email that it has been accepted. From: PMBS11 Date: Thu, 13 Oct 2011 22:44:07 +0100 Subject: PMBS11 notification for paper 15 Dear Mat, We are pleased to inform you that your paper titled Critical Path-Based Thread Placement for NUMA [...]
PMBS11 Paper submitted
Posted 2011/10/04
I have been working with Chun-Yi all year on optimal thread placement for NUMA systems. We just submitted the first paper on this work to the ACM Performance Modeling, Benchmarking and Simulation of High Performance Computing Systems workshop. The workshop part of Super Computing 2011 in Seattle.
Cluster 2011 Presentation
Posted 2011/09/29
This morning I presented the iso-energy-efficiency paper in the "Technical Papers: System Performance" session of Cluster 2011. The presentation went well and I had lots of people come to me after the session and during lunch to ask questions and make suggestions about measuring power in GPUs. I have uploaded [...]
Cluster 2011 Austin, TX
Posted 2011/09/26
Today I flew out to Austin to attend IEEE Cluster 2011. I am presenting the iso-energy-efficiency paper I wrote with Leon in May. Big change from Blacksburg weather, it is 100 degrees here!
MPI where am I?
Posted 2011/09/22
Here is a simple MPI program which will print out the hostname of the node it is running on. By printing the hostname you can see where the process is being executed. whereami.c #include <stdio.h> #include <string.h> #include <stddef.h> #include <stdlib.h> #include "mpi.h" main(int argc, char **argv ) { int rank, size; [...]
Pthreads race condition demo
Posted 2011/09/14
Pthreads race condition The commented out lines will prevent the race condition. #include <pthread.h> #include <stdio.h> #include <stdlib.h> #define NTHREADS 100 #define LOOPS 10000 int sum = 0; pthread_mutex_t sum_mutex; void *do_work() { int i; //pthread_mutex_lock(&sum_mutex); for (i=0; i<LOOPS; i++) [...]
Install MPICH2 on a Mac
Posted 2011/08/31
I am currently using a Macbook Pro, I had to install MPICH2 to use MPI. Install MacPorts from http://www.macports.org/ sudo port install mpich2 This is almost exactly the same as I used to do on Gentoo: sudo emerge mpich2 I have never had to install it on Windows but I am pretty sure it is [...]
MPI Hello World
Posted 2011/08/31
I have included compilation and execution examples. hello.c #include <stdio.h> #include <string.h> #include <stddef.h> #include <stdlib.h> #include "mpi.h" main(int argc, char **argv ) { char message[20]; int i,rank, size, type=99; MPI_Status status; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD,&size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); if(rank == 0) { strcpy(message, "Hello, world"); [...]
Internal Powerpack
Posted 2011/07/29
I have spent the past few weeks helping Kirk write a proposal for a new cluster. Every node will be fully instrumented by Powerpack to measure power consumption. Powerpack at scale has a number of challenges, one of which is how to fit the instrumentation inside the case. We can't [...]
System G Powerpack
Posted 2011/07/15
We are currently building a new fully instrumented Powerpack node for our System G cluster. System G is a cluster of Apple tower computers and Powerpack allows us to measure how much power a computer is using at the component level. Most people only know how much electricity a computer [...]
Cluster paper camera ready
Posted 2011/07/15
I have been working on the final version of our paper for IEEE Cluster 2011. Today I submitted the camera ready version and registered for the conference. I have uploaded a pre-print.
Finding what core a thread is executing on
Posted 2011/07/01
One of our research projects is improving thread scheduling on Linux. For some of our experiments we need to be able to know where a thread is executing without settings its affinity. With a bit of help from a Linux geek I know (after Google failed us) we found a [...]
Computer history museum San Francisco
Posted 2011/06/28
Just got back from vacation in San Francisco and England. One highlight I thought suitable for this blog was the trip to the computer history museum. This place recently opened in Mountain View near where Google has its offices. Alas they did not have the first computer I personally owned [...]
Cluster paper accepted
Posted 2011/06/10
Last month we submitted a paper to IEEE Cluster 2011 and today we got the email that it has been accepted. From: Cluster2011 Date: Mon, Jun 20, 2011 at 6:09 PM Subject: [Cluster2011] Your submission has been accepted! On behalf of the IEEE Cluster 2011 Conference, I am pleased to inform you that your [...]
Increasing the number of P-states
Posted 2011/06/07
Sometimes the ACPI cpufreq driver in Linux does not correctly enumerate the number of P-states available for a given processor. What this means is you get fewer usable CPU frequencies than you should. On one of our test clusters we have compute nodes which by default only give you two [...]
SCAPE website redesign
Posted 2011/06/03
A great deal of content needed updating on scape.cs.vt.edu and the webserver itself needed to be reinstalled. So I took the opportunity to migrate off of Drupal and onto Wordpress. Flexed my tiny design muscle while I was at it. 2006 2008 2011
How to unblock an IP which was blocked by denyhosts
Posted 2011/05/24
Denyhosts is a program for blocking an IP address after a number of failed ssh connection attempts. This is a very simple way to stop ssh brute force attacks on your machines. Every now and then a user manages to get an IP blocked by typing their password in incorrectly [...]
Merging SVN feature branches
Posted 2011/05/18
I make all major software changes in an SVN feature branch but I can never quite remember how to merge the branch back into trunk. Check out a clean version of trunk and then use this recipe: svn merge https://svnserver.com/svn/repo/trunk/project@999 https:///svnserver.com/repo/branches/project/feature . (All on one line). 999 is the revision number when you [...]