Speculative execution in a distributed file system

被引:22
|
作者
Nightingale, Edmund B. [1 ]
Chen, Peter M. [1 ]
Flinn, Jason [1 ]
机构
[1] Univ Michigan, Dept Elect Engn & Comp Sci, Ann Arbor, MI 48109 USA
来源
ACM TRANSACTIONS ON COMPUTER SYSTEMS | 2006年 / 24卷 / 04期
关键词
performance; design; distributed file systems; speculative execution; causality;
D O I
10.1145/1189256.1189258
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Speculator provides Linux kernel support for speculative execution. It allows multiple processes to share speculative state by tracking causal dependencies propagated through interprocess communication. It guarantees correct execution by preventing speculative processes from externalizing output, for example, 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 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.
引用
收藏
页码:361 / 392
页数:32
相关论文
共 50 条
  • [1] Optimisation to the execution performance of grid job based on distributed file system
    Hu, Liang D.
    Lin, Lin
    Zhao, Jia
    Che, Xilong
    Wei, Xiaohui
    INTERNATIONAL JOURNAL OF PARALLEL EMERGENT AND DISTRIBUTED SYSTEMS, 2012, 27 (02) : 109 - 121
  • [2] A Heuristic Speculative Execution Strategy in Heterogeneous Distributed Environments
    Wu, Huicheng
    Li, Kenli
    Tang, Zhuo
    Zhang, Longxin
    2014 SIXTH INTERNATIONAL SYMPOSIUM ON PARALLEL ARCHITECTURES, ALGORITHMS AND PROGRAMMING (PAAP), 2014, : 268 - 273
  • [3] Improving Performance of a Distributed File System Using a Speculative Semantics-Based Algorithm
    Krishna, Talluri Lakshmi Siva Rama
    Ragunathan, Thirumalaisamy
    Battula, Sudheer Kumar
    TSINGHUA SCIENCE AND TECHNOLOGY, 2015, 20 (06) : 583 - 593
  • [4] Improving Performance of a Distributed File System Using a Speculative Semantics-Based Algorithm
    Talluri Lakshmi Siva Rama Krishna
    Thirumalaisamy Ragunathan
    Sudheer Kumar Battula
    TsinghuaScienceandTechnology, 2015, 20 (06) : 583 - 593
  • [5] Cx: Concurrent Execution for the Cross-Server Operations in a Distributed File System
    Yi, Letian
    Shu, Jiwu
    Ou, Jiaxin
    Zhao, Ying
    2012 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2012, : 99 - 107
  • [6] Performance evaluation of speculative semantics-based algorithm for read operations in distributed file system
    Krishna T.L.S.R.
    Ragunathan T.
    International Journal of Communication Networks and Distributed Systems, 2019, 22 (03): : 275 - 293
  • [7] Performance evaluation of speculative semantics-based algorithm for read operations in distributed file system
    Krishna, T. Lakshmi Siva Rama
    Ragunathan, T.
    INTERNATIONAL JOURNAL OF COMMUNICATION NETWORKS AND DISTRIBUTED SYSTEMS, 2019, 22 (03) : 275 - 293
  • [8] Novel heuristic speculative execution strategies in heterogeneous distributed environments
    Huang, Xin
    Zhang, Longxin
    Li, Renfa
    Wan, Lanjun
    Li, Keqin
    COMPUTERS & ELECTRICAL ENGINEERING, 2016, 50 : 166 - 179
  • [9] Distributed speculative execution for reliability and fault tolerance: an operational semantics
    Cristian Ţăpuş
    Jason Hickey
    Distributed Computing, 2009, 21 : 433 - 455
  • [10] Distributed speculative execution for reliability and fault tolerance: an operational semantics
    Tapus, Cristian
    Hickey, Jason
    DISTRIBUTED COMPUTING, 2009, 21 (06) : 433 - 455