skip to main content
10.1145/1966445.1966467acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Operating system support for application-specific speculation

Published: 10 April 2011 Publication History

Abstract

Speculative execution is a technique that allows serial tasks to execute in parallel. An implementation of speculative execution can be divided into two parts: (1) a policy that specifies what operations and values to predict, what actions to allow during speculation, and how to compare results; and (2) the mechanisms that support speculative execution, such as checkpointing, rollback, causality tracking, and output buffering.
In this paper, we show how to separate policy from mechanism. We implement a speculation mechanism in the operating system, where it can coordinate speculations across all applications and kernel state. Policy decisions are delegated to applications, which have the most semantic information available to direct speculation.
We demonstrate how custom policies can be used in existing applications to add new features that would otherwise be difficult to implement. Using custom policies in our separated speculation system, we can hide 85% of program load time by predicting the program's launch, decrease SSL connection latency by 15% in Firefox, and increase a BFT client's request rate by 82%. Despite the complexity of the applications, small modifications can implement these features since they only specify policy choices and rely on the system to realize those policies. We provide this increased programmability with a modest performance trade-off, executing only 8% slower than an optimized, application-implemented speculation system.

References

[1]
Carlstrom 2006 Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong Chung, Chi Cao Minh, Christos Kozyrakis, and Kunle Olukotun. The Atomos transactional programming language. In Proc. 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 1--13, Ottawa, Ontario, Canada, June 2006.
[2]
Cully 2008 Brendan Cully, Geoffrey Lefebvre, Dutch Meyer, Mike Feeley, Norm Hutchinson, and Andrew Warfield. Remus: High availability via asynchronous virtual machine replication. In Proc. 5th USENIX Symposium on Networked Systems Design and Implementation, pages 161--174, San Francisco, CA, April 2008.
[3]
Gray 1993 Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, Inc., 1993.
[4]
Herlihy 1993 Maurice Herlihy and J. Eliot B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. 20th Annual International Symposium on Computer Architecture, pages 289--300, San Diego, CA, May 1993.
[5]
Jefferson 1987 D. Jefferson, B. Beckman, F. Wieland, L. Blume, M. DiLoreto, P.Hontalas, P. Laroche, K. Sturdevant, J. Tupman, Van Warren, J. Weidel, H. Younger, and S. Bellenot. Time Warp operating system. In Proc. 11th ACM Symposium on Operating Systems Principles, pages 77--93, Austin, TX, November 1987.
[6]
Kelsey 2009 Kirk Kelsey, Tongxin Bai, Chen Ding, and Chengliang Zhang. Fast Track: A software system for speculative program optimization. In Proc. 7th Annual IEEE/ACM International Symposium on Code Generation and Optimization, pages 157--168, Seattle, WA, March 2009.
[7]
Lange 2008 John R. Lange, Peter A. Dinda, and Samuel Rossoff. Experiences with client-based speculative remote display. In Proc. 2008 USENIX Annual Technical Conference, pages 419--432, Boston, MA, June 2008.
[8]
Li 2005 Tong Li, Carla S. Ellis, Alvin R. Lebeck, and Daniel J. Sorin. Pulse: A dynamic deadlock detection mechanism using speculative execution. In Proc. 2005 USENIX Annual Technical Conference, pages 31--44, Anaheim, CA, April 2005.
[9]
Link 2010 Bernhard R. Link. XTrace - trace X protocol connections. http://xtrace.alioth.debian.org/, September 2010.
[10]
Madani 2009 Omid Madani, Hung Bui, and Eric Yeh. Efficient online learning and prediction of users' desktop actions. In Proc. 21st International Joint Conference on Artificial Intelligence, pages 1457--1462, Pasadena, CA, July 2009.
[11]
Mickens 2010 James Mickens, Jeremy Elson, Jon Howell, and Jay Lorch. Crom: Faster web browsing using speculative execution. In Proc. 7th USENIX Symposium on Networked Systems Design and Implementation, San Jose, CA, April 2010.
[12]
Nightingale 2005 Edmund B. Nightingale, Peter M. Chen, and Jason Flinn. Speculative execution in a distributed file system. In Proc. 20th ACM Symposium on Operating Systems Principles, pages 191--205, Brighton, United Kingdom, October 2005.
[13]
Nightingale 2006 Edmund B. Nightingale, Kaushik Veeraraghavan, Peter M. Chen, and Jason Flinn. Rethink the sync. In Proc. 7th Symposium on Operating Systems Design and Implementation, pages 1--14, Seattle, WA, October 2006.
[14]
Porter 2009 Donald E. Porter, Owen S. Hofmann, Christopher J. Rossbach, Alexander Benn, and Emmett Witchel. Operating system transactions. In Proc. 22nd ACM Symposium on Operating Systems Principles, pages 161--176, October 2009.
[15]
Schmuck 1991 Frank Schmuck and Jim Wylie. Experience with transactions in QuickSilver. In Proc. 13th ACM Symposium on Operating Systems Principles, pages 239--253, Pacific Grove, CA, October 1991.
[16]
Smith 1981 James E. Smith. A study of branch prediction strategies. In Proc. 8th Annual International Symposium on Computer Architecture, pages 135--148, May 1981.
[17]
Smith 2007 Justin D. Smith, Cristian Ţăpuş, and Jason Hickey. The Mojave compiler: Providing language primatives for whole-process migration and speculation for distributed applications. In Proc. International Parallel and Distributed Processing Symposium, pages 1--8, March 2007.
[18]
Steffan 1998 J. Gregory Steffan and Todd C. Mowry. The potential for using thread-level data speculation to facilitate automatic parallelization. In Proc. 1998 Symposium on High Performance Computer Architecture, pages 2--13, Las Vegas, NV, February 1998.
[19]
Süßkraut 2010 Martin Süßkraut, Thomas Knauth, Stefan Weigert, Ute Schiffel, Martin Meinhold, and Christof Fetzer. Prospect: A compiler framework for speculative parallelization. In Proc. 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, pages 131--140, Toronto, Ontario, Canada, April 2010.
[20]
Ţăpuş 2003 Cristian Ţăpuş, Justin D. Smith, and Jason Hickey. Kernel level speculative DSM. In Proc. 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, pages 487--494, May 2003.
[21]
Wester 2009 Benjamin Wester, James Cowling, Edmund B. Nightingale, Peter M. Chen, Jason Flinn, and Barbara Liskov. Tolerating lagency in replicated state machines through client speculation. In Proc. 6th USENIX Symposium on Networked Systems Design and Implementation, pages 245--260, Boston, MA, April 2009.

