{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,4]],"date-time":"2025-05-04T00:36:31Z","timestamp":1746318991707},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"6","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2014,2]]},"abstract":"<jats:p>\n            <jats:italic>Event Log Exchange<\/jats:italic>\n            (ELE) is a common programming pattern based on immutable state and messaging. ELE sidesteps traditional challenges in distributed consistency, at the expense of introducing new challenges in designing space reclamation protocols to avoid consuming unbounded storage.\n          <\/jats:p>\n          <jats:p>\n            We introduce\n            <jats:italic>Edelweiss<\/jats:italic>\n            , a sublanguage of Bloom that provides an ELE programming model, yet automatically reclaims space without programmer assistance. We describe techniques to analyze Edelweiss programs and automatically generate application-specific distributed space reclamation logic. We show how Edelweiss can be used to elegantly implement a variety of communication and distributed storage protocols; the storage reclamation code generated by Edelweiss effectively garbage-collects state and often matches hand-written protocols from the literature.\n          <\/jats:p>","DOI":"10.14778\/2732279.2732285","type":"journal-article","created":{"date-parts":[[2015,5,12]],"date-time":"2015-05-12T15:37:52Z","timestamp":1431445072000},"page":"481-492","source":"Crossref","is-referenced-by-count":3,"title":["Edelweiss"],"prefix":"10.14778","volume":"7","author":[{"given":"Neil","family":"Conway","sequence":"first","affiliation":[{"name":"UC Berkeley"}]},{"given":"Peter","family":"Alvaro","sequence":"additional","affiliation":[{"name":"UC Berkeley"}]},{"given":"Emily","family":"Andrews","sequence":"additional","affiliation":[{"name":"UC Berkeley"}]},{"given":"Joseph M.","family":"Hellerstein","sequence":"additional","affiliation":[{"name":"UC Berkeley"}]}],"member":"320","published-online":{"date-parts":[[2014,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/292469.292471"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/263661.263680"},{"key":"e_1_2_1_4_1","volume-title":"CIDR","author":"Alvaro P.","year":"2011","unstructured":"P. Alvaro Consistency analysis in Bloom: a CALM and collected approach . In CIDR , 2011 . P. Alvaro et al. Consistency analysis in Bloom: a CALM and collected approach. In CIDR, 2011."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-24206-9_16"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465279"},{"key":"e_1_2_1_7_1","volume-title":"NSDI","author":"Belaramani N.","year":"2006","unstructured":"N. Belaramani PRACTI replication . In NSDI , 2006 . N. Belaramani et al. PRACTI replication. In NSDI, 2006."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(79)90117-0"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/41457.37515"},{"key":"e_1_2_1_10_1","unstructured":"Bloom language website. http:\/\/www.bloom-lang.org.  Bloom language website. http:\/\/www.bloom-lang.org."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01418058"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2391229.2391230"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/41840.41841"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/PARBSE.1990.77160"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/588111.588124"},{"key":"e_1_2_1_16_1","unstructured":"M. Fowler. Event sourcing. http:\/\/bit.ly\/fowler-event-sourcing.  M. Fowler. Event sourcing. http:\/\/bit.ly\/fowler-event-sourcing."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICNP.1993.340912"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0255(89)90023-6"},{"key":"e_1_2_1_20_1","volume-title":"Immutability changes everything! http:\/\/vimeo.com\/52831373. Talk at RICON","author":"Helland P.","year":"2012","unstructured":"P. Helland . Immutability changes everything! http:\/\/vimeo.com\/52831373. Talk at RICON , 2012 . P. Helland. Immutability changes everything! http:\/\/vimeo.com\/52831373. Talk at RICON, 2012."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/6306.6308"},{"key":"e_1_2_1_22_1","volume-title":"IETF","author":"Johnson P. R.","year":"1975","unstructured":"P. R. Johnson and R. H. Thomas . Maintenance of duplicate databases. RFC 677 , IETF , Jan. 1975 . P. R. Johnson and R. H. Thomas. Maintenance of duplicate databases. RFC 677, IETF, Jan. 1975."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/138873.138877"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01786227"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/121132.121169"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043593"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/34.6.534"},{"key":"e_1_2_1_29_1","unstructured":"N. Marz. How to beat the CAP theorem. http:\/\/bit.ly\/marz-cap-theorem.  N. Marz. How to beat the CAP theorem. http:\/\/bit.ly\/marz-cap-theorem."},{"key":"e_1_2_1_30_1","volume-title":"Workshop on Parallel and Distributed Algorithms","author":"Mattern F.","year":"1989","unstructured":"F. Mattern . Virtual time and global states of distributed systems . In Workshop on Parallel and Distributed Algorithms , 1989 . F. Mattern. Virtual time and global states of distributed systems. In Workshop on Parallel and Distributed Algorithms, 1989."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/128765.128770"},{"key":"e_1_2_1_32_1","volume-title":"Distributed Systems","author":"Mullender S.","year":"1993","unstructured":"S. Mullender , editor. Distributed Systems . Addison-Wesley , second edition, 1993 . S. Mullender, editor. Distributed Systems. Addison-Wesley, second edition, 1993."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/62546.62549"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266711"},{"key":"e_1_2_1_36_1","volume-title":"MIT","author":"Reed D. P.","year":"1978","unstructured":"D. P. Reed . Naming and Synchronization In A Decentralized Computer System. PhD thesis , MIT , 1978 . D. P. Reed. Naming and Synchronization In A Decentralized Computer System. PhD thesis, MIT, 1978."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1987.232564"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.243514"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02277859"},{"key":"e_1_2_1_41_1","volume-title":"INRIA","author":"Shapiro M.","year":"2011","unstructured":"M. Shapiro A Comprehensive Study of Convergent and Commutative Replicated Data Types. Technical report , INRIA , 2011 . M. Shapiro et al. A Comprehensive Study of Convergent and Commutative Replicated Data Types. Technical report, INRIA, 2011."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3959.3962"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2003.1198390"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1987.232835"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/800222.806750"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/2732279.2732285","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:09:06Z","timestamp":1672225746000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/2732279.2732285"}},"subtitle":["automatic storage reclamation for distributed programming"],"short-title":[],"issued":{"date-parts":[[2014,2]]},"references-count":42,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2014,2]]}},"alternative-id":["10.14778\/2732279.2732285"],"URL":"https:\/\/doi.org\/10.14778\/2732279.2732285","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2014,2]]}}}