{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:10:25Z","timestamp":1736640625954,"version":"3.32.0"},"reference-count":18,"publisher":"Wiley","issue":"5","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4565,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1994,5]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>To simplify the difficult task of writing fault\u2010tolerant parallel software, we implemented extensions to the basic functionality of the LINDA or tuple\u2010space programming model. Our approach implements a mechanism of<jats:italic>transaction processing<\/jats:italic>to ensure that tuples are properly handled in the event of a node or communications failure. If a process retrieving a tuple fails to complete processing or a tuple posting or retrieval message is lost, the system is automatically rolled back to a previous stable state. Processing failures and lost messages are detected by time\u2010out alarms. Roll\u2010back is accomplished by reposting pertinent tuples. Intermediate tuples produced during partial processing are not committed or made available until a process completes. In the absence of faults, system overhead is low. The fault\u2010tolerance mechanism is implemented at the system level and requires little programmer effort or expertise. Two implementations of the model are discussed, one using a UNIX network of workstations and one using a Transputer network. Data measuring model overhead and some aspects of system performance in the presence of faults is presented for an example system.<\/jats:p>","DOI":"10.1002\/spe.4380240503","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T17:06:02Z","timestamp":1163783162000},"page":"449-466","source":"Crossref","is-referenced-by-count":8,"title":["Adding fault\u2010tolerant transaction processing to LINDA"],"prefix":"10.1002","volume":"24","author":[{"given":"Scott R.","family":"Cannon","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Dunn","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","first-page":"249","volume-title":"Fault Tolerance; Principles and Practice","author":"Anderson T.","year":"1981"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.2174"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/356842.356845"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/40.7770"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.6160"},{"key":"e_1_2_1_7_2","first-page":"130","article-title":"A design tool for fault\u2010tolerant software","volume":"90","author":"Clematis A.","year":"1990","journal-title":"Proc CompEuro"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.58234"},{"key":"e_1_2_1_9_2","first-page":"90","volume-title":"Distrbuted Operating Systems, The Logical Design","author":"Goscinski A.","year":"1991"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1986.1663305"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/62116.62132"},{"key":"e_1_2_1_12_2","unstructured":"Q.Snell \u2018Fault\u2010tolerant multiprocessor routing with multiple simultaneous link failures\u2019 Masters Thesis Utah State University 1993."},{"volume-title":"PC Trollius Guide","year":"1991","key":"e_1_2_1_13_2"},{"key":"e_1_2_1_14_2","first-page":"218","volume-title":"Proc. 1992 International Conf. on Parallel Processing at St. Charles","author":"Cannon S.","year":"1992"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.2244"},{"key":"e_1_2_1_16_2","doi-asserted-by":"crossref","unstructured":"N.Carriero D.GelernterandJ.Leichter \u2018Distributed data structures in Linda\u2019 Proc. ACM Symposium on Principles of Programming Languages January1986.","DOI":"10.1145\/512644.512666"},{"key":"e_1_2_1_17_2","unstructured":"R.Bjornson \u2018Linda on distributed memory multiprocessors\u2019 PhD Dissertation Yale University 1992."},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","unstructured":"A.XuandB.Liskov \u2018A design for a fault\u2010tolerant distributed implementation of Linda\u2019 Proc. 19th International Symposium on Fault\u2010tolerant Computing June1989 pp.199\u2013206.","DOI":"10.1109\/FTCS.1989.105566"},{"key":"e_1_2_1_19_2","first-page":"123","article-title":"Supporting fault\u2010tolerant programming in Linda","volume":"21","author":"Bakken D.","year":"1991","journal-title":"Proc. FTCS"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380240503","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380240503","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,11]],"date-time":"2025-01-11T23:52:50Z","timestamp":1736639570000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380240503"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,5]]},"references-count":18,"journal-issue":{"issue":"5","published-print":{"date-parts":[[1994,5]]}},"alternative-id":["10.1002\/spe.4380240503"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380240503","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1994,5]]}}}