Cited By

View all
  • (2018)SpecRPCProceedings of the 19th International Middleware Conference10.1145/3274808.3274829(266-278)Online publication date: 26-Nov-2018
  • (2018)Cutting the CordProceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services10.1145/3210240.3210313(68-80)Online publication date: 10-Jun-2018
  • (2016)Incremental consistency guarantees for replicated objectsProceedings of the 12th USENIX conference on Operating Systems Design and Implementation10.5555/3026877.3026891(169-184)Online publication date: 2-Nov-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '11: Proceedings of the sixth conference on Computer systems
April 2011
370 pages
ISBN:9781450306348
DOI:10.1145/1966445
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 April 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. mechanism
  2. policy
  3. speculative execution

Qualifiers

  • Research-article

Conference

EuroSys '11
Sponsor:
EuroSys '11: Sixth EuroSys Conference 2011
April 10 - 13, 2011
Salzburg, Austria

Acceptance Rates

EuroSys '11 Paper Acceptance Rate 24 of 161 submissions, 15%;
Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)44
  • Downloads (Last 6 weeks)21
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2018)SpecRPCProceedings of the 19th International Middleware Conference10.1145/3274808.3274829(266-278)Online publication date: 26-Nov-2018
  • (2018)Cutting the CordProceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services10.1145/3210240.3210313(68-80)Online publication date: 10-Jun-2018
  • (2016)Incremental consistency guarantees for replicated objectsProceedings of the 12th USENIX conference on Operating Systems Design and Implementation10.5555/3026877.3026891(169-184)Online publication date: 2-Nov-2016
  • (2015)Page overlaysACM SIGARCH Computer Architecture News10.1145/2872887.275037943:3S(79-91)Online publication date: 13-Jun-2015
  • (2015)Page overlaysProceedings of the 42nd Annual International Symposium on Computer Architecture10.1145/2749469.2750379(79-91)Online publication date: 13-Jun-2015
  • (2015)OutatimeProceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services10.1145/2742647.2742656(151-165)Online publication date: 18-May-2015
  • (2013)RowCloneProceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/2540708.2540725(185-197)Online publication date: 7-Dec-2013
  • (2013)Consistent and efficient output-streams management in optimistic simulation platformsProceedings of the 1st ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/2486092.2486133(315-326)Online publication date: 19-May-2013
  • (2012)S2PFACM SIGSOFT Software Engineering Notes10.1145/2382756.238279237:6(1-5)Online publication date: 27-Nov-2012
  • (2012)Speculative Symbolic ExecutionProceedings of the 2012 IEEE 23rd International Symposium on Software Reliability Engineering10.1109/ISSRE.2012.8(101-110)Online publication date: 27-Nov-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media