|
Department of Computer Science School of Engineering and Applied Science University of Virginia 151 Engineer's Way, P.O. Box 400740 Charlottesville, Virginia 22904-4740 E-mail: predator@cs.virginia.edu |
Other than prediction hints and predication, what more can a compiler offer to make branch prediction more accurate? Better yet, can the hardware branch predictor be done away with in toto? What other than page coloring can the operating system contribute to cache efficiency? We microarchitects have built ever wider pipelines, capable of keeping more instructions in-flight, while juggling the order of their dispatch and execution among several (sometimes redundent) functional units, with caches several times more capacious than all of main memory in my first 8088! But did we ever fully realize the potential of simpler, less resource-hungry designs?
My hypothesis is no, but once I have adequately defined and characterized
computing efficiency, I believe we will, and will achieve performance
(i.e., speed of computation) similar to less efficient contemporary
designs for a fraction of their cost.
Professional Biographical Sketch
I earned my Bachelor of Science in computer science from Georgia Tech in
December 1997. Between the conclusion of my undergraduate studies and the
beginning of my graduate studies, I worked as an adjunct research staff
member at the Institute for Defense Analyses Center for Computing Sciences.
In May 2000 and May 2003, I received, respectively, my Master's of
Computer Science and Ph.D. in computer science from the University of
Virginia. In December 2002, I returned as a full research staff member to
IDA CCS. In April 2007, I left IDA CCS to join NVIDIA Corporation's
CUDA (Compute Unified Device Architecture) group. After NVIDIA, in
January 2009, I joined Qualcomm as an optimization engineer on the Linux
team. And most recently, in March 2013, I joined NetApp as a member of
their Advanced Technology Group.
My graduate research advisor was Professor Kevin Skadron, head of the LAVA research group.
My resume (PDF document) may be viewed here.
About Me Personally
When I'm not doing research I like to lift weights at the gym
(max bench press ever is 345 pounds; current max is 310 pounds... I gotta get
back in shape), and watch
my favorite movies: Predator, Tombstone, Heat,
New Jack City, The Incredibles, Hulk,
The Incredible Hulk, Cloverfield, etc. More than all
those passe temps, however, I enjoy time with my wife Latitia
and my daughters Jasmine, Jade, and Jinjer; often, a simple trip to the
neighborhood
pizza parlor is a warm time of laughter, sharing, and restoration.
Additionally we enjoy playing tennis (badly), going out to read, and
making up games and jokes.
I like to read a LOT. Here is a list of tomes that I have recently completed (as well as a handful that I finished a good while ago). I may eventually get around to highlighting my favorites and possibly even reviewing them. Through reading, I have discovered a profound interest in history, law, and economics; I have always enjoyed (auto)biographies, thrillers, and science fiction. A few of my favorite books include: The Founding Brothers, Origins of the Bill of Rights, Free to Choose: A Personal Statement, The Rise of Theodore Roosevelt, Hannibal, and Altered Carbon.
My sports of choice are weight lifting and tennis.
Yo hago estudiar español. Cada día, me gusta leer BBCMundo.com. Entiendo mucho cuando escucho o leo, pero no puedo hablar o escribar muey bien, aún. Peudo leer algunos portugués y francés, también.
Finally, I present one of my all-time favorite quotes from FOX's The
Simpsons TV show. Quoth C. M. Burns (to his personal assistant Mr.
Smithers who was suffering from anaphaylactic shock following a bee sting
while at the helm of their tandem bicycle): ``Oh, Tuttle's Sunday trousers.
Fear not, I'll get you to a hospital -- the only way I know how. Smithers,
you infernal ninny, stick your left hoof on that flange, now! Now, if you
can get it through your bug-addled brain, jam that second mephitic
clodhopper of yours on the right doodad! Now pump those scrawny chicken
legs, you stuporous funker!'' Priceless! In case you're wondering,
mephitic is an adjective that means foul-smelling.
(I had to look it up.)
My Geekiness
I like to study advanced mathematics (my current passion being
non-standard analysis and its
application to calculus instruction;
I never found the topology text that I could follow... but I'm still looking),
and keep up-to-date with the latest
goings on in new microarchitectures; my favorite is the IBM PowerPC 970.
Other curious architectures that I enjoyed learning about include
Transmeta's Crusoe, Intel's Itanium 2, Fujitsu's SPARC64 V, and the
venerable Alpha 21264 and Motorola 68060.
Oh yeah: while I think Linux is extremely cool...


I have also taken a liking to Professor Tanenbaum's Minix 3 microkernel operating system; it's clean, elegant, and easy to grasp as a user, an administrator, and a kernel developer.
My favorite programming languages are C and assembly: pure, low-level, no-safety-net, I-know-what-I'm-doing, don't-need-a-language-to-hold-my-hand, hard-core coding. Among assembly languages, I am fluent in x86, MIPS, and SPARC, familiar with 680x0, and need to learn PowerPC. (How hard could it be?) Python is a pretty nice programming language, as well; it's an object-oriented programming language done right... and I don't much like object-oriented programming; ditto for Scheme and functional programming.
And finally: