I got an unexpected day off today. Things were all hunky dorey this morning, but then around 11 something happened. I’m not entirely clear on what. Sounded like someone was doing some sort of maintenance work down in the basement, something went boom, and several fire sprinklers went off in the machine room. Needless to say, the admins quickly shut everything down and went about cleaning up the mess, drying out all the computers and trying to get everything shifted over to another room. Since all the network hardware, mail server, group file servers, etc were housed in that room, it was absolutely impossible for me to do any more work today. Since I can’t do anything there, I might as well go work on the house.
Archive for the 'Work' Category
Page 3 of 3
So I’m finally getting close to wrapping up this semester, which marks the end of my required course credits. All of the stuff for Nick’s class finished up yesterday afternoon. The slides for all of the project presentations are up at the ECE497NC website. We managed to slap together something for the poster session for Matt’s class this afternoon. Went ok, but since a large portion of the project is compiler stuff, and I haven’t the remotest clue about compilers in general so… I wasn’t much help in fielding questions. There were definitely a handful of projects in both classes that I found interesting. Anyway, about all I have left for the semester is the project writeup for Matt’s class and whatever handful of results we want to include. Shouldn’t be too bad. Looking forward to having things finished.
So I’ve been going nuts working on class projects this semester. I’m trying to wrap up the last of my class work and am currently taking a couple of ECE497 courses (special topics grad courses where professors largely discuss their own research interests).
Nick’s teaching one on Unconventional Computer Architecture that’s been pretty interesting so far. Project’s coming along pretty well for that and most of my responsibilities have been finished. We’re doing hyperblock formation (in SUIF) supplemented by path profiling (in amalsim) combined with a basic run-time reconfiguration simulator that should estimate performance benefits of swapping hyperblocks out to reconfigurable logic. I wrote up the path profiler stuff which has all been checked in and barring any more surprises in SUIF, should be good to go.
Matt Frank (of RAW fame) is teaching one on Multi-threaded Computer Architecture. It’s been really good. Sort of a good overview of how parallelizing compilers work, how the corresponding hardware works, without getting into really icky details (like CS426). The project is a big question mark at this point. We’re attempting to make the GSA-PDG actually work for real programs (lookin’ pretty scary), then somehow resequentializing it after we’ve got it, and of course do some simulations on it for some basic limit study sort of thing. I’ve just wrapped up my first pass at a simulator. It’s mostly there at this point (reads in Jeff’s GSA description, generates the internal graph representation, and then does some of the functional simulation of that graph in an event-driven logic simulator sense). I don’t have all the operations supported at this point… like I’m not sure what a CVT is, I have no idea how the memory operations should realistically work, and have absolutely no feel for what’s going on with the GSA-specific nodes. If I dig out the GSA papers again, I might stand a chance at those, but since I’m working with a moving target at this point, I’m not going to work too much more on it until I see what Brian and Jeff have been up to…
Well, as you probably could have guessed by the lack of posts, I’ve been quite busy this summer. Submitted a paper to HPCA (International Symposium on High-Performance Computer Architecture for those not in the know). Crossing my fingers that it gets accepted because I’ve been working my ass off for it, and it would be cool for my work to appear in a big conference like HPCA, and hella cool to get to go to Madrid to present it.
I’m pretty psyched that I managed to pull this paper off because Nick originally had three separate papers shooting for this one. One was axed toward the end of last week, and until I updated him on my progress, Nick was figuring the other remaining paper was in better shape than mine. Turns out, the other paper also fell through some time early Monday afternoon. Nick told me around 2PM that the other paper had “imploded.” Oh well, at least that meant that Nick completely put his all into cleaning up my paper which we got submitted within a minute or so of the deadline. Very stressful, but now over.
I’m not sure cuz I was pretty hazy by the time it got submitted, but I think it turned out pretty well. Looks real impressive. It’s got some figures, some snazzy formulas, a table full of numbers, and all sorts of fancy plots. Looks real professional like. For those who are interested, it focuses on how the increasing component latencies resulting from deep submicron technologies affect the performance of clustered microarchitectures. Now that I’ve lost most of you…
Since I have been so totally and completely burned out for several days, I’m largely taking this week off, and next week I’ll be visiting the folk with Amanda. Will be nice to just get away for a while.
Finished the final touches on my MSE paper and uploaded it to their server. I already faxed over the copyright form, so I should be good to go to head out to Anaheim in June. Pretty sweet. I’ve got postscript and pdf versions of the paper ready to go up on my work page whenever I decide it’s appropriate to be publicly available.
The conference should prove interesting seeing as it falls smack between the abstract and paper deadlines for MICRO… Hopefully I’ll be in a position to worry about it at that point instead of still debugging the local data caches and getting more benchmarks up and running. I should have two undergrads reporting exclusively to me as of next Monday, and in theory Jeff’s undergrad will write a benchmark or two as well. Guess I should figure out what benchmarks they’re all going to write.
Oh, that reminds me. I have 1, 2, 4, and 8 programmable cluster versions of DNA up and running from compiled C code. The 2 and the 4 actually see a significant performance improvement over the 1 after I bumped up the input data to a reasonable size. Haven’t quite figured out why the 8 isn’t performing as well. I suppose it could be the limited memory bandwidth of the system (similar to the old assembly version of dither, where going from 4 to 8 main cache banks resulted in significant performance improvement). Will have to check that out.
After a little bit of work, I got the simulation of 32 input vectors in parallel up and running in my simulator. Pretty sweet. Shouldn’t be too bad to get basic sequential circuit support added in and then I’ll have done both extra credit options. Mainly need to figure out how to time my program and the rest is trivial. Will probably look into doing some further optimizing of my code, but seems pretty zippy for any circuit I’ve run it on so far.
Yeah, so I’ve been pretty busy this past week, and haven’t really had time to post. Chi-Wei checked in fixes for the bulk of the bugs I had encountered in the gui, so I’m pretty happy. I can actually sorta use the thing now. More importantly, Jeff and I have made some comments about additional features we REALLY want, so with any luck, we’ll actually get some of those before long.
I haven’t gotten too much farther on actual work-work this week because I decided to hop into the class Jeff’s taking this semester (ECE443). Keep in mind that the semester started a few weeks ago, so I’m a little behind. First homework was due Wednesday, so I spent a good portion of Tuesday night hammering away on it. Not sure if any of my answers made any sense, but whatever.
More importantly, he handed out the MP assignment on Wednesday. This was really why I joined the course. First assignment was to write an event-driven combinational logic simulator. Pretty cool if I do say so myself. Had a basic one up and running by the end of the day on Thursday. Figure I’ll hammer on it some more to improve its efficiency (optimize for speed, etc), and probably work on some of the more advanced stuff that’s not specifically required (such as simulating multiple input vectors in parallel, adding support for sequential logic, etc). Will be interested to see how the timing of mine (written in C) stacks up against Jeff’s (written in OCaml).
So my local data caches finally started doing stuff today. Cluster 0 requests M[0x0]. The main cache sends all words in that local cache line and informs cluster 0 that it has exclusive access. Cluster 1 then requests M[0x0]. The main cache informs Cluster 0 that the block is now shared and waits for an ACK to confirm that it hasn’t become modified. Pretty sweet! I may actually have it all up and running before much longer.
Oh, and I keep finding bugs and other annoyances in the GUI. It’s just not all that useful for debugging the simulator in its current state. If I’m lucky, maybe I’ll actually get Chi-Wei to fix some of the more glaring problems… especially if I get annoyed enough to post my thoughts to the mailing list and let everyone else know (particularly Nick).
Yeah, so they’ve bumped up the price of pizza at work. For as long as I’ve been working at CRHC, we could get a slice of Papa Del’s on Fridays for a buck. The way this works is corporations give our professors all kinds of money for being cool. One excellent example is Professor Hwu’s IMPACT group (without which Intel wouldn’t have made Itanium). Well, with the economy as it is, the corporate money isn’t flowing like it used to. As a result, Prof’s aren’t putting in as much money as they used to, and so they’ve doubled the price of pizza.
So Nick scheduled our first Amalgam meeting of the semester for today. But unfortunately, our meetings are scheduled for right before his class (which he has never taught before). As a result, he ditched our meeting to finish preparing his lecture. Nothing like getting things done early. Anyway, he dropped by around 1/2 hour before the meeting to tell Jeff and me that he wasn’t coming and we should figure out where the project will be around the end of the semester and what conferences we should shoot for. Fun fun. At least there isn’t an obvious conference for my work till June, so I should actually have enough time to do some real work and have a decent shot at having publishable work by then.