Spent the bits of today that were not organising things doing practical work.
Wrote some python code to generate graphs of data in a CSV file. This allows me to quickly generate lots of graphs of simulation data output. Works pretty well, though I might add some more smarts later on if I see the need.
Then went about generating some data, which involved fixing things up so I can run simulations on many computers. Hesiod (laptop) and voodoo worked a charm, required a bit of work to get going on gentoo (desktop) again.
Curst (FreeBSD) was the biggest hassle. I am getting non-deterministic errors from the globaliser. Core dumps, illegal instructions, all sorts. On the same input it will work 9 times, then fail once or so. Crazy stuff. So erm, I just kind of did this to build the project:
[sam@curst:~/uni/900/nsc]$ while ! scons; do echo "again..."; done
Yeah. Huh. Anyway… That mostly worked, it looked like it got stuck trying to link Linux, the following error results:
g++-3.3 -Wl,-O1 -Wl,-Tlinux-2.4/linker-script-full-2.ld -shared -o linux-2.4/liblinux24.so [... lots of .o files ...]
/usr/lib/libm.so: could not read symbols: Invalid operation
Haven’t looked into why this is happening just yet.
TODO: add the ability to ‘nice’ the simulation so it doesn’t hose voodoo.
The laptop seems to run simulations fast enough. This is encouraging.
I had lots of other weird errors about the place, carceri had empty files for net/socket.parsed.c for some reason, which broke the Linux shared library.
Then subversion mysteriously decided to stop working for my repositories on curst and carceri. I couldn’t update. I found that the svn+ssh url had an extra ‘:’ in it, like is used when you use scp. This broke things. I can only assume it didn’t use to break things, because I’ve been using those checked out copies and updating them for quite some time.
I did run a few simulations and get a bit of data. One thing that didn’t help this project were the following two problems:
- Our Internet connection is pretty broken: RTTs vary from 40ms to 2200ms, with a mean somewhere in between.
- Wireless is up and down like a… (fill in simile here yourself)
This meant subversion updates wouldn’t work sometimes, ssh-ing to voodoo was painful and ssh sessions would die, simulation clients would time out also because of the routes changing and no data getting through for so long.
So overall things can only get better, and I did make some useful headway.