Category Archives: School

While being a guinea pig for a software test, watching several groups try to coordinate for a tutorial via conference call and Skype makes me appreciate just how much better Google’s new hangout feature is — that said, they seem … Continue reading

Posted on by pappp | Leave a comment

We’re basically restarting the new Bucks for Brains student working with the research group this summer on computing the right way – A fresh Linux install and a copy of K&R. Out with Windows and Matlab, in with real tools. … Continue reading

Posted on by pappp | Leave a comment

Why are there no recycling containers in the fancy new “green” building? I just wanted to get rid of some plastic packaging, but nooo…

Posted on by pappp | Leave a comment

Cluster GPU Thermal Monitoring

The research group has been writing some simple monitoring scripts for handling the clusters. The focus is mostly on montitoring NAK (page in serious need of update), which has always had thermal irregularities with it’s GPUs. Some of the (poorly designed) GPU coolers have recently finished cooking their fans, and the “repair” has been to remove the cowling and mount an 80mm fan in the case to blow across the heatsink — this produces comparable temperatures to the vendor solution, whch is pathetic. This thermal instability requires that the system temperatures be periodically checked, and we have written variety of colorful scripts both for users and for the displays in the front of the machine room. The one I wrote for my own use is a simple combination of bash and AWK, which produces nice colorized one-line summaires for each machine when run with something like “mpirun –hostfile ~/nakhosts ./pstatc.sh | sort” where nakhosts is a standard MPI-friedly list of hosts, and ~/bin/ has nvidia-smi (a little tool for handling nivida GPUs from the command line) exported to the nodes. Script attached here for perusal (and so I can find it later). Possibly the best part is that it made me referesh my memory on using ANSI Color Escapes, which has been on my list of skills to touch up for a while – That foray also lead to souping up the script Hank was working on to use background colored spaces for ghetto bargraphs to keep the displays in the windows of the machine room interesting until we are set up to drive them with something else. One of these days I really should learn to use ncurses, or at least get better with one of the GUI libraries…

Posted in Computers, DIY, General, School | Tagged , , | Leave a comment

Marksbury Movein


I’ve had a couple neat projects eating up my spring break, but one of the bigger ones has been helping move the KAOS group into UK’s new Marksbury Building. So far it seems nice and very attractive, albeit a little weird – we’re talking 40+% unsuable glassed-in hallways, cubicle farms, and almost no storage space. I have a little cube in the corner of a lab on the first floor to call my own (until it is dynamically reallocated away – everything in the building is wrongheadedly set up to prevent entrenched labs…), which is actually a reasonably nice workspace. On that note, the various bits of furniture in the building have ABSURD list prices; each of the 12 student desks in the lab have at least $2,155 of furniture in them, including a useless drawer-and-a-half wheeled filing cabinet with a $700 list price, and a table(labelled “desk”) with a $368 list price – which is nearly indistinguishable from this $54 number from IKEA. We also have several conference tables where each LEG has a list price in excess of $300, and the whole building is furnished this way. I have no doubt that the institutional discount was deep, but it is still startling to contemplate.

Machine Room

Hotlink from Live-Update Image


One of the cooler bits is getting the group’s new machine room up – total floor space wise it isn’t very large, but has enough power and airconditioning for a couple city blocks of normal residential buildings, and enough exposed glass to make working in it a little like being in a zoo. The airconditioning unit in the back of the room that feeds the raised floor is so loud it is uncomfortable to be in the room without hearing protection, which makes working in it sort of surreal, and gives the adjoining lab a nice “distant waterfall” level of white noise. We’re bringing up somewhere in the neighborhood of 200 machines in there initially, most of them with fairly straightforward single-link Ethernet networks and stateless node configurations – so far two of the smaller machines (cik and emcluster, made of Core2Duos and Opterons respectively) are up with caos NSA and Perceus, as has been our habit of late. Unfortunately, the administrative process still has nonroutable IPs on our drops in the server room, so we can’t SSH in to use the machines remotely yet.

Posted in Computers, DIY, General, School | Tagged , , | Leave a comment

Research Updates / LLVM Is a PITA

I’ve spent the last several months discovering ways in which LLVM is excessive, ill-behaved, oversold, broken or simply lying in it’s documentation while working on my master’s project. In fact, that is almost ALL of what I accomplished in the past several months, and it was griding on me psychologically. Last weekend, I finally admitted to myself that, for a mixture of psychological and technological reasons, I wasn’t going to be able to finish the project using LLVM. I’ve always had a bail-out path set up to do a simpler full-custom compiler if something proved intractable, and Monday I talked to the advisor about putting that plan into action.

I’m now building a simple C-like language with PCCTS (old school 1.33MR33 emits-pure-C ANTLR and SOURCERER PCCTS, not modern ANTLR), hand-coding C for the remainder, and concentrating on the technically interesting matters. To that end, I’ve accomplished more conceptual work in the last week than the two preceding months, started laying out my new tools, and feel much better. The best “aha” moment I’ve had in months came when I sat down and worked out how the stack and calling conventions were going to work in my new system; LARs are beautiful and well-suited to real world problems in a whole host of ways I didn’t understand before.

