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
相关论文
共 38 条
[1]  
Adya A, 2002, USENIX ASSOCIATION PROCEEDINGS OF THE FIFTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P1
[2]  
[Anonymous], 1997, Tech. Rep. TR3022
[3]  
BIRRELL AD, 1993, 111 DIG EQ CORP
[4]  
CALLAGHAN B, 1995, 1813 RFC IETF
[5]  
CARSON M, 2000, P 4 S OP SYST DES IM
[6]  
CARSON M, ADAPTATION PROTOCOL
[7]  
Chandramouli Y, 1999, TELETRAF SCI ENG, V3, P1
[8]  
CHERITON D, 1995, P 15 ACM S OP SYST P, P26
[9]   A survey of rollback-recovery protocols in message-passing systems [J].
Elnozahy, EN ;
Alvisi, L ;
Wang, YM ;
Johnson, DB .
ACM COMPUTING SURVEYS, 2002, 34 (03) :375-408
[10]   Rx: Treating bugs method to, survive as allergies - A safe software failures [J].
Qin, Feng ;
Tucek, Joseph ;
Zhou, Yuanyuan ;
Sundaresan, Jagadeesan .
ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2007, 25 (03)