{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:26:31Z","timestamp":1761611191421,"version":"3.32.0"},"reference-count":35,"publisher":"Wiley","issue":"5","license":[{"start":{"date-parts":[[2006,10,24]],"date-time":"2006-10-24T00:00:00Z","timestamp":1161648000000},"content-version":"vor","delay-in-days":5197,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Concurrency: Pract. Exper."],"published-print":{"date-parts":[[1992,8]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Most methods for programming loosely coupled systems are based on message\u2010passing. Recently, however, methods have emerged based on \u2018virtually\u2019 sharing data. These methods simplify distributed programming, but are hard to implement efficiently, as loosely coupled systems do not contain physical shared memory. We introduce a new model,<jats:italic>the shared data\u2010object model<\/jats:italic>, that eases the implementation of parallel applications on loosely coupled systems, but can still be implemented efficiently.<\/jats:p><jats:p>In our model, shared data are encapsulated in passive data\u2010objects, which are variables of user\u2010defined abstract data types. To speed up access to shared data, data\u2010objects are replicated. This ability to replicate objects is a significant difference with other object\u2010based models (e.g. Emerald and Amber). Also, by replicating logical objects rather than physical pages, our model has many advantages over shared virtual memory systems.<\/jats:p><jats:p>This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; which strategy for object replication to use. We have implemented several options to determine which ones are the most efficient.<\/jats:p>","DOI":"10.1002\/cpe.4330040502","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T06:19:34Z","timestamp":1163830774000},"page":"337-355","source":"Crossref","is-referenced-by-count":29,"title":["Replication techniques for speeding up parallel applications on distributed systems"],"prefix":"10.1002","volume":"4","author":[{"given":"Henri E.","family":"Bal","sequence":"first","affiliation":[]},{"given":"M. Frans","family":"Kaashoek","sequence":"additional","affiliation":[]},{"given":"Andrew S.","family":"Tanenbaum","sequence":"additional","affiliation":[]},{"given":"Jack","family":"Jansen","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,24]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/72551.72552"},{"key":"e_1_2_1_3_2","unstructured":"K.Li \u2018IVY: a shared virtual memory system for parallel computing\u2019 Proceedings 1988 International Conference Parallel Processing (Vol. II) St. Charles Ill. Aug.1988 pp.94\u2013101."},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.53355"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.84877"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/360363.360369"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.2245"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/858336.858338"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/35037.42182"},{"key":"e_1_2_1_10_2","doi-asserted-by":"crossref","unstructured":"J. S.Chase F. G.Amador E. D.Lazowska H. M.LevyandR. J.Littlefield \u2018The Amber system: parallel programming on a network of multiprocessors\u2019 Proceedings of the 12th ACM Symposium on Operating System Principles Litchfield Park AZ Dec.1989 pp.147\u2013158.","DOI":"10.1145\/74851.74865"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.126768"},{"key":"e_1_2_1_12_2","doi-asserted-by":"crossref","unstructured":"A. S.Tanenbaum M. F.KaashoekandH. E.Bal \u2018Parallel programming using shared objects and broadcasting\u2019 IEEE Computer (1992). to be published in vol. 18.","DOI":"10.1109\/2.153276"},{"key":"e_1_2_1_13_2","unstructured":"H. E.Bal Programming Distributed Systems Prentice Hall International Hemel Hempstead England 1991."},{"key":"e_1_2_1_14_2","doi-asserted-by":"crossref","unstructured":"D. K.Gifford \u2018Weighted voting for replicated data\u2019 Proceedings 7th Symposium on Operating Systems Principles Pacific Grove CA ACM SIGOPS Dec.1979 pp.150\u2013162.","DOI":"10.1145\/800215.806583"},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/356842.356846"},{"issue":"1","key":"e_1_2_1_16_2","doi-asserted-by":"crossref","DOI":"10.1145\/6306.6309","article-title":"Low cost management of replicated data in fault\u2010tolerant distributed systems","volume":"4","author":"Joseph T. A.","year":"1987","journal-title":"ACM Trans. Computer Systems"},{"key":"e_1_2_1_17_2","doi-asserted-by":"crossref","unstructured":"R.van RenesseandA. S.Tanenbaum \u2018Voting with ghosts\u2019 Proceedings of the 8th International Conference on Distributed Computing Systems San Jose CA June1988 pp.456\u2013462.","DOI":"10.1109\/DCS.1988.12548"},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/5505.5508"},{"key":"e_1_2_1_19_2","doi-asserted-by":"crossref","unstructured":"S. J.EggersandR. H.Katz \u2018A characterization of sharing in parallel programs and its application to coherency protocol evaluation\u2019 15th International Symposium on Computer Architecture Jerusalem Israel May1989 pp.373\u2013382.","DOI":"10.1109\/ISCA.1988.5248"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/75104.75105"},{"key":"e_1_2_1_21_2","unstructured":"S. E.Lucco \u2018A heuristic Linda kernel for hypercube multiprocessors\u2019 Conf. on Hypercube Multiprocessors 1987 pp.32\u201338."},{"key":"e_1_2_1_22_2","doi-asserted-by":"crossref","unstructured":"M. F.KaashoekandA. S.Tanenbaum \u2018Group communication in the Amoeba distributed operating system\u2019 11th Int'l Conf. on Distributed Computing Systems Arlington Texas 20\u201024 May1991 pp.222\u2013230.","DOI":"10.1109\/ICDCS.1991.148669"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/96267.96281"},{"key":"e_1_2_1_24_2","unstructured":"M. F.Kaashoek R.van Renesse H.van StaverenandA. S.Tanenbaum \u2018FLIP: an Internet protocol for supporting distributed systems\u2019 Report IR\u2010251 Vrije Universiteit Amsterdam The Netherlands June1991."},{"key":"e_1_2_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/42392.42399"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"e_1_2_1_27_2","unstructured":"J.\u2010F.JenqandS.Sahni \u2018All pairs shortest paths on a hypercube multiprocessor\u2019 Proceedings of the 1987 International Conference on Parallel Processing St. Charles Ill. Aug.1987 pp.713\u2013716."},{"key":"e_1_2_1_28_2","doi-asserted-by":"crossref","unstructured":"S.OwickiandA.Agarwal \u2018Evaluating the performance of software cache coherence\u2019 Proceedings 3rd International Conference on Architectural Support for Programming Languages and Operating Systems Boston MA April1989 pp.230\u2013242.","DOI":"10.1145\/70082.68204"},{"key":"e_1_2_1_29_2","doi-asserted-by":"crossref","unstructured":"A. L.CoxandR. J.Fowler \u2018The implementation of a coherent memory abstraction on a NUMA multiprocessor: experience with PLATINUM\u2019 Proceedings 12th Symposium on Operating System Principles Litchfield Park AZ Rochester Dec.1989 pp.32\u201344.","DOI":"10.1145\/74850.74855"},{"key":"e_1_2_1_30_2","unstructured":"M. L.Scott T. J.LeblancandB. D.Marsh \u2018Design rationale for psyche a general\u2010purpose multiprocessor operating system\u2019 International Conference on Parallel Processing St. Charles Ill. Aug.1988 pp.255\u2013261."},{"volume-title":"Replication in distributed systems: the Eden experience","year":"1985","author":"Noe J. D.","key":"e_1_2_1_31_2"},{"key":"e_1_2_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/5666.5671"},{"key":"e_1_2_1_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.16"},{"key":"e_1_2_1_34_2","doi-asserted-by":"crossref","unstructured":"W. G.Levelt M. F.Kaashoek H. E.BalandA. S.Tanenbaum \u2018A comparison of two paradigms for distributed shared memory\u2019 Software\u2014Practice and Experience(1992) to be published.","DOI":"10.1002\/spe.4380221105"},{"key":"e_1_2_1_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1986.1663305"},{"key":"e_1_2_1_36_2","unstructured":"M. F.Kaashoek H. E.BalandA. S.Tanenbaum \u2018Experience with the distributed data structure paradigm in Linda\u2019 First USENIX\/SERC Workshop on Experiences with Building Distributed and Multiprocessor Systems Ft. Lauderdale FL Oct.1989 pp.175\u2013191."}],"container-title":["Concurrency: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fcpe.4330040502","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.4330040502","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:06:38Z","timestamp":1736640398000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/cpe.4330040502"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1992,8]]},"references-count":35,"journal-issue":{"issue":"5","published-print":{"date-parts":[[1992,8]]}},"alternative-id":["10.1002\/cpe.4330040502"],"URL":"https:\/\/doi.org\/10.1002\/cpe.4330040502","archive":["Portico"],"relation":{},"ISSN":["1040-3108","1096-9128"],"issn-type":[{"type":"print","value":"1040-3108"},{"type":"electronic","value":"1096-9128"}],"subject":[],"published":{"date-parts":[[1992,8]]}}}