Note that I don’t think LLVM is entirely bad; in conception, having a nice cleanly-interfaced compiler infrastructure with a library of frontends, backends, optimizer passes and other common components which snap together via clean interfaces, high level specifications, and a standardized intermediate representation is exactly how compiler tools should be structured. The problem is that LLVM has been drastically oversold, and overcomplicated. Every neat-looking interface has a mess of poorly-documented C++ that needs to be written to support it. Everything is set up with an emphasis on LLVM’s JIT/VM features, making it unnecessarily clumsy to use to produce pure compilers, or interface with external tools. Worst of all, the documentation is deceiving — much worse than incomplete, it appears complete, but is frequently deceptive or wrong. To pick one of the more egregious examples, much of the document points to the MIPS fronted as an example. This should be a good thing – MIPS is a simple design familiar to almost anyone in computing, but the MIPS backend is broken, in apparently fairly fundamental ways. The register descriptions are buggy in ways which cause it to generate incorrect code for any input containing floats, and it appears to be a high-level design problem descended from naively trusting that the register description and allocation mechanisms work as described. It is probably already a good tool for writing production compilers for established designs, but it really isn’t suited to writing research compilers.

Posted in Announcements, Computers, Navel Gazing, School | Leave a comment

Proto-netbook

While rooting around one of the labs to clean up for E-Day earlier, I ran into the pile of old Compaq Aero 4/25 subnotebooks the group has never disposed of, and played with one for a few minutes. Here it is next to my current machine:

Aero 4/25

A Compaq Aero 4/25 next to my T510


These charming little things are the forerunner to the modern netbook, and, like many of the early subnotebooks, have something of a following. These particular examples spent much of their lives as The TTL Papers Microcluster, and are hence in surprisingly good physical condition for 15 year old hardware. They are set up to dual boot the tweaked MS-DOS/Windows 3.1 environment they ship with, and, unless interrupted, automatically continue into Linux via loadlin, an arrangement I suspect has to do with the lack of an obvious user-accessible BIOS layer. I once coaxed the PC Compatibility card in a Powermac 6100/66 to boot Linux, this appears to entail similar acrobatics, with “quirky” hardware and a bizarre boot sequence.
The machine is remarkably usable and responsive, especially under Linux, despite the fact that the “4/25” in the name refers to the 4Mb of RAM and 25Mhz 486sx that form its tiny little heart. It makes a terrible reminder of how bloated software has become. Someone clearly put some care into the OS on ours around 1997 and built a pretty nice system, with a 2.0.27 kernel, reasonable selection of utilities, remarkably attractive monochrome DIR_COLORS (which I spirited off), GCC, and Vim, in addition to the AFAPI/PAPERS materials. There is no X server (which is to say, the installer wasn’t obviously insane), but there is also no screen or workalike I could find. I don’t see much evidence of any distribution I know was around at the time, and the kernel is clearly custom built, so it may well have been a fully hand-rolled system. The fact that the internet is full of stories about how uncooperative Aeros could be, and that the leading digits of the kernel version being “2.0” strongly suggest it is a seriously, incompatibly old-school setup, indicate that while it would be fun to tinker with, it probably isn’t a good idea.
The little machine brings home the point that a keyboard, a screen, and a roughly POSIX-like environment in a portable package is, was, and will continue to be most of what a portable device needs to be a desirable thing.

Posted in Computers, DIY, General, Objects, School | Leave a comment

HAK Wired

To follow up the previous post, the group finished wiring HAK Friday afternoon… and into the evening. About 480 runs of Cat5 for both the FNN and a separate network for monitoring and provisioning. It’s an interesting looking network; because of the way it was designed, it is unusually symmetrical for an FNN, so the core has trunks for the rack-crossings on each network, and is therefore rather neat:

Unfortunately, this does mean that all the cables in each wing are passing through the small slot in the center… which looks about like you would expect from the back:

It should produce some interesting results.

Posted in Computers, DIY, General, School | Tagged , | Leave a comment

HAK Wiring


I’ve spent a good fraction of the last several days helping with the preparation and assembly for a cluster the research group is building from 96(+4) old Athlon XP nodes to conduct network research on. The machine is named HAK for “Half-powered Athlon cluster in Kentucky, referring to the fact that every pair of nodes is sharing a power supply (notice the flipped cases). This design is both to save power (switching power supplies are most efficient when heavily loaded), and save power supplies, since that is the part that has had the highest failure rate in the pool of machines used to build it. After a couple passes of repairing nodes, homogenizing network cards and the like, we got to the photogenic part today: attaching the network. In the picture, there is a standard tree topology 100Megabit Ethernet network across all the nodes (the yellow and pink wiring), which will be used for administration and provisioning, and began sticking a full FNN (the bundles of red cable snaking around… those are the first 3 sets of 32, the other 9 are the colored bundles on the floor). That machine is set up to have it’s network swapped out with a FFNN (Fractional Flat Neighborhood Network) and SFNN (Sparse Flat Neighborhood network), but requires this initial fully populated Universal FNN as a baseline for comparison.

Posted in Computers, DIY, General, School | Tagged , | Leave a comment

Blog Move

This blog is in the process of moving in from it’s previous location at http://www.engr.uky.edu/~pseber0/ to it’s new home at pappp.net on bluehost. This current page will no doubt be repeatedly created and destroyed in the process, as I try to explain to the terrible migration tool about internal linking, resources, categories, and a variety of other things it is doing it’s best to lose or mangle. Things should be up and running in a couple of days, when the links will be updated, and the relocation notice will go up at the old location. This post also has a full set of categories, to force updates.

Posted in Announcements, Computers, DIY, Entertainment, FoodBlogging, General, Meta, Music, Navel Gazing, Objects, OldBlog, School | Leave a comment