![]() |
Mona Attariyan |
|
Jason Flinn |
|---|---|---|---|
|
|
Brett Higgins |
|
Kaushik Veeraraghavan |
To see a list of the publications below sorted by date, click here.
This joint project with Peter Chen and Satish Naryanasamy aims to
develop new tools and methodologies to help write more secure and
reliable concurrent programs for multicore and manycore machines. Our
initial research efforts focused on deterministic replay, which
records and reproduces the execution of a hardware or software system.
While it is well known how to replay uniprocessor systems, replaying
shared memory multiprocessor systems at low overhead on commodity
hardware is still an open problem. Respec targets online
replay, in which the recorded and replayed processes execute
concurrently. DoublePlay targets offline replay, in which the
replayed process can be executed one or more times after the recorded
process has completed execution. Both systems substantially lower the
cost of multithreaded replay on multiprocessors compared to prior work
in the area.
DoublePlay also introduced the technique of uniparallelism, which
allows applications to realize the same benefits of executing on a
uniprocessor, while still allowing performance to scale with
increasing processors. A uniparallel execution consists of both a
thread-parallel and epoch-parallel execution of the same program. The
epoch-parallel execution runs all threads of a given epoch on a single
processor at a time; this enables the use of techniques that run only
on a uniprocessor. Unlike a traditional thread-parallel execution
that scales with the number of cores by running different threads on
different cores, an epoch-parallel execution achieves scalability in a
different way, namely by concurrently running different epochs (time
slices) of the execution on multiple cores. Epoch-parallel execution
thus requires the ability to predict future program states; such
predictions are generated by running the second, thread-parallel
execution concurrently. DoublePlay used uniparallel execution to
implement efficient offline deterministic replay. Frost uses
uniparallel execution for a different purpose: detecting and surviving
data races.
DoublePlay: Parallelizing Sequential Logging and Replay (extended version of ASPLOS '11 publication)
Detecting and Surviving Data Races using Complementary Schedules
DoublePlay: Parallelizing Sequential Logging and Replay
Respec: Efficient Online Multiprocessor Replay via Speculation and External Determinism
Speculator provides Linux kernel support for speculative execution.
It allows multiple processes to share speculative state by tracking
causal dependencies propagated through inter-process communication.
It guarantees correct execution by preventing speculative processes
from externalizing output, e.g., sending a network message or writing
to the screen, until the speculations on which that output depends
have proven to be correct.
Speculator improves the performance of distributed file systems by
masking I/O latency and increasing I/O throughput. Rather than block
during a remote operation, a file system predicts the operation's
result, then uses Speculator to checkpoint the state of the calling
process and speculatively continue its execution based on the
predicted result. If the prediction is correct, the checkpoint is
discarded; if it is incorrect, the calling process is restored to the
checkpoint, and the operation is retried. We have modified the
client, server, and network protocol of two distributed file systems
to use Speculator. For PostMark and Andrew-style benchmarks,
speculative execution results in a factor of 2 performance improvement
for NFS over local-area networks and an order of magnitude improvement
over wide-area networks. For the same benchmarks, Speculator enables
the Blue File System (see below) to provide the consistency of
single-copy file semantics and the safety of synchronous I/O, yet
still outperform current distributed file systems with weaker
consistency and safety.
We have more recently applied the principles behind Speculator to
provide guarantees equivalent to those provided by synchronous I/O on
local file system. We are currently investigating the applicability
of OS-level speculative execution to other domains, including
configuration management, fault tolerance, and security.
Operating System Support for Application-Specific Speculation
Speculative Execution in a Distributed File System
Rethink the Sync
Parallelizing Security Checks on Commodity Hardware
Rethink the Sync (extended version of OSDI '06 publication)
Tolerating latency in replicated state machines through client speculation
Automatic Root-Cause Diagnosis of Performance Anomalies in Production Software
Automating Configuration Troubleshooting with Dynamic Information Flow Analysis
Automatically Generating Predicates and Solutions for Configuration Troubleshooting
Using Causality to Diagnose Configuration Bugs
AutoBash: Improving configuration management with operating system causality analysis
Mobile devices face a diverse and dynamic set of networking options.
Using those options to the fullest requires knowledge of application
intent. Intentional Networking is a simple but powerful mechanism for
handling network diversity. Applications supply a declarative label
for network transmissions, and the system matches transmissions to the
most appropriate network. The system may also defer and re-order
opportunistic transmissions subject to application-supplied mutual
exclusion and ordering constraints.
Informed Mobile Prefetching
Intentional Networking: Opportunistic Exploitation of Mobile Network Diversity
The Case for Intentional Networking
BlueFS is a distributed storage solution that targets consumer
electronics devices in the digital home. Our goal is to seamlessly
link together all of a user's content (photos, music, documents, etc.)
and all of their devices (computers, DVRs, cameras, MP3 players, and
the like). BlueFS supports extensibility to allow users to inject
type-specific functionality into the file-system itself to improve
handling of new types of data and clients.
Our work with BlueFS is also investigating how to build
energy-efficient distributed file systems for pervasive computing. By
making energy conservation a first-class design goal from the outset,
we will enable pervasive computers to maintain connectivity without
compromising battery lifetime. This will allow pervasive computing
devices to be incorporated into everyday activities.
Energy-Efficiency and Storage Flexibility in the Blue File System
Drive-Thru: Fast, Accurate Evaluation of Storage Power Management
EnsemBlue: Integrating Distributed Storage and Consumer Electronics
Cobalt: Separating content distribution from authorization in distributed file systems
Consumer Electronics Meets Distributed Storage
Sprockets: Safe extensions for distributed file systems
quFiles: A New Abstraction for Mobile Data Management
Trapper Keeper: Using Virtualization to Add Type-Awareness to File Systems
quFiles: The Right File at the Right Time
TrapperKeeper: The Case for Using Virtualization to Add Type Awareness to File Systems
quFiles: The Right File at the Right Time (extended version of FAST '10 publication)
Current timeout-based power management strategies often
substantially degrades performance and may even increase
overall energy usage when used with latency-sensitive applications.
We are developing self-tuning power management algorithms that adapt
to the access patterns and intent of applications, the characteristics
of individual hardware components, and the energy usage of the
computing platform. Our preliminary work implementing self-tuning
power management for wireless networks shows considerable promise: we
are able to substantially improve upon the performance and energy
conservation provided by current 802.11b power management strategies.
Self-Tuning Wireless Network Power Management
Self-Tuning Wireless Network Power Management (extended version of MOBICOM '03 publication)
Ghosts in the Machine: Interfaces for Better Power Management
PAN-on-Demand: Building Self-Organizing PANs for Better Power Management
PAN-on-Demand: Leveraging Multiple Radios to Build Self-Organizing Energy-Efficient PANs
It is extremely difficult to execute demanding applications in
pervasive computing environments. Size and weight restrictions make
mobile clients resource-poor; they have less powerful processors, less
storage capacity, and poorer network connectivity than corresponding
desktop and server devices. Often, their resource capacity is
insufficient to run demanding, interactive applications such as speech
recognition, language translation, and augmented reality. Remote
execution offers a solution: clients can partition such applications
and execute the most demanding portions on remote servers located in
the fixed infrastructure. This allows applications to simultaneously
benefit from the mobility of small devices and the greater processing
power of larger, fixed devices.
We are building a system, called Slingshot, that dynamically
discovers servers in the pervasive infrastructure and
opportunistically uses them to augment the capacities of
resource-impoverished clients. Slingshot monitors the resources
offered by servers and estimates application needs. It then
dynamically partitions applications running on a client and executes
components remotely to achieve better performance, superior quality,
and reduced usage of battery energy. Slingshot supports
latency-sensitive applications that require sub-second response time
by migrating server components to follow the movement of mobile
clients.
Slingshot: Deploying Stateful Services in Wireless Hotspots
Portable Storage Support for Cyber Foraging
Chimera: Hybrid Program Analysis for Determinism
Can Deterministic Replay be an Enabling Tool for Mobile Computing?
In-Cloud Security Services for Mobile Devices
Data Staging on Untrusted Surrogates
The Case for Cyber Foraging
Balancing Performance, Energy, and Quality in Pervasive Computing
Self-Tuned Remote Execution for Pervasive Computing
Managing Battery Lifetime with Energy-Aware Adaptation
Extending Mobile Computer Battery Life through Energy-Aware Adaptation
Reducing the Energy Usage of Office Applications
Using History to Improve Mobile Application Adaptation
Quantifying the Energy Consumption of a Pocket Computer and a Java Virtual Machine
Power and Energy Characterization of the Itsy
Pocket Computer (Version 1.5)
Energy-Aware Adaptation for Mobile Applications
PowerScope: A Tool for Profiling the Energy
Usage of Mobile Applications
Agile Application-Aware Adaptation for Mobility
Visual Proxy: Exploiting OS Customizations
without Application Source Code
Version 1.1.1 of RPC3 - yet another RPC package.
Version 2.1.0 of BlueFS - a
distributed file system that targets small, pervasive computers. This
version includes support for persistent queries and partial support
for consumer electronic devices. This version does not include any
ensemble support, nor does it include full support for CEDs. Thus, it
represents a stable but intermediate point between the OSDI 2004 and
2006 papers.
Version 1.0.0 of STPM - self-tuning power management for network and storage devices (includes ghost hints). This was the version we used for the OSDI 2004 paper. Works only on Linux 2.4 kernels.
A Linux 2.6 port of STPM provided by Cihan Kömeçoglu - cihan [at] enderunix.org.
We received several requests for the durability/ordering tests used
in "Rethink the Sync" above. So here they are.
Source code for the data staging project is available on the Intel
Research Pittsburgh web site. Data
stating is released under a BSD-style license.
Source code for PowerScope is also available under a GPL.
Source code for any other project listed above is generally available on-request (documentation and nice packaging might be lacking, however).
Operating system support for uniparallelism
Overview
Kaushik Veeraraghavan, Dongyoon Lee, Benjamin Wester, Jessica Ouyang, Peter M. Chen, and Jason Flinn, and Satish Narayanasamy
ACM Transactions on Computer Systems, Volume 30, Number 1, February 2012.
Abstract,
PDF.
Kaushik Veeraraghavan, Peter M. Chen, Jason Flinn, and Satish Narayanasamy
Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP), Cascais, Portugal, October 2011.
Abstract,
PDF,
Talk slides.
Kaushik Veeraraghavan, Dongyoon Lee, Benjamin Wester, Jessica Ouyang, Peter M. Chen, and Jason Flinn, and Satish Narayanasamy
Proceedings of the 16th International Conference on
Architectural Support for Programming Languages and Operating Systems
(ASPLOS), Newport Beach, CA, March 2011. Best paper award.
Abstract,
PDF,
Talk slides.
Dongyoon Lee, Benjamin Wester, Kaushik Veeraraghavan, Satish Narayanasamy, Peter M. Chen, and Jason Flinn
Proceedings of the Fifteenth International Conference on
Architectural Support for Programming Languages and Operating Systems
(ASPLOS), Pittsburgh, PA, March 2010.
Abstract,
PDF,
Talk slides.
Speculator: Generic support for speculative execution in the Linux kernel
Overview
Publications
Benjamin Wester, Peter M. Chen, and Jason Flinn
Proceedings of the European Conference on Computer Systems (EuroSys), Salzburg, Austria, April 2011.
Abstract,
PDF,
Talk slides.
Edmund B. Nightingale, Peter M. Chen, and Jason Flinn
Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP), Brighton, United Kingdom, October 2005. Award paper.
Abstract,
Postscript,
PDF,
Talk slides.
Note: the following revised version appeared in ACM Transactions on Computer Systems, Volume 24, Number 4, November 2006,
PDF.
Edmund B. Nightingale, Kaushik Veeraraghavan, Peter M. Chen, and Jason Flinn
Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI), Seattle, WA, November 2006. Best paper award.
Abstract,
Postscript,
PDF,
Talk slides.
Edmund B. Nightingale, Daniel Peek, Peter M. Chen, and Jason Flinn
Proceedings of the Thirteenth International Conference on
Architectural Support for Programming Languages and Operating Systems
(ASPLOS), Seattle, WA, March 2008.
Abstract,
Postscript,
PDF,
talk slides.
Edmund B. Nightingale, Kaushik Veeraraghavan, Peter M. Chen, and Jason Flinn
ACM Transactions on Computer Systems, Volume 26, Number 3, September 2008.
Abstract,
PDF.
Benjamin Wester, James Cowling, Edmund B. Nightingale, Peter M. Chen, Jason Flinn, and Barbara Liskov
Proceedings of the 6th USENIX Symposium on Network Systems Design and Implementation (NSDI), Boston, MA, April 2009.
Abstract,
Postscript,
PDF.
Tools for Automating Configuration Troubleshooting
Mona Attariyan, Michael Chow, and Jason Flinnn
Technical Report CSE-TR-575-11, University of Michigan Computer Science and Engineering, October 2011.
Abstract,
PDF.
Mona Attariyan and Jason Flinn
Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI), Vancouver, BC, October 2010.
Abstract,
PDF,
Talk slides.
Ya-Yunn Su and Jason Flinn
Proceedings of the USENIX Annual Technical Conference, San Diego, CA, June 2009.
Abstract,
Postscript,
PDF.
Mona Attariyan and Jason Flinn
Proceedings of the USENIX Annual Technical Conference, Boston, MA, June 2008.
Abstract,
Postscript,
PDF.
Ya-Yunn Su, Mona Attariyan, and Jason Flinn
Proceedings of the 21st ACM Symposium on Operating Systems Principles (SOSP), Stevenson, WA, October 2007.
Abstract,
Postscript,
PDF.
Intentional Networking
Overview
Publications
Brett D. Higgins, Jason Flinn, T. J. Giuli, Brian Noble, Christopher Peplin, and David Watson
In Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services (MobiSys), Low Wood Bay, United Kingdom, June 2012.
Abstract,
PDF.
Brett D. Higgins, Azarias Reda, Timur Aperovich, Jason Flinn, T. J. Giuli, Brian Noble, and David Watson
In Proceedings of the 16th Annual International Conference on Mobile Computing and Networking (MobiCom), Chicago, IL, September 2010.
Abstract,
PDF,
Jason Flinn, T. J. Giuli, Brett Higgins, Brian Noble, Azarias Reda, and David Watson
Proceedings of the Tenth Workshop on Mobile Computing Systems and Applications (HotMobile), Santa Cruz, CA, February 2009.
Abstract,
Postscript,
PDF,
Talk slides.
BlueFS: A distributed file system for pervasive computing
Overview
Publications
Edmund B. Nightingale and Jason Flinn
Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI), San Francisco, CA, December 2004.
Abstract,
Postscript,
PDF,
Talk slides.
Daniel Peek and Jason Flinn
Proceedings of the USENIX Annual Technical Conference, Anaheim, CA, April 2005.
Abstract,
Postscript,
PDF,
Talk slides.
Daniel Peek and Jason Flinn
Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI), Seattle, WA, November 2006,
Abstract,
Postscript,
PDF,
Talk slides.
Kaushik Veeraraghavan, Andrew Myrick, and Jason Flinn
Proceedings of the 5th USENIX Conference on File and Storage Technologies (FAST), San Jose, CA, February 2007.
Abstract,
Postscript,
PDF,
Talk slides.
Daniel Peek and Jason Flinn
IEEE Computer, Vol. 40, No. 2, Invisible Computing Column, February 2007.
Daniel Peek, Edmund B. Nightingale, Brett D. Higgins, Puspesh Kumar, and Jason Flinn
Proceedings of the 2007 USENIX Annual Technical Conference Santa Clara, CA, June 2007.
Abstract,
Postscript,
PDF.
Kaushik Veeraraghavan, Edmund B. Nightingale, Jason Flinn, and Brian D. Noble
Proceedings of the Ninth Workshop on Mobile Computing Systems and Applications (HotMobile), Napa, CA, February 2008.
Abstract,
PDF,
Talk slides.
Daniel Peek and Jason Flinn
Technical Report CSE-TR-550-09, Computer Science and Engineering Division, University of Michigan, May 2009.
Abstract,
PDF.
Kaushik Veeraraghavan, Jason Flinn, Edmund B. Nightingale, and Brian Noble
Proceedings of the 8th USENIX Conference on File and Storage Technologies (FAST), San Jose, CA, February 2010. Best paper award.
Abstract,
PDF,
Talk slides.
Daniel Peek and Jason Flinn
Proceedings of the 2nd Workshop on Hot Topics in Storage and File Systems (HotStorage), Boston, MA, June 2010.
Abstract,
PDF.
Kaushik Veeraraghavan, Jason Flinn, Edmund B. Nightingale, and Brian Noble
ACM Transactions on Storage, Volume 6, Number 3, September 2010.
Abstract,
PDF.
Past Projects
Self-tuning power management
Overview
Publications
Manish Anand, Edmund B. Nightingale, and Jason Flinn
Proceedings of the 9th Annual International Conference on Mobile Computing and Networking (MOBICOM '03), San Diego, CA, September 2003.
Abstract,
Postscript,
PDF,
Talk slides.
Manish Anand, Edmund B. Nightingale, and Jason Flinn
Wireless Networks, Vol. 11, No. 4, July 2005.
Abstract,
Postscript,
PDF.
Manish Anand, Edmund B. Nightingale, and Jason Flinn
Proceedings of the 2nd Annual International Conference on Mobile Systems, Applications, and Services (MobiSys '04), Boston, MA, June 2004. Best paper award.
Abstract,
Postscript,
PDF,
Talk slides.
Manish Anand and Jason Flinn
Technical Report CSE-TR-524-06, Computer Science and Engineering Division, University of Michigan.
Abstract,
Postscript,
PDF.
Manish Anand and Jason Flinn
Proceedings of the Fifth Annual International Conference on Mobile and Ubiquitous Systems: Computing, Networking, and Services, Dublin, Ireland, July 2008 (this is an improved version of the tech report above).
Abstract,
PDF.
Slingshot: support for mobile services
Ya-Yunn Su and Jason Flinn
Proceedings of the 3rd Annual Conference on Mobile Systems, Applications, and Services (MobiSys '05), Seattle, WA, June 2005.
Abstract,
Postscript,
PDF,
Talk slides.
Ya-Yunn Su and Jason Flinn
Proceedings of the International Workshop on Software Support for Portable Storage, San Francisco, CA, March 2005.
Abstract,
Postscript,
PDF.
Other Publications
Deterministic replay
Dongyoon Lee, Peter M. Chen, Jason Flinn, and Satish Narayanasamy
Proceedings of Programming Language Design and Implementation (PLDI), Beijing, China, June 2012.
Abstract,
PDF.
Jason Flinn and Z. Morley Mao
Proceedings of the 12th Workshop on Mobile Computing Systems and Applications (HotMobile), Phoenix, AZ, March 2011.
Abstract,
PDF.
Mobile security
Jon Oberheide, Kaushik Veeraraghavan, Evan Cooke, Jason Flinn, and Farnam Jahanian
Proceedings of the First Workshop on Virtualization and Mobile Computing, Breckenridge, CO, June 2008.
Data staging
Jason Flinn, Shafeeq Sinnamohideen, Niraj Tolia, and M. Satyanarayanan
Proceedings of the 2nd USENIX Conference on File and Storage Technology, San Francisco, CA, March/April 2003.
Abstract,
Postscript,
PDF,
Talk slides
Rajesh Balan, Jason Flinn, M. Satyanarayanan, Shafeeq Sinnamohideen, and Hen-I Yang
In the 10th ACM SIGOPS European Workshop, Saint-Emilion, France, September 2002.
Abstract,
Postscript,
PDF
Dynamic application partitioning in pervasive computing
Jason Flinn, SoYoung Park, and M. Satyanarayanan
Proceedings of the 22nd International Conference on Distributed Computing Systems, Vienna, Austria, July 2002.
Abstract,
Postscript,
PDF,
Talk slides (.ppt.gz)
Jason Flinn, Dushyanth, Narayanan, and M. Satyanarayanan
Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII), Schloss Elmau, Germany, May 2001.
Abstract,
Postscript,
PDF
Reducing the energy usage of mobile computers
Jason Flinn and M. Satyanarayanan
ACM Transactions on Computer Systems (TOCS), Vol. 22, No. 2, May 2004.
Abstract,
PDF
Jason Flinn
Ph.D. dissertation, TR# CMU-CS-01-171, Carnegie Mellon University, December 2001.
Abstract,
Postscript,
PDF,
Talk slides (.ppt.gz)
Jason Flinn, Eyal de Lara, M. Satyanarayanan, Dan S. Wallach, and Willy Zwaenepoel
Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2001), Heidelberg, Germany, November 2001.
Abstract,
Postscript,
PDF,
Talk slides (.ppt)
Dushyanth Narayanan, Jason Flinn, and M. Satyanarayanan
Proceedings of the 3rd IEEE Workshop on Mobile Computing Systems and Applications,
Monterey, CA, December 2000.
Abstract,
PDF
Keith I. Farkas, Jason Flinn, Godmar Back, Dirk Grunwald, and Jennifer Anderson
Proceedings of the International Conference on Measurement and Modeling of Computer Systems (ACM SIGMETRICS),
Santa Clara, CA, June 2000.
Abstract,
PDF.
Jason Flinn, Keith I. Farkas, and Jennifer Anderson
Compaq Western Research Laboratory
Technical Note TN-56, February 2000.
PDF.
Jason Flinn and M. Satyanarayanan
Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP),
Kiawah Island Resort, SC, December 1999.
Abstract,
Postscript,
PDF,
Talk slides (.ppt.gz).
Jason Flinn and M. Satyanarayanan
Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and
Applications, New Orleans, Louisiana, February 1999.
Abstract,
Postscript,
PDF,
Talk slides (old version of PowerPoint),
Talk slides (pptx format).
Application-aware adaptation
Brian D. Noble, M. Satyanarayanan, Dushyanth Narayanan, J. Eric Tilton,
Jason Flinn, and Kevin R. Walker
Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP),
Saint-Malo, France, October 1997.
Abstract,
Postscript,
PDF.
Miscellaneous topics
M. Satyanarayanan, Jason Flinn, and Kevin R. Walker
Operating Systems Review, Volume 33, Number 3, July 1999.
Abstract,
Postscript,
PDF.
Source Code
WARNING: All software is provided below AS-IS, without warranty or
guarantee. These software artifacts are research prototypes and are
not yet production quality pieces of code. Use at your own risk.