Daniel S. Myers
- I am a graduate student in the Computer Sciences department at the University of Wisconsin in Madison, advised by Mary Vernon. My teaching and research work focuses on the use of analytic performance modeling to build better computer systems.
- 4378 Computer Sciences Building
- Ph.D. in Computer Sciences, University of Wisconsin-Madison, expected completion in 2015
M.S. in Computer Engineering, University of Florida, 2005
B.S. in Computer Engineering (summa cum laude), University of Florida, 2004
- My dissertation work focuses on the performance characteristics of storage systems in modern datacenters.
Modern storage systems in internet-scale applications must store vast amounts of data, protect it from loss, and deliver consistent performance, all for minimal capital and energy costs. New technologies, including solid-state drives, are competing to replace hard disk drives in certain applications. Understanding what really drives storage performance is the key to creating the next-generation of high-performance systems.
I approach these problems using the techniques of analytic performance modeling. Analytic models are mathematical descriptions of the essential characteristics of a system, often based on applied statistics or queueing theory. A properly validated model aids system designers by precisely identifying the parameters that actually drive performance. Analytic techniques can provide a faster and lower-cost alternative to simulation for exploring new system architectures and design tradeoffs.
Modeling storage performance is a challenging problem, which creates opportunities to advance the state of the art.
For example, storage workloads often exhibit bursty behavior, which conflicts with the assumptions of many traditional modeling techniques, and the behavior of disk drives is highly workload dependent.
Traditional models may predict the mean response time of a system, but service level objectives for storage systems are often based on the tail of the latency distribution. Thus, there is a need for storage models that provide accurate estimates of the entire latency distribution, not just the average performance.
My current focus is storage modeling, but I have also done some purely theoretical queueing theory, notably the development of a new technique for approximating queue length probability distributions.
- I was a summer research intern at Google's Madison office in 2011. I worked with Google's engineers to design performance models for low-level elements of Google's storage infrastructure.
Sandia National Laboratories
- Prior to attending Wisconsin, I served as a Senior Member of Technical Staff at Sandia National Laboratories
in Albuquerque, NM from 2006 to 2008.
My work focused on applying image processing and remote sensing techniques to specialized national security applications. Some of my unclassified projects included investigating the effects of compression on satellite data, building image processing tools for electron microscope images, and creating software to validate reflective particle tags, a technology used to seal and secure sensitive nuclear materials.
I held a Dept. of Energy TS/SCI security clearance during my time at Sandia.
- In 2012, I was the instructor for CS 547: Computer System Modeling Fundamentals. This class, taught at the
advanced undergraduate or introductory graduate level, covers the basic techniques of performance modeling, including
probability, queueing network models, and mean-value analysis. We also discussed several examples
drawn from real-world applications.
The course page, along with my notes on modeling topics, is archived here.
Introduction to CS
- From 2009 to 2012, I taught an introductory summer computer science course through the
Wisconsin Center for Academically Talented Youth. WCATY's summer programs bring
high-achieving students from around Wisconsin to Madison for a three-week residential camp where they can complete
the equivalent of an entire high school course in three weeks.
This course covered the standard material of an introductory CS course in an accelerated fashion, including basic programming (initially in Java, later Python), machine organization, sorting and searching algorithms, and graphics programming.
- In 2009 and 2010 I was a TA for CS 525: Linear Programming.