Chad Huneycutt

Ph.D. Candidate
Georgia Tech College of Computing

Picture of Caleb and me, taken ca. 2000


Biography

I am a Ph.D. candidate in Computer Architecture with an interest in dynamic software techniques (dynamic compilation, dynamic binary rewriting, etc.) that improve system behavior. My advisor is Santosh Pande, and I also worked with Ken Mackenzie from 1998 to 2003. I received my B.S in Computer Science from Furman University in Greenville, SC in 1997.


Research
Software Caching

Cache hardware in a typical set-associative cache consumes a non-trivial amount of transistors -- and consequently power -- compared to the same amount of plain SRAM. Using dynamic binary translation we simulate a fully-associative cache using a regular SRAM array. Full associativity provides some real-time guarantees about miss rates and a more application-writer-friendly programming model. Removing the caching hardware (i.e., tags, comparators, and the associated wires) can also reduce the power consumed by the cache.

Software Bubbling

Software Bubbling is a technique that allows aggressive scheduling of loops bodies which may contain aliasing. Using the predication features available in some modern processors, the loop is scheduled assuming there is no aliasing. At runtime, when the actual values of possible aliased addresses are known, we check for aliasing. If there is no aliasing, then the aggressive loop body is executed; if there is aliasing, then the instructions in the loop are predicated in such a way that the loop can be executed safely.


Publications
C.Huneycutt, J. Fryman, K. Mackenzie, "Software Caching Using Dynamic Binary Rewriting for Embedded Devices," Proceedings of the International Conference on Parallel Processing, August 2002, p.621-630. (pdf)
J. Fryman, et al., "Energy Efficient Network Memory for Ubiquitous Devices," accepted to IEEE MICRO, Sep/Oct 2003. (pdf).
B. Goldberg, E. Crutcher, C. Huneycutt, K. Palem, "Software Bubbles: Using Predication to Compensate for Aliasing in Software Pipelines," International Conference on Parallel Architectures and Compilation Techniques (PACT), September, 2002. (pdf)
J. Fryman, C. Huneycutt, K. Mackenzie, "Investigating a SoftCache using Dynamic Rewriting", Proceedings of the 4th Feedback Directed and Dynamic Optimization workshop, Nov. 2001. (pdf)
B. Goldberg, et al., "Software Bubbles: Using Predication to Compensate for Aliasing in Software Pipelines," GIT-CC-01-16. (pdf)
C. Huneycutt, K. Mackenzie, "Software Caching Using Dynamic Binary Rewriting for Embedded Devices", white paper, March, 2001. (pdf)

Classes

Compiler Construction
Computer Graphics
Distributed Computing
Machine Learning
Computer Networks
Computer Architecture
Advanced Operating Systems
Analysis of Algorithms
EPIC Compiler Design
EPIC Architectures
Computability, Algorithms and Complexity
Object-Oriented Systems
Advanced VLSI Design
Integrated Circuit Fabrication