{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,16]],"date-time":"2026-01-16T02:12:55Z","timestamp":1768529575334,"version":"3.49.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2006,11,1]],"date-time":"2006-11-01T00:00:00Z","timestamp":1162339200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2006,11]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1189256.1189258","type":"journal-article","created":{"date-parts":[[2007,1,16]],"date-time":"2007-01-16T19:38:29Z","timestamp":1168976309000},"page":"361-392","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["Speculative execution in a distributed file system"],"prefix":"10.1145","volume":"24","author":[{"given":"Edmund B.","family":"Nightingale","sequence":"first","affiliation":[{"name":"University of Michigan, Ann Arbor, MI"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Peter M.","family":"Chen","sequence":"additional","affiliation":[{"name":"University of Michigan, Ann Arbor, MI"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jason","family":"Flinn","sequence":"additional","affiliation":[{"name":"University of Michigan, Ann Arbor, MI"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,11]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 5th Symposium on Operating Systems Design and Implementation","author":"Adya A.","unstructured":"Adya , A. , Bolosky , W. J. , Castro , M. , Cermak , G. , Chaiken , R. , Douceur , J. R. , Howell , J. , Lorch , J. R. , Theimer , M. , and Wattenhofer , R. P . 2002. FARSITE: Federated, available, and reliable storage for an incompletely trusted environment . In Proceedings of the 5th Symposium on Operating Systems Design and Implementation . Boston, MA, 1--14. 10.1145\/1060289.1060291 Adya, A., Bolosky, W. J., Castro, M., Cermak, G., Chaiken, R., Douceur, J. R., Howell, J., Lorch, J. R., Theimer, M., and Wattenhofer, R. P. 2002. FARSITE: Federated, available, and reliable storage for an incompletely trusted environment. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation. Boston, MA, 1--14. 10.1145\/1060289.1060291"},{"key":"e_1_2_1_2_1","volume-title":"Tech. Rep. 111","author":"Birrell A. D.","year":"1993","unstructured":"Birrell , A. D. , Hisgen , A. , Jerian , C. , Mann , T. , and Swart , G . 1993 . The Echo distributed file system. Tech. Rep. 111 , Digital Equipment Corporation , Palo Alto, CA . October. Birrell, A. D., Hisgen, A., Jerian, C., Mann, T., and Swart, G. 1993. The Echo distributed file system. Tech. Rep. 111, Digital Equipment Corporation, Palo Alto, CA. October."},{"key":"e_1_2_1_3_1","volume-title":"Tech. Rep. RFC","author":"Callaghan B.","year":"1995","unstructured":"Callaghan , B. , Pavlowski , B. , and Staubach , P . 1995 . NFS Version 3 Protocol Specification. Tech. Rep. RFC 1813, IETF. June. Callaghan, B., Pavlowski, B., and Staubach, P. 1995. NFS Version 3 Protocol Specification. Tech. Rep. RFC 1813, IETF. June."},{"key":"e_1_2_1_4_1","unstructured":"Carson M. http:\/\/snad.ncsl.nist.gov\/itg\/nistnet\/slides\/index.htm. Adaptation and Protocol Testing thorugh Network Emulation. NIST.  Carson M. http:\/\/snad.ncsl.nist.gov\/itg\/nistnet\/slides\/index.htm. Adaptation and Protocol Testing thorugh Network Emulation. NIST."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 4th Symposium on Operating Systems Design and Implementation","author":"Castro M.","unstructured":"Castro , M. and Liskov , B . 2000. Proactive recovery in a Byzantine-fault-tolerant system . In Proceedings of the 4th Symposium on Operating Systems Design and Implementation . San Diego, CA. Castro, M. and Liskov, B. 2000. Proactive recovery in a Byzantine-fault-tolerant system. In Proceedings of the 4th Symposium on Operating Systems Design and Implementation. San Diego, CA."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 3rd Symposium on Operating Systems Design and Implementation","author":"Chang F.","unstructured":"Chang , F. and Gibson , G . 1999. Automatic I\/O hint generation through speculative execution . In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation . New Orleans, LA, 1--14. Chang, F. and Gibson, G. 1999. Automatic I\/O hint generation through speculative execution. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation. New Orleans, LA, 1--14."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 15th ACM Symposium on Operating Systems Principles","author":"Cheriton D.","unstructured":"Cheriton , D. and Duda , K . 1995. Logged virtual memory . In Proceedings of the 15th ACM Symposium on Operating Systems Principles . Copper Mountain, CO, 26--39. 10.1145\/224056.224060 Cheriton, D. and Duda, K. 1995. Logged virtual memory. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain, CO, 26--39. 10.1145\/224056.224060"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/568522.568525"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.509907"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the 2003 USENIX Technical Conference","author":"Fraser K.","unstructured":"Fraser , K. and Chang , F . 2003. Operating system I\/O speculation: How two invocations are faster than one . In Proceedings of the 2003 USENIX Technical Conference . San Antonio, TX, 325--338. Fraser, K. and Chang, F. 2003. Operating system I\/O speculation: How two invocations are faster than one. In Proceedings of the 2003 USENIX Technical Conference. San Antonio, TX, 325--338."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/289.291"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the 8th International ACM Conference on Architecture. Support for Programming Languages and Operating Systems","author":"Hammond L.","unstructured":"Hammond , L. , Willey , M. , and Olukotun , K . 1998. Data speculation support for a chip multiprocessor . In Proceedings of the 8th International ACM Conference on Architecture. Support for Programming Languages and Operating Systems . San Jose, CA, 58--69. 10.1145\/291069.291020 Hammond, L., Willey, M., and Olukotun, K. 1998. Data speculation support for a chip multiprocessor. In Proceedings of the 8th International ACM Conference on Architecture. Support for Programming Languages and Operating Systems. San Jose, CA, 58--69. 10.1145\/291069.291020"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/35037.35059"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3916.3988"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the 11th ACM Symposium on Operating Systems Principles","author":"Jefferson D.","unstructured":"Jefferson , D. , Beckman , B. , Wieland , F. , Blume , L. , DiLoreto , M. , Hontalas , P. , Laroche , P. , Sturdevant , K. , Tupman , J. , Warren , V. , Weidel , J. , Younger , H. , and Bellenot , S . 1987. Time Warp operating system . In Proceedings of the 11th ACM Symposium on Operating Systems Principles . Austin, TX, 77--93. 10.1145\/41457.37508 Jefferson, D., Beckman, B., Wieland, F., Blume, L., DiLoreto, M., Hontalas, P., Laroche, P., Sturdevant, K., Tupman, J., Warren, V., Weidel, J., Younger, H., and Bellenot, S. 1987. Time Warp operating system. In Proceedings of the 11th ACM Symposium on Operating Systems Principles. Austin, TX, 77--93. 10.1145\/41457.37508"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the 19th ACM Symposium on Operating Systems Principles","author":"King S. T.","unstructured":"King , S. T. and Chen , P. M . 2003. Backtracking intrusions . In Proceedings of the 19th ACM Symposium on Operating Systems Principles . Bolton Landing, NY, 223--236. 10.1145\/945445.945467 King, S. T. and Chen, P. M. 2003. Backtracking intrusions. In Proceedings of the 19th ACM Symposium on Operating Systems Principles. Bolton Landing, NY, 223--236. 10.1145\/945445.945467"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146942"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the 6th Symposium on Operating Systems Design and Implementation","author":"Li J.","unstructured":"Li , J. , Krohn , M. , Mazi\u00e8res , D. , and Shasha , D . 2004. Secure untrusted data repository (SUNDR) . In Proceedings of the 6th Symposium on Operating Systems Design and Implementation . San Francisco, CA, 121--136. Li, J., Krohn, M., Mazi\u00e8res, D., and Shasha, D. 2004. Secure untrusted data repository (SUNDR). In Proceedings of the 6th Symposium on Operating Systems Design and Implementation. San Francisco, CA, 121--136."},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the 1005 USENIX Technical Conference. 31--44","author":"Li T.","unstructured":"Li , T. , Ellis , C. S. , Lebeck , A. R. , and Sorin , D. J . 2005. Pulse: A dynamic deadlock detection mechanism using speculative execution . In Proceedings of the 1005 USENIX Technical Conference. 31--44 . Li, T., Ellis, C. S., Lebeck, A. R., and Sorin, D. J. 2005. Pulse: A dynamic deadlock detection mechanism using speculative execution. In Proceedings of the 1005 USENIX Technical Conference. 31--44."},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 11th SIGOPS European Workshop","author":"Liskov B.","unstructured":"Liskov , B. and Rodrigues , R . 2004. Transactional file systems can be fast . In Proceedings of the 11th SIGOPS European Workshop . Leuven, Belgium. 10.1145\/1133572.1133592 Liskov, B. and Rodrigues, R. 2004. Transactional file systems can be fast. In Proceedings of the 11th SIGOPS European Workshop. Leuven, Belgium. 10.1145\/1133572.1133592"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 17th ACM Symposium on Operating Systems Principles","author":"Mazi\u00e8res D.","year":"1915","unstructured":"Mazi\u00e8res , D. , Kaminsky , M. , Kaashoek , M. F. , and Witchel , E . 1999. Separating key management from file system security . In Proceedings of the 17th ACM Symposium on Operating Systems Principles . Kiawah Island, SC, 124--139. 10.1145\/3 1915 1.319160 Mazi\u00e8res, D., Kaminsky, M., Kaashoek, M. F., and Witchel, E. 1999. Separating key management from file system security. In Proceedings of the 17th ACM Symposium on Operating Systems Principles. Kiawah Island, SC, 124--139. 10.1145\/319151.319160"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/35037.42183"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the 6th Symposium on Operating Systems Design and Implementation","author":"Nightingale E. B.","unstructured":"Nightingale , E. B. and Flinn , J . 2004. Energy-efficiency and storage flexibility in the Blue File System . In Proceedings of the 6th Symposium on Operating Systems Design and Implementation . San Francisco, CA, 363--378. Nightingale, E. B. and Flinn, J. 2004. Energy-efficiency and storage flexibility in the Blue File System. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation. San Francisco, CA, 363--378."},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the 20th ACM Symposium on Operating Systems Principles","author":"Qin F.","unstructured":"Qin , F. , Tucek , J. , Sundaresan , J. , and Zhou , Y . 2005. Rx: Treating bugs as allergies---a safe method to survive software failures . In Proceedings of the 20th ACM Symposium on Operating Systems Principles . Brighton, United Kingdom, 235--248. 10.1145\/1095810.1095833 Qin, F., Tucek, J., Sundaresan, J., and Zhou, Y. 2005. Rx: Treating bugs as allergies---a safe method to survive software failures. In Proceedings of the 20th ACM Symposium on Operating Systems Principles. Brighton, United Kingdom, 235--248. 10.1145\/1095810.1095833"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the 15th ACM Symposium on Operating Systems Principles","author":"Rosenblum M.","unstructured":"Rosenblum , M. , Bugnion , E. , Herrod , S. A. , Witchel , E. , and Gupta , A . 1995. The impact of architectural trends on operating system performance . In Proceedings of the 15th ACM Symposium on Operating Systems Principles . Copper Mountain, CO, 285--298. 10.1145\/224056.224078 Rosenblum, M., Bugnion, E., Herrod, S. A., Witchel, E., and Gupta, A. 1995. The impact of architectural trends on operating system performance. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. Copper Mountain, CO, 285--298. 10.1145\/224056.224078"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the 15th Symposium on Principles of Distributed Computing","author":"Satyanarayanan M.","year":"1996","unstructured":"Satyanarayanan , M. 1996 . Fundamental challenges in mobile computing . In Proceedings of the 15th Symposium on Principles of Distributed Computing . Philadelphia, PA, 1--7. 10.1145\/248052.248053 Satyanarayanan, M. 1996. Fundamental challenges in mobile computing. In Proceedings of the 15th Symposium on Principles of Distributed Computing. Philadelphia, PA, 1--7. 10.1145\/248052.248053"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the 13th ACM Symposium on Operating Systems Principles. 239--253","author":"Schmuck F.","unstructured":"Schmuck , F. and Wylie , J . 1991. Experience with transactions in QuickSilver . In Proceedings of the 13th ACM Symposium on Operating Systems Principles. 239--253 . 10.1145\/121132.121171 Schmuck, F. and Wylie, J. 1991. Experience with transactions in QuickSilver. In Proceedings of the 13th ACM Symposium on Operating Systems Principles. 239--253. 10.1145\/121132.121171"},{"key":"e_1_2_1_30_1","volume-title":"Tech. Rep. RFC 3530, IETF. April.","author":"Shepler S.","year":"2003","unstructured":"Shepler , S. , Callaghan , B. , Robinson , D. , Thurlow , R. , Beame , C. , Eisler , M. , and Noveck , D . 2003 . Network File System (NFS) version 4 Protocol . Tech. Rep. RFC 3530, IETF. April. Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., Beame, C., Eisler, M., and Noveck, D. 2003. Network File System (NFS) version 4 Protocol. Tech. Rep. RFC 3530, IETF. April."},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 10th ACM Symposium on Operating Systems Principles","author":"Spector A. Z.","unstructured":"Spector , A. Z. , Daniels , D. , Duchamp , D. , Eppinger , J. L. , and Pausch , R . 1985. Distributed transactions for reliable systems . In Proceedings of the 10th ACM Symposium on Operating Systems Principles . Orcas Island, WA, 127--146. 10.1145\/323647.323641 Spector, A. Z., Daniels, D., Duchamp, D., Eppinger, J. L., and Pausch, R. 1985. Distributed transactions for reliable systems. In Proceedings of the 10th ACM Symposium on Operating Systems Principles. Orcas Island, WA, 127--146. 10.1145\/323647.323641"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the 2004 USENIX Technical Conference","author":"Srinivasan S.","unstructured":"Srinivasan , S. , Andrews , C. , Kandula , S. , and Zhou , Y . 2004. Flashback: A light-weight extension for rollback and deterministic replay for software debugging . In Proceedings of the 2004 USENIX Technical Conference . Boston, MA. Srinivasan, S., Andrews, C., Kandula, S., and Zhou, Y. 2004. Flashback: A light-weight extension for rollback and deterministic replay for software debugging. In Proceedings of the 2004 USENIX Technical Conference. Boston, MA."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 12th ACM Symposium on Operating System Principles. 45--57","author":"Srinivasan V.","unstructured":"Srinivasan , V. and Mogul , J . 1989. Spritely NFS: Experiments with cache consistency protocols . In Proceedings of the 12th ACM Symposium on Operating System Principles. 45--57 . 10.1145\/74850.74856 Srinivasan, V. and Mogul, J. 1989. Spritely NFS: Experiments with cache consistency protocols. In Proceedings of the 12th ACM Symposium on Operating System Principles. 45--57. 10.1145\/74850.74856"},{"key":"e_1_2_1_34_1","volume-title":"Proceedings of the 27th Annual International Symposium on Computer Architecture (ISCA)","author":"Steffan J. G.","unstructured":"Steffan , J. G. , Colohan , C. B. , Zhai , A. , and Mowry , T. C . 2000. A scalable approach to thread-level speculation . In Proceedings of the 27th Annual International Symposium on Computer Architecture (ISCA) . Vancouver, Canada, 1--24. 10.1145\/339647.339650 Steffan, J. G., Colohan, C. B., Zhai, A., and Mowry, T. C. 2000. A scalable approach to thread-level speculation. In Proceedings of the 27th Annual International Symposium on Computer Architecture (ISCA). Vancouver, Canada, 1--24. 10.1145\/339647.339650"},{"key":"e_1_2_1_35_1","volume-title":"Workshop on Distributed Shared Memory on Clusters","author":"Tapus C.","unstructured":"Tapus , C. , Smith , J. D. , and Hickey , J . 2003. Kernel level speculative DSM . Workshop on Distributed Shared Memory on Clusters . Tokyo, Japan. Tapus, C., Smith, J. D., and Hickey, J. 2003. Kernel level speculative DSM. Workshop on Distributed Shared Memory on Clusters. Tokyo, Japan."},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 10th ACM Symposium on Operating Systems Principles","author":"Weinstein M. J.","unstructured":"Weinstein , M. J. , Page , T. W. Jr. , Livezey , B. K. , and Popek , G. J . 1985. Transactions and synchronization in a distributed operating system . In Proceedings of the 10th ACM Symposium on Operating Systems Principles . Orcas Island, WA, 115--126. 10.1145\/323647.323640 Weinstein, M. J., Page, T. W. Jr., Livezey, B. K., and Popek, G. J. 1985. Transactions and synchronization in a distributed operating system. In Proceedings of the 10th ACM Symposium on Operating Systems Principles. Orcas Island, WA, 115--126. 10.1145\/323647.323640"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 5th International Symposium on High Performance Computer Architecture","author":"Zhang Y.","unstructured":"Zhang , Y. , Rauchwerger , L. , and Torrellas , J . 1999. Hardware for speculative parallelization of partially-parallel loops in DSM multiprocessors . In Proceedings of the 5th International Symposium on High Performance Computer Architecture . Orlando, FL, 135. Zhang, Y., Rauchwerger, L., and Torrellas, J. 1999. Hardware for speculative parallelization of partially-parallel loops in DSM multiprocessors. In Proceedings of the 5th International Symposium on High Performance Computer Architecture. Orlando, FL, 135."},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the International Conference on Dependable Systems and Networks","author":"Zhu N.","unstructured":"Zhu , N. and Chiueh , T . 2003. Design, implementation and evaluation of the Repairable File Service . In Proceedings of the International Conference on Dependable Systems and Networks . San Francisco, CA. Zhu, N. and Chiueh, T. 2003. Design, implementation and evaluation of the Repairable File Service. In Proceedings of the International Conference on Dependable Systems and Networks. San Francisco, CA."}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1189256.1189258","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1189256.1189258","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T15:06:22Z","timestamp":1750259182000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1189256.1189258"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,11]]},"references-count":37,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2006,11]]}},"alternative-id":["10.1145\/1189256.1189258"],"URL":"https:\/\/doi.org\/10.1145\/1189256.1189258","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006,11]]},"assertion":[{"value":"2006-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}