2020
Sound garbage collection for C using pointer provenance.
Proc. ACM Program. Lang., 2020
Relaxed Persist Ordering Using Strand Persistency.
Proceedings of the 47th ACM/IEEE Annual International Symposium on Computer Architecture, 2020
2019
Language Support for Memory Persistency.
IEEE Micro, 2019
Iodine: Fast Dynamic Taint Tracking Using Rollback-free Optimistic Hybrid Analysis.
Proceedings of the 2019 IEEE Symposium on Security and Privacy, 2019
ShortCut: accelerating mostly-deterministic code regions.
Proceedings of the 27th ACM Symposium on Operating Systems Principles, 2019
Software Wear Management for Persistent Memories.
Proceedings of the 17th USENIX Conference on File and Storage Technologies, 2019
2018
Persistency for synchronization-free regions.
Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2018
Optimistic Hybrid Analysis: Accelerating Dynamic Analysis through Predicated Static Analysis.
Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, 2018
2017
Knockoff: Cheap Versions in the Cloud.
login Usenix Mag., 2017
Language-level persistency.
Proceedings of the 44th Annual International Symposium on Computer Architecture, 2017
2016
JetStream: Cluster-Scale Parallelization of Information Flow Queries.
Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation, 2016
Delegated persist ordering.
Proceedings of the 49th Annual IEEE/ACM International Symposium on Microarchitecture, 2016
High-Performance Transactions for Persistent Memories.
Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, 2016
2015
Tango: Accelerating Mobile Applications through Flip-Flop Replication.
GetMobile Mob. Comput. Commun., 2015
Memory Persistency: Semantics for Byte-Addressable Nonvolatile Memory Technologies.
IEEE Micro, 2015
Accelerating Mobile Applications through Flip-Flop Replication.
Proceedings of the 13th Annual International Conference on Mobile Systems, 2015
Toward Eidetic Distributed File Systems.
Proceedings of the 7th USENIX Workshop on Hot Topics in Storage and File Systems, 2015
2014
Race detection for event-driven mobile applications.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2014
Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation, 2014
Proceedings of the ACM/IEEE 41st International Symposium on Computer Architecture, 2014
2013
A Low-Cost Audio Computer for Information Dissemination Among Illiterate People Groups.
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
IEEE Trans. Circuits Syst. I Regul. Pap., 2013
...And Region Serializability for All.
Proceedings of the 5th USENIX Workshop on Hot Topics in Parallelism, 2013
Parallelizing data race detection.
Proceedings of the Architectural Support for Programming Languages and Operating Systems, 2013
2012
DoublePlay: Parallelizing Sequential Logging and Replay.
ACM Trans. Comput. Syst., 2012
Chimera: hybrid program analysis for determinism.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2012
2011
Detecting and surviving data races using complementary schedules.
Proceedings of the 23rd ACM Symposium on Operating Systems Principles 2011, 2011
Operating system support for application-specific speculation.
Proceedings of the European Conference on Computer Systems, 2011
2010
ACM Trans. Comput. Syst., 2010
Multi-stage replay with crosscut.
Proceedings of the 6th International Conference on Virtual Execution Environments, 2010
Transistors to toys: teaching systems to freshmen.
Proceedings of the 6th International Conference on Virtual Execution Environments, 2010
A case for custom silicon in enabling low-cost information technology for developing regions.
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
Proceedings of the First ACM Annual Symposium on Computing for Development, 2010
Respec: efficient online multiprocessor replayvia speculation and external determinism.
Proceedings of the 15th International Conference on Architectural Support for Programming Languages and Operating Systems, 2010
2009
Tolerating Latency in Replicated State Machines Through Client Speculation.
Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation, 2009
2008
ACM Trans. Comput. Syst., 2008
Execution replay of multiprocessor virtual machines.
Proceedings of the 4th International Conference on Virtual Execution Environments, 2008
VMwareDecoupling Dynamic Program Analysis from Execution in Virtual Environments.
Proceedings of the 2008 USENIX Annual Technical Conference, 2008
Parallelizing security checks on commodity hardware.
Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems, 2008
2007
Pocket Hypervisors: Opportunities and Challenges.
Proceedings of the Eighth IEEE Workshop on Mobile Computing Systems and Applications, 2007
2006
Speculative execution in a distributed file system.
ACM Trans. Comput. Syst., 2006
SubVirt: Implementing malware with virtual machines.
Proceedings of the 2006 IEEE Symposium on Security and Privacy (S&P 2006), 2006
Rethink the Sync (Awarded Best Paper!).
Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI '06), 2006
2005
ACM Trans. Comput. Syst., 2005
Debugging Operating Systems with Time-Traveling Virtual Machines (Awarded General Track Best Paper Award!).
Proceedings of the 2005 USENIX Annual Technical Conference, 2005
ExtraVirt: detecting and recovering from transient processor faults.
Proceedings of the 20th ACM Symposium on Operating Systems Principles 2005, 2005
Detecting past and present intrusions through vulnerability-specific predicates.
Proceedings of the 20th ACM Symposium on Operating Systems Principles 2005, 2005
Enriching Intrusion Alerts Through Multi-Host Causality.
Proceedings of the Network and Distributed System Security Symposium, 2005
2004
An automated feedback system for computer organization projects.
IEEE Trans. Educ., 2004
2003
Operating System Support for Virtual Machines.
Proceedings of the General Track: 2003 USENIX Annual Technical Conference, 2003
2002
ReVirt: Enabling Intrusion Analysis Through Virtual-Machine Logging and Replay.
Proceedings of the 5th Symposium on Operating System Design and Implementation (OSDI 2002), 2002
The Impact of Recovery Mechanisms on the Likelihood of Saving Corrupted State.
Proceedings of the 13th International Symposium on Software Reliability Engineering (ISSRE 2002), 2002
2001
The Design and Verification of the Rio File Cache.
IEEE Trans. Computers, 2001
When Virtual is Better than Real.
Proceedings of HotOS-VIII: 8th Workshop on Hot Topics in Operating Systems, 2001
2000
Exploring Failure Transparency and the Limits of Generic Recovery.
Proceedings of the 4th Symposium on Operating System Design and Implementation (OSDI 2000), 2000
Whither Generic Recovery from Application Faults? A Fault Study using Open-Source Software.
Proceedings of the 2000 International Conference on Dependable Systems and Networks (DSN 2000) (formerly FTCS-30 and DCCA-8), 2000
1999
Fast cluster failover using virtual memory-mapped communication.
Proceedings of the 13th international conference on Supercomputing, 1999
Proceedings of The Seventh Workshop on Hot Topics in Operating Systems, 1999
The Systematic Improvement of Fault Tolerance in the Rio File Cache.
Proceedings of the Digest of Papers: FTCS-29, 1999
1998
Integrating Reliable Memory in Databases.
VLDB J., 1998
Persistent Messages in Local Transactions.
Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, 1998
How Fail-Stop are Faulty Programs?
Proceedings of the Digest of Papers: FTCS-28, 1998
1997
A Comment on "An Analytical Model for Designing Memory Hierarchies".
IEEE Trans. Computers, 1997
Free Transactions With Rio Vista.
Proceedings of the Sixteenth ACM Symposium on Operating System Principles, 1997
1996
An Analytical Model for Designing Memory Hierarchies.
IEEE Trans. Computers, 1996
Comparing disk and memory's resistance to operating system crashes.
Proceedings of the Seventh International Symposium on Software Reliability Engineering, 1996
The Rio File Cache: Surviving Operating System Crashes.
Proceedings of the ASPLOS-VII Proceedings, 1996
1995
Striping in a RAID Level 5 Disk Array.
Proceedings of the 1995 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems, 1995
1994
A New Approach to I/O Performance Evaluation - Self-Scaling I/O Benchmarks, Predicted I/O Performance.
ACM Trans. Comput. Syst., 1994
Performance and Design Evaluation of the RAID-II Storage Server.
Distributed Parallel Databases, 1994
RAID: High-Performance, Reliable Secondary Storage
ACM Comput. Surv., 1994
RAID-II: A High-Bandwidth Network File Server.
,
,
,
,
,
,
,
,
,
,
Proceedings of the 21st Annual International Symposium on Computer Architecture. Chicago, 1994
1993
Storage performance-metrics and benchmarks.
Proc. IEEE, 1993
1990
An Evaluation of Redundant Arrays of Disks Using an Amdahl 5890.
Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems, 1990
Maximizing Performance in a Striped Disk Array.
Proceedings of the 17th Annual International Symposium on Computer Architecture, 1990
1989
Introduction to redundant arrays of inexpensive disks (RAID).
Proceedings of the Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage, 1989