Dan Upton
Ph.D.
University of Virginia Department of Computer Science
About Me (the academic stuff):
I received a Bachelor of Science degree in Computer Science, with a minor in Math, from the University of Richmond in May 2005. I primarily worked as a web programmer, and spent one summer working with Barry Lawson working on automating security of distributed volunteer computations using machine learning techniques.
In January 2008, I received a Master of Engineering in Computer Science from UVA, working under Kim Hazelwood. My masters project (see link below) involved profiling the execution of a virtual execution environment (VEE) at the microarchitectural level to guide design of a core in a heterogeneous chip multiprocessor specifically for executing VEEs.
During the summer of 2008, I interned with the Pin team at Intel Hudson. During the summer and fall of 2009, I interned with the sampling collectors team at Intel Santa Clara.
In August 2011, I completed my dissertation on efficient profiling solutions for some important problems on modern multicore systems. As of September 2011, I work in the distributed failover group at Microsoft.
Dissertation:
Enabling Efficient Online Profiling of Homogeneous and Heterogeneous Multicore Systems, August 2011.
Papers:
- Dan Upton and Kim Hazelwood. Leveraging Binary Translation for Heterogeneous Profiling. Fourth Workshop on Architectural and Microarchitectural Support for Binary Translation, June 2011. [PDF]
- Dan Upton and Kim Hazelwood. Evaluating Linear Regression for Temperature Modeling at the Core Level. Ninth Annual Workshop on Duplicating, Deconstructing, and Debunking, June 2011. [PDF]
- Dan Upton and Kim Hazelwood. Design of a Custom VEE Core in a Chip Multiprocessor. Eighth IEEE Symposium on Application-Specific Processors (SASP), June 2010. [PDF]
- Dan Upton, Kim Hazelwood, Robert Cohn, and Greg Lueck. Improving Instrumentation Speed via Buffering. 2009 Workshop on Binary Instrumentation and Applications (WBIA'09), December 2009. [PDF] [PPT]
- Mojtaba Mehrara, Thomas Jablin, Dan Upton, David August, Kim Hazelwood, and Scott Mahlke. Multicore Compilation Strategies and Challenges. IEEE Signal Processing Magazine, November 2009. [PDF]
- Daniel Williams, Aprotim Sanyal, Dan Upton, Jason Mars, Sudeep Ghosh, and Kim Hazelwood. A Cross-Layer Approach to Heterogeneity and Reliability. Seventh ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2009), July 2009. [PDF]
- Jason Mars, Daniel Williams, Dan Upton, Sudeep Ghosh, and Kim Hazelwood. A Reactive Unobtrusive Prefetcher for Multicore and Manycore Architectures. Workshop on Software and Hardware Challenges of Manycore Platforms (SHCMP), June 2008. [PDF]
- Dan Upton and Kim Hazelwood. Heterogeneous Chip Multiprocessor Design for Virtual Machines. 2nd Workshop on Software Tools for Multicore Systems (STMCS), March 2007. [PDF] [PPT]
Posters:
- Dan Upton and Kim Hazelwood. Finding Cool Code: An Analysis of Source-Level Causes of Temperature Effects. 2011 IEEE International Symposium on Performance Analysis of Systems and Software, April 2011.
Projects:
- Dan Upton. Design of a Custom VEE Core in a Chip Multiprocessor. Masters Project, presented October 2007. [PDF] [PPT]
- Dan Upton. Detection and Subversion of Virtual Machines. CS851: Virtual Machines class project, May 2006. [PDF]
About Me (the non-academic stuff):
In no particular order:
- I review CDs (and concert or music-related DVDs) at antiMusic.
- I have a art and music website, UptonArt.net.
- I'm getting interested in photography, mostly nature.
- I'm like playing volleyball, basketball, soccer, racquetball, and ulimate frisbee.
- I like to go hiking.
- I like swing dancing, and I'm at least vauely familiar with several other types of dance.
