Monday, March 3, 2008

Snips and Snails and Puppy Dog Tails

That's what some days are made of.

So, if you're a data mining insomniac (which one of my friends actually is) then you might have noticed a much lower density of posts this last week. The reason being I didn't want to post while sleep deprived (i.e. sleep dep-ed in HMC slang), grumpy, and generally not happy.

You see, life at Harvey Mudd is not all fun and games. Sure there's times when it's fun, and there's times when people play games (I happen to do this quite often if I get the chance), but it's not one continuous run giggling and holding hands with your fellow peers and professors through the daisy fields of academia. Sometimes you're holding hands with your peers as you drag each other along through the war-torn countryside of France in WW1, except it's not France it's Harvey Mudd and instead of Germans throwing mustard gas it's professors lobbing project due dates at you.

For example, last week we had due a Problem Set and a Project for VLSI. It's a chip design class where you learn how to build a good chip with low delay and power consumption by optimizing sizes and making a good layout. Well, the Problem Set was beastly, as in there were four of us working together 'til around 3am on it. Then two of us had to wrap up some other homework from another class. I was part of the two with more homework. Next day, up for a 9:30am class and more stuff to do, hitting sleep around maybe 2am. Up for 9am class and more work.

Now, the clincher is that the project due on Thursday was the optimization of a 20-bit adder. The optimization parameter was the product of the delay and the energy consumption for one clock cycle. If you don't know anything about electronics, then I'm sure you're completely lost. For those of you that do, you know this is some pretty serious stuff. For one thing, people have done really really fast 8, 16, and 32-bit adders with low power, but not much 20-bit work has been done. Add onto the fact there's about 5 ways just to do a basic adder without going into the many crazy combinations that make up tree adders, which is what people use nowadays to get the best delay possible for as little energy cost possible on 32-bit and 64-bit adders.

So, optimization is something that you can't quite just churn out from pencil and paper. You can do basic guesses, but it really comes down to simulation to find all the quirks. Plus, everyone's doing a slightly different adder, so it's harder to help each other out except on basic ideas of how to optimize. So, I spent about 1 hour just figuring out optimal supply voltage. Then another couple hours isolating and optimizing my critical path. Then some more optimizing a special component I was using called a Manchester Carry. Again, non-uber geek probably have no idea what I just said. Go Wikipedia it if you'd like.

So, details aside, I probably spent about 8+ hours optimizing that bugger. That's on top of other class times, meals, other homework, you get the idea. Not alot of sleep, to say the least. And of course the less sleep you have the less efficient you have, so it's a downward spiral. Thank goodness for weekends allowing you to reset the sleep counter.

I'm not completely bitter. That would have been last week. Now, I'm better, got some sleep, that project's finished, things are looking up. The best part of the project is that even though it took a lot of time, it's quite a feeling of accomplishment. Just suddenly finding the right balance and watching the goal parameter drop was amazing and kept me going through that process. Granted sometimes I was frustrated and tired and angry about certain things, but in the end it worked out. I guess that's similar to most of life. Things tend to work out.

Lesson of the day: don't expect it to be a free ride through college here. It's not all happiness and love and dancing around the lawn. There's tough times, tired times, angsty times, but then again, that's life. Plus, here we at least help each other out. E-mail your professor, bug someone down the hall, stay up late together cracking stories to keep each other going. Well, either that or sing a random song together. It was American Pie last time. And I really can't sing that high. At least not well.

No comments: