| Craig Zilles's Publications For student theses, see my homepage 2008
Proof by Incomplete Enumeration and Other Logical Misconceptions
Using Hardware Memory Protection to Build a High-Performance, Strongly Atomic Hybrid Transactional Memory
A Characterization of Instruction-Level Error Derating and its Implications for Error Detection
An Analysis of I/O And Syscalls In Critical Sections And Their Implications for Transactional Memory
Branch-on-Random
Accurate Critical Path Analysis via Random Trace Construction
Fundamental Performance Challenges in Horizontal Fusion of In-Order Cores
Identifying Important and
Difficult Concepts in Introductory Computing Courses using a Delphi
Process
"Hardware Atomicity for Reliable Software Speculation" has been selected for IEEE Micro Top Picks (2008)
2007
Accordion Arrays: Selective Compression of Unicode Arrays in Java
Implications of False Conflict Rate Trends for Robust Software Transactional Memory
An Analysis of I/O and Syscalls in Critical Sections and Their Implications for Transactional Memory
Delta Execution for Software Reliability
Dependence-based Scheduling Revisited: A Tale of Two Baselines
Hardware Atomicity for Reliable Software Speculation
Transactional Memory and the Birthday Paradox
2006
Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution
Extending Hardware Transactional Memory to Support Non-busy Waiting and Non-transactional Actions
Student Misconceptions in an Introductory Logic Design Course
Probabilistic Counter Updates for Predictor Hysteresis and Stratification
2005
A Criticality Analysis of Clustering in Superscalar Processors
Probabilistic Counter Updates for Predictor Hysteresis and Bias
On the Energy Efficiency of If-Conversion in Superscalar Processors
Decomposing the Load-Store Queue by Function for Power Reduction and Scalability
Challenges to Providing Performance Isolation in Transactional Memories
"What does a CPU have in common with a fast food restaurant?" A Reflection on Emphasizing the Big Ideas of Computer Science in a Computer Organization Class
Formally Defining and Verifying Master/Slave Speculative Parallelization
TraceVis: An Execution Trace Visualization Tool
Reactive Techniques for Controlling Software Speculation
SPIMbot: An Engaging, Problem-based Approach to Teaching Assembly Language Programming
2004
Decomposing the Load-Store Queue by Function for Power Reduction and Scalability
Increasing Interactivity by Predicting User Actions
Targeted Path Profiling: Lower Overhead Path Profiling for Staged Dynamic Optimization Systems
Formal
Verification of MSSP
2002
Master/Slave
Speculative Parallelization
Master/Slave Speculative Parallelization and Approximate Code
Master/Slave Speculative
Parallelization with Distilled Programs
2001
Time-Shifted Modules: Exploiting
Code Modularity for Fine Grain Parallelism
Execution-based
Prediction Using Speculative Slices
Benchmark Health Considered
Harmful
A Programmable
Co-processor for Profiling
2000 and before
Speculative
Miss/Execute Decoupling
Understanding the
Backward Slices of Performance Degrading Instructions
The Use of
Multithreading for Exception Handling
Characterizing a Java Implementation of TPC-W
A Constraint-based God-object Method For
Haptic Display
Haptic Rendering: Programming Touch Interaction with
Virtual Objects
Haptic Rendering with the Toolhandle Haptic
Interface
|