@string{ASPLOS = "Architectural Support for Programming Languages and Operating Systems"} @string{CA = "International Symposium on Computer Architecture"} @string{CC = "{SIGPLAN} Symposium on Compiler Construction"} @string{ECOOP = "European Conference on Object Oriented Programming"} @string{FPLCA = "{ACM} Conference on Functional Programming Languages and Computer Architecture"} @string{IJCAI = "International Joint Conference on Artificial Intelligence"} @string{IWMM = "International Workshop on Memory Management"} @string{IWOOOS = "International Workshop on Object Orientation in Operating Systems"} @string{LFP = "{ACM} Symposium on {LISP} and Functional Programming"} @string{OOPSLA = "Conference on Object Oriented Programming Systems, Languages and Applications"} @string{PARLE = "Parallel Architectures and Languages Europe"}, @string{PLDI = "{SIGPLAN} Conference on Programming Language Design and Implementation"} @string{POPL = "{ACM} Symposium on Principles of Programming Languages"} @string{PPOPP = "{ACM SIGPLAN} Symposium on Principles and Practice of Parallel Programming"} @string{SIGMOD = "Proceedings of the {ACM SIGMOD} International Conference on Management of Data"} @string{SOSP = "Symposium on Operating Systems Principles"} @string{STOC = "Symposium on Theory of Computation"} @string{TLC = "{LISP} Conference"} @string{ai = "Artificial Intelligence"} @string{bstj = "Bell System Technical Journal"} @string{cacm = "Communications of the {ACM}"} @string{compj = "Computer Journal"} @string{clang = "Computer Languages"} @string{csurv = "Computing Surveys"} @string{isj = "{IBM} Systems Journal"} @string{ieeetse = "{IEEE} Transactions on Software Engineering"} @string{ieeetoc = "{IEEE} Transactions on Computers"} @string{ieeecomputer = "{IEEE} Computer"} @string{ijcm = "International Journal of Computer Mathematics"} @string{ipl = "Information Processing Letters"} @string{jss = "Journal of Systems and Software"} @string{loplas = "{ACM} Letters on Programming Languages and Systems"} @string{lsc = "Lisp and Symbolic Computation"} @string{siamjc = "{SIAM} J. Comput."} @string{sigarch = "{SIGARCH} Newsletter"} @string{sigplan = "{SIGPLAN} Notices"} @string{spe = "Software Practice and Experience"} @string{tocs = "{ACM} Transactions on Computer Systems"} @string{toplas = "{ACM} Transactions on Programming Languages and Systems"} @string{BROWN = "Brown University"} @string{CORNELL = "Cornell University"} @string{DECSRC = "Digital Equipment Corporation Systems Research Center"} @string{DECWRL = "Digital Equipment Corporation Western Research Laboratory"} @string{MIT = "Massachusetts Institute of Technology"} @string{NYUCOUR = "Courant Institute of Mathematical Sciences, New York University"} @string{OGC = "Oregon Graduate Center"} @string{PARC = "Xerox Palo Alto Research Center"} @string{PRINCETON = "Princeton University"} @string{RICE = "Rice University"} @string{SIAM = "Society for Industrial and Applied Mathematics"} @string{UCB = "University of California, Berkeley"} @string{UCSC = "University of California at Santa Cruz"} @string{coinstrTYPE = "{\sc Coins} Technical Report"} @string{coinsINST = "University of Massachusetts"} @string{coinsADDR = "Amherst, MA~01003"} @string{AW = "Addison-Wesley"} @string{ACM = "{ACM} Press"} @string{ENH = "Elsevier North-Holland"} @string{HR = "Harper and Row"} @string{HRW = "Holt, Reinhart and Winston"} @string{MK = "Morgan-Kaufman"} @string{PH = "Prentice-Hall"} @string{PP = "Pergamon Press"} @string{SV = "Springer-Verlag"} @string{LNCS = "Lecture Notes in Computer Science"} @inproceedings{AP:PGCVMS, author = "S. Abraham and J. Patel", title = "Parallel Garbage Collection on a Virtual Memory System", booktitle = "International Conference on Parallel Processing and Applications", editor = "E. Chiricozzi and A. D'Amato", month = sep, year = 1987, address = "L'Aquila, Italy", publisher = ENH, pages = {243--246} } @article{Ab:SACIP, title = "Storage Allocation in a Certain Iterative Process", author = "John Abramowich", journal = cacm, volume = 10, number = 6, month = jun, year = 1967, pages = {368--370} } @inproceedings{RMA:DGC, author = "Saleh E. Abdullahi and Eliot E. Miranda and Graem A. Ringwood", title = "Distributed Garbage Collection", crossref = "IWMM92", key = "", pages = "43--81", } @techreport{Ae:ISWGC, author="J.P.H. Aerts", title="Implementing {SASL} without Garbage Collection", institution="Eindhoven University of Technology", address = "The Netherlands", type="EUT Report", number="81--WSK--05", year=1981} @phdthesis{Ag:phd, author = "Anant Agarwal", title = "Analysis of Cache Performance for Operating Systems and Multiprogramming", school = "Stanford University", address = "Palo Alto, California", note = "Available as Technical Report CSL-TR-87-332", month = may, year = 1987 } @article{AgHH88, author = "Agarwal, Anant and Mark Horowitz and John Hennessy", title = "Cache Performance of Operating Systems and Multiprogramming Workloads", journal = tocs, volume = 6, number = 4, month = Nov, year = 1988, pages = "393--431", } @inproceedings{ASH:ATUM, author = "A. Agarwal and R. Sites and M. Horowitz", title = "ATUM: A New Technique for Capturing Address Traces Using Microcode", crossref = "ISCA13", month = jun, year = 1986, location = "Tokyo, Japan", pages = {119--129} } @article{ADU:POPR, author = "Alfred V. Aho and Peter J. Denning and Jeffrey D. Ullman", title = "Principles of Optimal Page Replacement", journal = jacm, volume = 18, number = 1, month = jan, year = 1971, pages = {80--93} } @article{AS:ABR, author = {Sedat Aky\"urek and Kenneth Salem}, title = "Adaptive Block Rearrangement", journal = tocs, volume = 13, number = 2, month = may, year = 1995, pages = {95--121} } @book{Al:AL, author = "J. Allen", title = "Anatomy of Lisp", publisher = "McGraw-Hill", address = "New York", year = 1979 } @article{APW:PCS, author = "M. Anderson and R. D. Pose and C. S. Wallace", title = "A Password-Capability System", journal = compj, volume = 29, number = 1, year = 1986, pages = "1--7" } @inproceedings{ALBL91, author = "Thomas E. Anderson and Henry M. Levy and Brian N. Bershad and Edward D. Lazowska", title = "The Interaction of Architecture and Operating Systems Design", crossref = "ASPLOS4", key = "", pages = "108--120" } @mastersthesis{An:PLP, author = "Andre, David L.", title = "Paging in {L}isp Programs", school = "University of Maryland", address = "College Park, Maryland", year = 1986 } @article{Ap:GCCBFTSA, author = "Appel, Andrew W.", title = "Garbage Collection Can Be Faster Than Stack Allocation", journal = ipl, volume = 25, number = 4, month = jun, year = 1987, pages = "275--279" } @article{Ap:RTTAN, title = "Runtime Tags Aren't Necessary", author = "Andrew W. Appel", journal = lsc, volume = 2, year = 1989, pages = {153--162} } @techreport{Appel:AWL, AUTHOR = "Andrew W. Appel", TITLE = "Allocation without Locking", INSTITUTION = PRINCETON, NUMBER = "CS-TR-182-88", MONTH= sep, YEAR = 1988 } @techreport{AB:VGC, AUTHOR = "Andrew W. Appel and Aage Bendiksen", TITLE = "Vectorized Garbage Collection", INSTITUTION = PRINCETON, NUMBER = "CS-TR-169-88", YEAR = 1988, MONTH = jul } @article{Ap:SGGCFA, AUTHOR = "Andrew W. Appel", TITLE = "Simple Generational Garbage Collection and Fast Allocation", JOURNAL = spe, VOLUME = 19, NUMBER = 2, MONTH = feb, YEAR = 1989, PAGES ={171-183} } @incollection{Ap:GC, title = "Garbage Collection", author = "Andrew W. Appel", booktitle = "Topics in Advanced Language Implementation", editor = "Peter Lee", pages = {89--100}, publisher = "{MIT} Press", address = "Cambridge, Massachusetts", year = 1991 } @inproceedings{AEL:RTCGCSM, author = "Appel, Andrew W. and John R. Ellis and Kai Li", title = "Real-time Concurrent Garbage Collection on Stock Multiprocessors", crossref = "PLDI88", key = "", pages = "11--20", COMMENT = "Not ``real'' real-time, but a very cool algorithm." } @techreport{AJ:OCER, AUTHOR = "Andrew W. Appel and Trevor T. Y. Jim", TITLE = "Optimizing Closure Environment Representations", INSTITUTION = PRINCETON, NUMBER = "CS-TR-168-88", MONTH = jul, YEAR = 1988 } @inproceedings{AM:SMLC, AUTHOR = "A. W. Appel and D. B. MacQueen", TITLE = "A Standard {ML} Compiler", CROSSREF = "FPLCA87", key = "", PAGES = {301--324} } @inproceedings{AL:VMPUP, title = "Virtual Memory Primitives For User Programs", author = "Andrew W. Appel and Kai Li", crossref = "ASPLOS4", key = "", pages = "96--107" } @inproceedings{AZ, author = "Appel and Zhao" } @article{ArCS84, author = "Archer, J. E. and R. Conway and F. B. Schneider", title = "User Recovery and Reversal in Interactive Systems", journal = toplas, volume = 6, number = 1, month = jan, year = 1984, pages = "1--19" } @article{Ar:OMM, author = "Stefan Arnborg", title = "Optimal memory management in a system with garbage collection", journal = "BIT", volume = 14, year =1974, pages = {375--381} } @article{Ar:SASimula, AUTHOR = "Stefan Arnborg", TITLE = "Storage administration in a virtual memory {SIMULA} system", JOURNAL = "BIT", VOLUME = 12, YEAR = 1972, PAGES = {125--141} } @article{AN:ADO, author = "Martin C. Atkins and Lee Nackman", title = "The Active Deallocation of Objects in Object-Oriented Systems", journal = SPE, volume = 18, number = 11, month = nov, year = 1988, pages = {1073--1089} } @article{At:IDL, title = "IDL: A machine-independent data language", author = "Malcolm P. Atkinson", journal = SPE, year = 1977, volume = 7, number = 6, pages = {671--684} } @article{At:AAPP, author = "Atkinson, M.P. and P.J. Bailey and K.J. Chisholm and P. W. Cockshott and R. Morrison", title = "An Approach to Persistent Programming", journal = compj, volume = 26, number = 4, month = dec, year = 1983, pages = "360--365" } @article{ACCM:AFPH, title = "Algorithms for a persistent heap", author = "M. Atkinson and K. Chisholm and P. Cockshott and R. Marshall", journal = SPE, volume = 13, number = 3, month = mar, year = 1983, pages = {259--272} } @article{ACC:CMS, title = "CMS---A Chunk Management System", author = "M. P. Atkinson and K. J. Chisholm and W. P. Cockshott", journal = SPE, volume = 13, number = 3, month = mar, pages = {273--286} } @inproceedings{AF:CMMF, author = "G. Attardi and T. Flagella", title = "A Customizable Memory Management Framework", booktitle = "Proceedings of the {USENIX} {C++} Conference", address = "Cambridge, Massachussetts", year = 1994 } @inproceedings{Au:GCDE, author = "Augusteijn, Lex", title = "{Garbage Collection in a Distributed Environment}", crossref = "parle87", key = "", pages = "75--93", } @inproceedings{Aug:ACLML, AUTHOR = "Lennart Augustsson", TITLE = "A Compiler for Lazy {ML}", CROSSREF = "LFP84", KEY = "", PAGES = {218--227} } @article{Ax:RCCGFP, title="Reference Counting of Cyclic Graphs for Functional Programs", author="T.H. Axford", address="Univ. Birmingham, Birmingham B15 2tt, W Midlands, England", journal=CompJ, volume=33, number=5, year=1990, pages="466--470" } @article{BF:TLRD, author = "Babaoglu, Ozalp and Domenico Ferrari", title = "Two-Level Replacement Decisions in Paging Stores", journal = "{IEEE} Transactions on Computers", VOLUME = "C-32", NUMBER = 12, MONTH = dec, YEAR = 1983, PAGES = {1151--1159} } @book{Ba:DUOS, author = "Maurice J. Bach", title = "The Design of the Unix Operating System", publisher = "Prentice-Hall", address = "Englewood Cliffs, New Jersey", year = 1986 } @article{Ba:ARLLS, title = "Aspects of Reference Locality in List Structures in Virtual Memory", author = "H. D. Baecker", journal = SPE, volume = 3, number = 3, year = 1973, pages = {245--254} } @article{Ba:GCVMCS, author = "H. D. Baecker", title = "Garbage Collection for Virtual-Memory Computer Systems", journal = CACM, volume = 15, number = 11, year = 1972, month = nov, pages = {981--986} } @article{BBB:SMIF, author = "M. J. Bailey and M. P. Barnett and P. B. Burleson", title = "Symbol Manipulation in {FORTRAN}---{SASP I} subroutines", journal = cacm, volume = 7, month = jun, year = 1974, pages = {339--346} } @article{Be:NSS, author = "A. T. Bertziss", title = "A Note on the Storage of Strings", journal = cacm, volume = 8, number = 8, month = aug, year = 1965, pages = {512--513} } @article{BCW:ARCDSA, author = "B. S. Baker and Coffman, Jr., E. G. and D. E. Willard", title = "Algorithms for Resolving Conflicts in Dynamic Storage Allocation", journal = jacm, volume = 32, number = 2, month = apr, year = 1985, pages = {327--343} } @misc{Baker:homepage, author = "Henry Baker", title = "World Wide Web home page", note = "ftp://ftp.netcom.com/pub/hb/hbaker/home.html" } @article{BS:DR, author = "Baer, Jean-Loup and Sager, Gary R.", title = "Dynamic Improvement of Locality in Virtual Memory Systems", journal = ieeetse, volume = "SE-2", number = 1, month = mar, pages = {54-62}, year = 1976 } @article{Bake78, author = "Baker, Jr., Henry G.", title = "List Processing in Real Time on a Serial Computer", journal = cacm, volume = 21, number = 4, month = apr, year = 1978, pages = "280--294" } @techreport{Ba:PBCLCA, author = "Baker, Jr., Henry G.", title = "The Paging Behavior of the {Cheney} List Copying Algorithm", type = "Technical Report", institution = "University of Rochester Computer Science Department", year = 1980, note = "Copies available from the author." } @unpublished{Ba90:CONS, author = "Baker, Jr., Henry G.", title = "{CONS} Should Not {CONS} its Arguments, or, {A} Lazy Alloc is a Smart Alloc", year = 1990, note = "Submitted to {\em Communications of the {ACM}}", } @unpublished{Ba:SafeLeakproof, author = "Baker, Jr., Henry G.", title = "Safe and Leakproof Resource Management Using {A}da83 Limited Types", note = "Unpublished", year = 1993 } @unpublished{Ba90:ERFO, author = "Baker, Jr., Henry G.", title = "Equal Rights for Functional Objects", year = 1990, note = "Submitted to {\em {ACM} Transactions on Programming Languages and Systems}" } @inproceedings{Ba:UAC, author = "Baker, Jr., Henry G.", title = "Unify and Conquer: (Garbage, Updating, Aliasing \ldots) in Functional Languages", crossref = "LFP90", key = "", pages = "218--226" } @inproceedings{Ba:Treadmill, author = "Baker, Jr., Henry G.", title = "The {Treadmill}: Real-time garbage collection without motion sickness", crossref = "OOPSLAGC91", note = "Position paper. Also appears as {\em SIGPLAN Notices 27}(3):66--70, March 1992.", key = "" } @inproceedings{Ba:CCCC, author = "Baker, Jr., Henry G.", title = "Cache-Conscious Copying Collection", crossref = "OOPSLAGC91", key = "", note = "Position paper" } @article{Ba:BBDBPL, author = "Baker, Jr., Henry G.", title = "The Buried Binding and Dead Binding Problems of {L}isp 1.5: Sources of Incomparability in Garbage Collector Measurements", journal = "{ACM} Lisp Pointers", volume = "V", number = 2, month = "April-June", year = 1992, pages = "11--19", note = "Drafted June, 1976", } @article{Ba:IM, author = "Henry G. Baker", title = "Infant Mortality and Generational Garbage Collection", journal = sigplan, volume = 28, number = 4, month = apr, year = 1993, pages = {55--57} } @inproceedings{BL:OPTP, author = "Ball and Larus", title = "Optimal Profiling and Tracing of Programs", crossref = "POPL92", month = jan, year = 1992, pages = {59--70} } @incollection{BS:VAXS80, TITLE = "The Design and Implementation of {VAX}/{S}malltalk-80", AUTHOR = "Stoney Ballard and Stephen Shirron", CROSSREF = "ST80:BHWA", KEY = "", COMMENT = "Use variation of Lieberman-Hewitt collector; use indirection table; don't like reference counting", PAGES = {127--150} } @inproceedings{Balz69, author = "R. M. Balzer", title = "{EXDAMS}---Extendable Debugging and Monitoring System", booktitle = "{AFIPS} Proceedings Spring Joint Computer Conference", month = may, year = 1969, publisher = "{AFIPS} Press", address = "Arlington, Virginia", pages = "567--580" } @techreport{Barb71, author = "Barbacci, M.", title = "A LISP Processor for {C.ai}", institution = "Carnegie-Mellon University", address = "Pittsburgh, PA", type = "Memo", number = "CMU-CS-71-103", year = 1971 } @inproceedings{BZ:ULPIMAP, author = "David A. Barrett and Bejamin G. Zorn", title = "Using Lifetime Predictors to Improve Memory Allocation Performance", crossref = "PLDI93", key = "", pages = {187--196} } @inproceedings{BZ:GCUDTB, author = "David A. Barrett and Benjamin G. Zorn", title = "Garbage Collection Using a Dynamic Threatening Boundary", crossref = "PLDI95", key = "", pages = {301--314} } @article{Barth:GCatCT, AUTHOR = "Jeffrey M. Barth", TITLE = "Shifting Garbage Collection Overhead to Compile Time", JOURNAL = cacm, VOLUME = 20, NUMBER = 7, YEAR = 1977, MONTH = jul, PAGES = {513--518} } @techreport{Ba:CGCAR, author = "Bartlett, Joel F.", title = "Compacting Garbage Collection With Ambiguous Roots", type = "Technical Report", number = "88/2", institution = DECWRL, address = "Palo Alto, California", month = "February", COMMENT="Excellent trick here---make newness a page property, not an address-range property", year = 1988 } @techreport{Ba:MCGCPUG, author = "Bartlett, Joel F.", title = "Mostly-Copying Garbage Collection Picks Up Generations and {C++}", type = "Technical Note", institution = DECWRL, number = "{TN}-12", month = oct, year = 1989 } @inproceedings{BDK:IIV, AUTHOR = "Raymond L. Bates and David Dyer and Johannes A. G. M. Koomen", TITLE = "Implementation of {I}nterlisp on the {VAX}", CROSSREF = "LFP82", KEY = "", PAGES = {81--87} } @article{Ba:PBSL, author = "Alan Batson", title = "Program Behavior at the Symbolic Level", journal = ieeecomputer, month = nov, year = 1976, pages = {21--26} } @article{BB:SSL, AUTHOR = "A. P. Batson and R. E. Brundage", TITLE = "Segment Sizes and Lifetimes in {ALGOL} 60 Programs", JOURNAL = cacm, VOLUME = 20, NUMBER = 1, MONTH = jan, YEAR = 1977, PAGES = {36--44} } @article{BJW:MSS, author = "A. P. Batson and S. M. Ju and D. C. Wood", title = "Measurements of Segment Size", journal = cacm, volume = 13, number = 3, month = mar, year = 1970, pages = {155--159} } @inproceedings{Be:DIDS, author = "Bennett, J.K.", title = "{The Design and Implementation of Distributed Smalltalk}", crossref = "OOPSLA87", key = "", pages = "318--330" } @article{Ba:CNFFFBF, author = "C. Bays", title = "A Comparison of Next-Fit, First-Fit and Best-Fit", journal = CACM, volume = 20, number = 3, pages = "191--192", month = mar, year = 1977 } @article{Be:DSATBMRT, author = "Leland L. Beck", title = "A Dynamic Storage Allocation Technique Based on Memory Residence Time", journal = cacm, volume = 25, number = 10, month = oct, year = 1982, pages = {714--724} } @inproceedings{BPF:AICARS, author = "Jeffrey C. Becker and Arvin Park and Matthew Farrens", title = "An Analysis of the Information Content of Address Reference Streams", year = 1991, pages = {19--24} } @article{Be:AOGC, title = "Algorithms for On-the-fly Garbage Collection", author = "Mordechai Ben-Ari", journal = TOPLAS, volume = 6, number = 3, month = jul, year = 1984, pages = {333--344} } @inproceedings{Be:MPDSA, author = "V. E. Benes", title = "Models and Problems of Dynamic Storage Allocation", booktitle = "Applied Probability and Computer Science---the Interface", publisher = "Institute of Management Science and Operations Research Society of America", month = jan, year = 1981 } @article{BPPR:PMH, title = "Prefetching in a Multilevel Hierarchy", author = "B. T. Bennett and J. H. Pomerene and T. R. Puzak and R. N. Rechtschaffen", journal = "IBM Technical Disclosure Bulletin", volume = 25, number = 1, month = jun, year = 1982, pages = {88--89} } @techreport{Berg88, author = "Bergstein, Steven H.", title = "Best-Case Caching in a Symbolic Multiprocessor", institution = MIT # " {EECS} Department", month = Feb, year = 1988, address = "Cambridge, Massachusetts", type = "Bachelor's thesis" } @techreport{BZ:Midway, author = "Brian N. Bershad and M. J. Zekauskas", title = "Midway: Shared Memory Parallel Programming with Entry Consistency for Distributed Memory Multiprocessors", institution = CMU, number = "{CMU-CS-91-170}", month = sep } @article{Be:ASAM, title = "An Analytical Storage Allocation Model", author = "Terry Betteridge", journal = "Acta Informatica", volume = 3, year = 1973, pages = {101-122} } @book{Be:AASF, author = "Terry Betteridge", title = "An Algebraic Analysis of Storage Fragmentation", publisher = "UMI Research Press", address = "Ann Arbor, Michigan", year = 1982 } @inproceedings{Be:DGCURC, author = "Bevan, David I.", title = "{Distributed Garbage Collection Using Reference Counting}", crossref = "PARLE87", key = "", pages = "176--187" } @article{Be:ERCSDGCP, author = "Bevan, David I.", title = "An Efficient Reference Counting Solution to the Distributed Garbage Collection Problem", journal = "Parallel Computing", volume = 9, number = 2, year = 1989, pages = {179--192} } @inproceedings{BAO:PDSA, author = "B. M. Bigler and S. J. Allan and R. R. Oldehoeft", title = "Parallel Dynamic Storage Allocation", booktitle = "1985 International Conference on Parallel Processing", year = 1985, pages = {272--275} } @inproceedings{Bi:EDSSLDO, author = "Biliris, Alexandros", title = "An Efficient Database Storage Structure for Large Dynamic Objects", booktitle = "Proceedings, {IEEE} Data Engineering Conference", address = "Phoenix, Arizona", month = feb, year = 1992, pages = "301--308" } @techreport{Bi:DGCFNO, author = "Andrew Birrel et al.", title = "Distributed Garbage Collection for Network Objects", institution = decsrc, number = 116, year = 1993 } @phdthesis{Bishop:phd, author = "Peter B. Bishop", title = "Computer Systems with a Very Large Address Space and Garbage Collection", SCHOOL = MIT # " Laboratory for Computer Science", note = "Technical report MIT/LCS/TR-178", MONTH = MAY, YEAR = 1977 } @inproceedings{Blau83, author = "Blau, Ricki", title = "Paging on an Object-Oriented Personal Computer for {S}malltalk", booktitle = "Proceedings of the {ACM} {SIGMETRICS} Conference on Measurement and Modeling of Computer Systems", address = "Minneapolis, Minnesota", note = "Also available as Technical Report {UCB/CSD} 83/125, University of California at Berkeley, Computer Science Division ({EECS}), August 1983", month = aug, year = 1983 } @article{Bo:HL, AUTHOR = "Daniel G. Bobrow", TITLE = "A Note on Hash Linking", JOURNAL = cacm, VOLUME = 18, NUMBER = 7, YEAR = 1975, MONTH = jul, PAGES = {413--415} } @article{Bo:MRSURC, TITLE = "Managing Reentrant Structures Using Reference Counts", AUTHOR = "Daniel G. Bobrow", JOURNAL = toplas, VOLUME = 2, NUMBER = 3, MONTH = jul, YEAR = 1980, PAGES = {269--273}, comment = "\com can handle some special cases of reference counting, but restricts the programmer to certain stereotyped patterns." } @article{BC:CELS, TITLE = "Compact Encodings of List Structure", AUTHOR = "Daniel G. Bobrow and Douglas W. Clark", JOURNAL = toplas, VOLUME = 1, NUMBER = 2, MONTH = oct, YEAR = 1979, COMMENT = "Good words on {CDR}-coding ---REJ", PAGES = {266--286} } @article{BR:CLPCL, title = "A Comparison of List-Processing Computer Languages", author = "Daniel G. Bobrow and Bertram Raphael", journal = cacm, volume = 7, number = 4, month = apr, year = 1964, pages = {231--240} } @inproceedings{Bo:HOSSCGC, title = "Hardware and Operating System Support for Conservative Garbage Collection", author = "Hans-Juergen Boehm", booktitle = IWMM, year = 1991, month = oct, address = "Palo Alto, California", pages = {61--67}, publisher = "{IEEE} Press" } @inproceedings{Bo:SECGC, title = "Space-Efficient Conservative Garbage Collection", author = "Hans-Juergen Boehm", crossref = "PLDI93", key = "", pages = "197--206" } @misc{BMBC:GC91panel, author = "Hans-Juergen Boehm and Eliot Moss and Joel Bartlett and David Chase", title = "Panel Discussion: Conservative vs. Accurate Garbage Collection", howpublished= "Summary appears in \cite{WH:GC91}", month = oct, year = 1991 } @techreport{BA:IR, AUTHOR= "Hans-Juergen Boehm and Alan Demers", TITLE= "Implementing {R}ussell", INSTITUTION=RICE, NUMBER="COMP TR85-25", YEAR=1985 } @unpublished{BH:SAOCR, AUTHOR = "Hans Boehm and Lucy Hederman", TITLE = "Storage Allocation Optimization in a Compiler for {R}ussell", NOTE = "Submitted for publication", YEAR = 1988, MONTH = jul } @article{BW:GCIUE, author = "Boehm, Hans-Juergen and Mark Weiser", title = "Garbage Collection in an Uncooperative Environment", journal = spe, volume = 18, number = 9, month = sep, year = 1988, pages = {807-820} } @inproceedings{BDS:MPGC, AUTHOR = "Hans-J. Boehm and Alan J. Demers and Scott Shenker", TITLE = "Mostly Parallel Garbage Collection", CROSSREF = "PLDI91", KEY = "", PAGES= {157--164}, note = "" } @article{BC:GCSC, author = "Hans-Juergen Boehm and David Chase", title = "A Proposal for Garbage-Collector-Safe Compilation", journal = "The Journal of {C} Language Translation", volume = 4, number = 2, month = dec, year = 1991, pages = {126--141}, note = "" } @article{BBDT:AFSAR, title = "Analysis of Free Storage Algorithms---Revisited", author = "G. Bozman and W. Buco and T. P. Daly and W. H. Tetzlaff", journal = ISJ, volume = 23, number = 1, year = 1984, pages = "44--64" } @article{Bo:SLB, title = "The Software Lookaside Buffer Reduces Search Overhead with Linked Lists", author = "Gerald Bozman", journal = cacm, volume = 27, number = 3, month = mar, year = 1984, pages = {222--227} } @incollection{BL:SSAGCA68, TITLE = "A Scheme of Storage Allocation and Garbage Collection for {ALGOL} 68", AUTHOR = "P. Branquart and J. Lewi", CROSSREF = "Peck71", KEY = "", PAGES = {199--238} } @article{Br:EIFFSDSA, author = "R. Brent", title = "Efficient Implementation of the First-Fit Strategy for Dynamic Storage Allocation", journal = TOPLAS, month = jul, year = 1989 } @book{Brooks:MMM, AUTHOR="Brooks, Jr., Frederick P.", TITLE="The Mythical Man Month", PUBLISHER=AW, YEAR=1975 } @inproceedings{Broo84, author = "Rodney A. Brooks", title = "Trading Data Space For Reduced Time and Code Space in Real-Time Collection on Stock Hardware", crossref = "LFP84", key = "", pages = "108--113" } @inproceedings{BGS:S1CL, AUTHOR = "Rodney A. Brooks and Richard P. Gabriel and Guy L. {Steele Jr.}", TITLE = "S-1 {C}ommon {LISP} Implementation", CROSSREF = "LFP82", KEY = "", PAGES = {108--113} } @inproceedings{BGS:OCfLSL, AUTHOR = "Rodney A. Brooks and Richard P. Gabriel and Guy L. {Steele Jr.}", TITLE = "An Optimizing Compiler for Lexically Scoped {LISP}", YEAR = 1982, PAGES = {261--275}, BOOKTITLE = CC } @inproceedings{BGS:LiLHPP, AUTHOR = "Rodney A. Brooks and Richard P. Gabriel and Guy L. {Steele Jr.}", TITLE = "{LISP}-in-{LISP}: High Performance and Portability", CROSSREF = "IJCAI83", KEY = "", VOLUME = 2, PAGES = {845--849} } @article{Br:MFBM, author = "A. G. Bromley", title = "Memory Fragmentation in Buddy Methods for Dynamic Storage Allocation", journal = "Acta Informatica", volume = 14, number = 2, month = aug, year = 1980, pages = {107--117} } @inproceedings{BZ:FIDO, title = "Fido: A Cache that Learns to Fetch", author = "Brown and Zdonik" } @phdthesis{Br:thesis, TITLE = "Recursive Structures in Computer Systems", AUTHOR = "D. R. Brownbridge", SCHOOL = "University of Newcastle upon Tyne", ADDRESS = "United Kingdom", MONTH = sep, YEAR = 1984 } @inproceedings{Br:CRC, AUTHOR = "D. R. Brownbridge", TITLE = "Cyclic Reference Counting for Combinator Machines", CROSSREF = "FPLCA85", key = "", PAGES = {273--288}, comments={\com Presents an interesting, but incorrect algorithm (see [Salkild, 1987]), for cyclic reference counting based on the notion of strong and weak (cycle-closing) pointers. ---REJ} } @inproceedings{Br:JOSS, author = "G. E. Bryan", title = "{JOSS}: 20,000 hours at a console", booktitle = "AFIPS Fall Joint Conference Proceedings, Volume 31", year = 1967, pages = {769--777} } @inproceedings{BJLM:ODCLFS, AUTHOR = "Michael Burrows and Charles Jerian and Butler Lampson and Timothy Mann", TITLE = "On-line data compression in a log-structured file system", CROSSREF = "ASPLOS5", key = "", pages = "2--9" } @article{Bu:BSVDSA, author = "Warren Burton", title = "A Buddy System Variation for Disk Storage Allocation", journal = cacm, volume = 19, number = 7, month = jul, year = 1976, pages = {416--417} } @article{Ca:OF, author = "J. A. Campbell", title = "A Note on an Optimal-Fit Method for Dynamic Allocation of Storage", journal = "Computer Journal", volume = 14, number = 1, year = 1971, month = feb, pages = {7--9} } @article{Ca:OUSSMGC, author = "J. A. Campbell", title = "Optimal Use of Storage in a Simple Model of Garbage Collection", journal = ipl, volume = 3, year = 1974, pages = {37--38} } @inproceedings{Card:CFL, AUTHOR = "Luca Cardelli", TITLE = "Compiling a Functional Language", CROSSREF = "LFP84", KEY = "", PAGES = {208--217} } @techreport{CDG:Modula3, author = "Luca Cardelli and James Donahue and Lucille Glassman and Mick Jordan and Bill Kalso and Greg Nelson", title = "Modula-3 Report (revised)", month = nov, year = 1989, type = "Research Report", number = 52, institution = DECSRC } @inproceedings{Ca:SUPA, title = "Shoring Up Persistent Applications", author = "Michael J. Carey and David J. DeWitt and Michael J. Franklin and Nancy E. Hall and Mark L. McAuliffe and Jeffrey F. Naughton and Daniel T. Schuh and Marvin H. Solomon and C. K. Tan and Odysseas G. Tsatalos and Seth J. White and Michael J. Zwilling", crossref = "SIGMOD94", pages = {383--394} } @inproceedings{CFZ:FGS, author = "Michael J. Carey and Michael J. Franklin and Markos Zaharioudakis", title = "Fine-Grained Sharing in a Page Server OODBMS", crossref = "SIGMOD94", pages = {359--370} } @inproceedings{CH:WSClock, author = "W. R. Carr and J. L. Henessey", title = "{WSClock} -- A Simple and Effective Algorithm for Virtual Memory Management", booktitle = SOSP, month = dec, year = 1981, pages = "87--95" } @inproceedings{CG:CCCC, author = "Vincent Cate and Thomas Gross", title = "Combining the Concepts of Compression and Caching for a Two-Level File System", crossref = "ASPLOS4", key = "", pages = {200--209} } @incollection{Ca:OO1, author = "R. G. G. Cattell", title = "An Engineering Database Benchmark", booktitle = "The Benchmark Handbook for Database and Transaction Processing Systems", editor = "Jim Gray", publisher = MK, year = 1991, pages = {247--281} } @inproceedings{CaWB86, author = "Caudill, Patrick J. and Allen Wirfs-Brock", title = "A Third-Generation {S}malltalk-80 Implementation", crossref = "OOPSLA86", key = "", pages = "119--130", note = "" } @misc{Caud88, author = "Patrick J. Caudill", note = "personal communication", year = 1988 } @article{CFKA90, author = "Chaiken, David and Craig Fields and Kiyoshi Kurihara and Anant Agarwal", title = "Directory-Based Cache Coherence in Large-Scale Multiprocessors", journal = "{IEEE} Computer", volume = 23, number = 6, month = jun, year = 1990, pages = "49--58" } @phdthesis{Chambers:phd, title = "The Design and Implementation of the SELF Compiler, an Optimizing Compiler for an Object-Oriented Programming Language", author = "Craig Chambers", school = "Stanford University", addres = "Palo Alto, California", month = mar, year = 1992, } @inproceedings{CU:C, author = "Craig Chambers and David Ungar", title = "Customization: Optimizing Compiler Technology for {S}elf, a Dynamically-Typed Object-Oriented Language", booktitle = "Proceedings of {SIGPLAN} '89", pages = "146--160", year = 1989 } @inproceedings{CU:MPOOLP, author = "Craig Chambers and David Ungar", title = "Making Pure Object-Oriented Languages Practical", crossref = "OOPSLA91", key = "", pages = {1-15}, note = "" } @inproceedings{ChKa89, author = "Ellis E. Chang and Randy H. Katz", title = "Exploiting Inheritance and Structure Semantics for Effective Clustering and Buffering in an Object-Oriented {DBMS}", booktitle = SIGMOD, note = {Snowbird, Utah}, month = jun, year = 1989, pages = {348-357} } @phdthesis{Chase:phd, AUTHOR="David Chase", TITLE="Garbage Collection and Other Optimizations", YEAR=1987, MONTH=aug, SCHOOL=RICE, ADDRESS = "Houston, Texas" } @inproceedings{Chase:SCSAO, AUTHOR = "David Chase", TITLE = "Safety Considerations for Storage Allocation Optimizations", CROSSREF = "PLDI88", KEY = "", PAGES= {1--10} } @inproceedings{CWZ:APS, AUTHOR = "David R. Chase and Mark Wegman and F. Kenneth Zadeck", TITLE = "Analysis of Pointers and Structures", CROSSREF = "PLDI90", KEY = "", COMMENT = "Incremental Static Single Assignment form, plus heuristics for detecting trees, and careful treatment of evaluation order to preserve monotonic behavior.", PAGES= {296--310}, note = "" } @inproceedings{CLLB:LSO, author = "Jeffrey S. Chase and Henry M. Levy and Edward D. Lazowska and Miche Baker-Harvey", title = "Lightweight Shared Objects in a 64-bit Operating System", crossref = "OOPSLA92", key = "", pages = "397--413" } @techreport{CLBL:HTU64AS, author = "Jeffrey S. Chase and Henry M. Levy and Miche Baker-Harvey and Edward D. Lazowska", title = "How to Use a 64-bit Virtual Address Space", institution = "University of Washington", address = "Seattle, Washington", number = "92-03-02", year = 1992, month = feb } @inrpoceedings{CB:APSSHDPS, author = "T-F. Chen and J-L. Baer", title = "A Performance Study of Software and Hardware Data PRefetching Schemes", crossref = "ISCA94", pages = {223--233} } @article{Ch:NLCA, AUTHOR = "C. J. Cheney", TITLE = "A Nonrecursive List Compacting Algorithm", JOURNAL = cacm, VOLUME = 13, NUMBER = 11, YEAR = 1970, MONTH = nov, PAGES = {677--678} } @article{Ch:RCGC, AUTHOR = "Thomas W. Christopher", TITLE = "Reference Count Garbage Collection", JOURNAL = spe, VOLUME = 14, NUMBER = 6, PAGES = {503--507}, MONTH = jun, YEAR = 1984, comments={ \com A heap management scheme for languages (such as Fortran) which do not have this facility buit in. Does not rely on the existance of {\it roots} in the graph. His complex algorithm actually contains a cyclic reference count algorithm.} } @article{Cl:MDLSUL, AUTHOR = "Douglas W. Clark", TITLE = "Measurements of Dynamic List Structure Use in {L}isp", JOURNAL = ieeetse, VOLUME = 5, NUMBER = 1, MONTH = jan, YEAR = 1979, PAGES = {51--59} } @article{CG:SLSL, title = "A Note on Shared List Structure in {LISP}", author = "D. W. Clark and C. C. Green", journal = "Information Processing Letters", volume = 7, number = 6, month = oct, year = 1978, pages = {312--314}, } @article{CG:ESLS, AUTHOR = "Douglas W. Clark and C. Cordell Green", TITLE = "An Empirical Study of List Structure in {LISP}", JOURNAL = cacm, VOLUME = 20, NUMBER = 2, YEAR = 1977, MONTH = feb, PAGES = {78--87}, COMMENT = "Great paper; evidence pro CDR-coding, con fancy CONS" } @inproceedings{ClHO88, author = "Clinger, Will and Anne Hartheimer and Erik Ost", title = "Implementation Strategies for Continuations", crossref = "LFP88", key = "", pages = "124--131" } @techreport{CK:Shade, author = "Robert Cmelik and David Keppel", title = "Shade: A Fast Instruction-Set Simulator for Execution Profiling", number = "UWCSE 93-06-06", institution = "Dept. of Computer Science and Engineering, University of Washington", address = "Seattle, Washington", year = 1993 } @article{CACB84, author = "Cockshott, W. and M. Atkinson and K. Chisholm and P. Bailey and R. Morrison", title = "Persistent Object Management System", journal = spe, volume = 14, number = 1, month = jan, year = 1984, pages = "49--71" } @article{Co:ICMDSA, author = "Coffman, Jr., E. G.", title = "An Introduction to Combinatorial Models of Dynamic Storage Allocation", journal = "SIAM Review", volume = 25, number = 3, month = july, year = 1983, pages = {311--325} } @article{CKS:AOFFSA, author = "Coffman, Jr., E. G. and T. T. Kadota and L. A. Shepp", title = "On the Asymptotic Optimality of First-Fit Storage Allocation", journal = ieeetse, volume = "SE-11", number = 2, month = feb, year = 1985, pages = {235--239} } @article{CL:PEADSA, author = "Coffman, Jr., E. G. and F. T. Leighton", title = "A Provably Efficient Algorithm for Dynamic Storage Allocation", journal = "Journal of Computer and System Sciences", volume = 38, number = 1, month = feb, year = 1989, pages = {2--35} } @article{Co:GCLDS, TITLE = "Garbage Collection of Linked Data Structures", AUTHOR = "Jacques Cohen", JOURNAL = csurv, VOLUME = 13, NUMBER = 3, YEAR = 1981, MONTH = sep, PAGES = {341--367} } @article{CN:CCAGC, TITLE = "Comparison of Compacting Algorithms for Garbage Collection", AUTHOR = "Jacques Cohen and Alexandru Nicolau", JOURNAL = toplas, VOLUME = 5, NUMBER = 4, MONTH = oct, YEAR = 1983, PAGES = {532--553} } @article{Co:RC, AUTHOR = "George E. Collins", TITLE = "A Method for Overlapping and Erasure of Lists", JOURNAL = cacm, VOLUME = 2, NUMBER = 12, month = dec, YEAR = 1960, COMMENT = "The original? reference counting paper. ---REJ", PAGES = {655--657} } @article{Co:EASA, author = "G. O. Collins", title = "Experience in Automatic Storage Allocation", journal = cacm, volume = 4, number = 10, month = oct, year = 1961, pages = {436--440} } @inproceedings{CG:RM, author = "D. Comer and J. Griffoen", title = "A New Design for Distributed Systems: The Remote Memory Model", crossref = "USENIXS90", key = "", pages = {127--135} } @article{Co:MLI, author = "W. T. Comfort", title = "Multiword List Items", journal = cacm, volume = 7, number = 6, month = jun, year = 1964 } @techreport{CWZ:PPGCOD, author = "Jonathan E. Cook and Alexander L. Wolf and Benjamin G. Zorn", title = "Partition Selection Policies in Object Database Garbage Collection", crossref = "SIGMOD94", pages = {371--382} } @inproceedings {Co:ERWGCM, author = "Corporaal, H. and T. Veldman and A. J. van de Goor", title = "{An Efficient, Reference Weightbased Garbage Collection Method for Distributed Systems}", booktitle = "Proceedings of the PARBASE-90 Conference", year = 1990, pages = "463 -- 465", publisher = "{IEEE}" } @inproceedings{Co:DHMURW, author = "Henk Corporaal", title = "Distributed Heap Management Using Reference Weights", booktitle = "Distributed Memory Computing", publisher = "Springer Verlag", year = 1991, note = "LNCS 487" } @article{Cour88, author = "Courts, Robert", title = "Improving Locality of Reference in a Garbage-Collecting Memory Management System", journal = CACM, volume = 31, number = 9, month = Sep, year = 1988, pages = "1128--1138" } @misc{CO:APPMMS, author = "Howard R. Courts and Donald W. Oxley", title = "Adaptive Page Placement Memory Management System", note = "U.S. Patent 5,394,537; authors both of Texas Instruments Inc. of Dallas, Texas" } @article{Cr:GCASMP, author = "Crammond, J.", title = "A Garbage Collection Algorithm for Shared Memory Parallel Processors", journal = "International Journal of Parallel Programming", volume = 17, number = 6, month = dec, year = 1989, pages = "497 -- 522", } @article{CT:SRSFBS, author = "B. Cranston and R. Thomas", title = "A Simplified Recombination Scheme for the {F}ibonacci Buddy System", journal = CACM, volume = 18, number = 6, month = jul, year = 1975, pages = "331--332" } @inproceedings{Da:IERTLGC, title = "Improved Effectiveness from a Real-Time {LISP} Garbage Collector", author = "Jeffrey L. Dawson", crossref = "LFP82", key = "", pages = {159--167} } @inproceedings{De:Grasshopper, author = "Alan Dearle and Rex di Bona and James Farrow and Frans Henskens and Anders Lindstrom and John Rosenberg and Francis Vaughan", title = "Grasshopper---A Persistent Operating System for Conventional Hardware", crossref = "IWOOOS92", key = "", pages = {81--85} } @inproceedings{DRHV:EOSSPOS, author = "Alan Dearle and others", title = "An Examination of Operating System Support for Persistent Object Systems", booktitle = "25th Hawaii International Conference on Systems Sciences", volume = 1, year = 1992, pages = {779--789}, } @techreport{Deb:EGCGM, AUTHOR = "Ashoke Deb", TITLE = "An efficient garbage collector for graph machines", INSTITUTION = OGC, YEAR = 1984, NUMBER = "CS/E-84-003" } @inproceedings{DWH:CGCGC, author = "Demers, Alan and Mark Weiser and Barry Hayes and Daniel Bobrow and Scott Shenker", title = "Combining Generational and Conservative Garbage Collection: Framework and Implementations", crossref = "POPL90", key = "", pages = "261--269" } @inproceedings{De:ARIC, author = "V. Delacour", title = "Allocation Regions and Implementation Contracts", crossref = "IWMM92", key = "", pages = "426-439" } @book{De:DDI, author = "Daniel Dennett", title = "Darwin's Dangerous Idea", year = 1995 } @article{De:VM, author = "Peter J. Denning", title = "Virtual Memory", journal = csurv, volume = 3, number = 2, month = sep, year = 1970, pages = {153--189} } @article{De:WSPP, author = "Peter Denning", title = "Working Sets Past and Present", journal = ieeetse, volume = "SE-6", number = 1, month = jan, year = 1980, pages = {64--84} } @article{De:MSGCDA, author = "Derbyshire, Margaret H.", title = "Mark Scan Garbage Collection on a Distributed Architecture", journal = "Lisp and Symbolic Computation", year = 1990, month = apr, volume = 3, number = 2, pages = "135--170" } @inproceedings{De:GCRTCL, title = "Garbage Collection and Runtime Typing as a {C}++ Library", author = "David L. Detlefs", crossref = "USENIXC++92", key = "" } @techreport{De:CGCC, title = "Concurrent garbage collection for {C}++", author = "David L. Detlefs", institution = "Carnegie-Mellon University", number = "CMU-CS-90-119", month = may, year = 1990 } @phdthesis{Detlefs:phd, author = "David L. Detlefs", title = "Concurrent, Atomic Garbage Collection", school = "Dept. of Computer Science, Carnegie Mellon University", month = nov, year = 1991, address = "Pittsburgh, Pennsylvania", note = "Technical report CMU-CS-90-177" } @techreport{DDZ:MAC, author = "David Detlefs and Al Dosser and Benjamin Zorn", title = "Memory Allocation Costs in Large {C} and {C++} Programs", institution = "University of Colorado at Boulder, Dept. of Computer Science", month = aug, year = 1993, address = "Boulder, Colorado", number = "CU-CS-665-93" } @techreport{De:ECGCM3, author = "John DeTreville", title = "Experience with Concurrent Garbage Collectors for {M}odula-2+", institution = DECSRC, address = "Palo Alto, California", number = 64, month = Aug, year = 1990 } @techreport{De:HUTE, author = "John DeTreville", title = "Heap Usage in the {Topaz} Environment", institution = DECSRC, address = "Palo Alto, California", number = 63, month = Aug, year = 1990 } @inproceedings{De:LMVCP, author = "L. Peter Deutsch", title = "A {LISP} Machine with Very Compact Programs", booktitle = "International Joint Conference on Artificial Intelligence", address = "Stanford, California", year = 1973, pages = {697--703} } @inproceedings{De:ODLA, author = "A. Deutsch", title = "On Determining Lifetime and Aliasing of Dynamically Allocated Data in Higher-Order Functional Specifications", crossref = "POPL90", key = "", pages = {157--168} } @article{DeBo76, author = "Deutsch, L. Peter and Daniel G. Bobrow", title = "An Efficient, Incremental, Automatic Garbage Collector", journal = cacm, volume = 19, number = 9, month = sep, year = 1976, pages = "522--526" } @inproceedings{DeSc84, author = "Deutsch, Peter L. and A.M. Schiffman", title = "Efficient Implementation of the {S}malltalk-80 System", crossref = "POPL84", key = "", pages = "297--302" } @phdthesis{Dickman:phd, AUTHOR = "Peter Dickman", TITLE = "Distributed Object Management in a Non-Small Graph of Autonomous Networks With Few Failures", SCHOOL = "University of Cambridge", ADDRESS = "United Kingdom", MONTH = sep, YEAR = 1991 } @unpublished{Di:OWRC, author = "Dickman, Peter", title = "Optimising Weighted Reference Counts for Scalable Fault-Tolerant Distributed Object-Support Systems", note = "Submitted for {HICSS} 26", month = jun, year = 1992, } @article{DL:OTFGC, AUTHOR = "Edsger W. Dijkstra and Leslie Lamport and A. J. Martin and C. S. Scholten and E. F. M. Steffens", TITLE = "On-the-Fly Garbage Collection: An Exercise in Cooperation", JOURNAL = cacm, VOLUME = 21, NUMBER = 11, YEAR = 1978, MONTH = nov, COMMENT = "much overlooked algorithm, presented as more of a concurrency exercise than a garbage collector", PAGES = {966--975} } @book{Di:DP, author = "Edsger W. Dijkstra", title = "A Discipline of Programming" } @incollection{Di:NSP, author = "Edsger W. Dijkstra", title = "Notes on Structured Programming", booktitle = "Structured Programming", publisher = "Academic Press", year = 1969 } @inproceedings{DMH:CSGC, author = "Amer Diwan and Eliot Moss and Richard Hudson", title = "Compiler Support for Garbage Collection in a Statically-Typed Language", crossref = "PLDI92", key = "", pages = {273--282} } @unpublished{DTM:MSP, author = "Amer Diwan and David Tarditi and Eliot Moss", title ="Memory Subsystem Performance of Programs with Intensive Heap Allocation", month = aug, year = 1993, note = "Submitted for publication" } @inproceedings{Do:CC, author = "Fred Douglis", title = "The Compression Cache: Using On-line Compression to Extend Physical Memory", booktitle = "Proceedings of 1993 Winter USENIX Conference", address = "San Diego, California", month = jan, year = 1993, pages = {519--529} } @inproceedings{DST:CTMR, author = "S. Duvvuru and R. Sundararajan and E. Tick and A. V. S. Sastry and L. Hansen and X. Zhong", title = "A Compile-Time Memory-Reuse Scheme for Concurrent Logic Programs", crossref = IWMM92, key = "", pages = {264--276} } @inproceedings{DKCZ:ESDSM, author = "S. Dwarkadas and P. Keleher and A. L. Cox and W. Zwaenpoel", title = "An Evaluation of Software for Distributed Shared Memory for Next-Generation Processors and Networks", booktitle = CA, month = jun, year = 1993 } @inproceedings{DBE:GGBGC, author = "R. Kent Dybvig and Carl Bruggeman and David Eby", title = "Guardians in a Generation-Based Garbage Collector", crossref = "PLDI93", key = "", pages = {207--216} } @article{DHB:SAS, author = "R. Kent Dybvig and Robert Heib and Carl Bruggeman", title = "Syntactic Abstraction in Scheme", journal = lasc, volume = 5, number = 4, year = 1993 } @techreport{DEB:DSB, author = "R. Kent Dybvig and David Eby and Carl Bruggeman", title = "Don't Stop the {BIBOP}: Flexible and Efficient Storage Management for Dynamically Typed Languages", number = "400", institution = "Indiana University Computer Science Dept.", month = mar, year = 1994 } @inproceedings{EL:DGC, author = "Eckart, J.D. and R.J. LeBlanc", title = "Distributed Garbage Collection", crossref = "SIIT87", key = "", pages = "264--273" } @techreport{Edelson:DSRiC, AUTHOR="Daniel Ross Edelson", TITLE="Dynamic Storage Reclamation in {C++}", INSTITUTION=UCSC, NUMBER="UCSC-CRL-90-19", MONTH = jun, YEAR=1990 } @inproceedings{Ed:SP, author = "Daniel Ross Edelson", title = "Smart Pointers: They're Smart, But They're Not Pointers", crossref = "USENIXC++92", key = "", pages = "1--19", note = "Technical Report UCSC-CRL-92-27, University of California at Santa Cruz, Baskin Center for Computer Engineering and Information Sciences, June 1992" } @misc{Ed:twoPointer, author = "Edwards", title = "Two-Pointer Algorithm" } @unpublished{EHH:GCOODPE, author = "El-Habbash, A. and C. Horn and M. Harris", title = "{Garbage Collection in an Object Oriented, Distributed, Persistent Environment}", note = "Position paper for {OOPSLA/ECOOP} '90 Workshop on Garbage Collection in Object-Oriented Systems. See \cite{JJ:GCOOS}", month = oct, year = 1990, } @article{EO:APMA, author = "C. S. Ellis and T. J. Olson", title = "Algorithms for Parallel Memory Allocation", journal = "International Journal of Parallel Programming", volume = 17, number = 4, year = 1988, pages = {303--345} } @techreport{ED:SEGCC, author = "John R. Ellis and David L. Detlefs", title = "Safe, Efficient Garbage Collection for {C}++", institution = DECSRC, number = 102, comment = "Available via anonymous internet ftp from parcftp.xerox.com:/pub/ellis/gc.", year = 1993 } @inproceedings{ES:Loge, author = "R. M. English and A. A. Stepanov", title = "Loge: A Self-Organizing Disk Controller", booktitle = "Proceedings of the Winter 1992 {USENIX} Conference", address = "San Francisco, California", month = jan, year = 1992, pages = "238--252" } @article{ES:OLEDP, TITLE = "An On-Line Edge-Deletion Problem", AUTHOR = "Shimon Even and Yossi Shiloach", JOURNAL = jacm, VOLUME = 28, NUMBER = 1, MONTH = jan, YEAR = 1981, PAGES = {1--4} } @inproceedings{EV:RTGC, author = "Steven Engelstad and Jim Vandendorp", title = "Automatic Storage Management for Systems with Real Time Constraints", crossref = "OOPSLAGC91", key = "", note = "Position paper" } @inproceedings{FP:DBRC, AUTHOR = "Matthew Farrens and Arvin Park", TITLE = "Dynamic Base Register Caching: A Technique for Reducing Address Bus Width", CROSSREF = "ISCA91", KEY = "", PAGES = "128--137" } @inproceedings{FeMi90, author = "Feeley, Marc and James S. Miller", title = "A Parallel Virtual Machine for Efficient {S}cheme Compilation", crossref = "LFP90", key = "", pages = "119--130" } @inproceedings{Fe:Igor, title = "{IGOR}: A System For Program Debugging Via Reversible Execution", author = "Stuart I. Feldman and Channing B. Brown", crossref = "PDD88", key = "", pages = "112--123" } @article{Fe:CCLCA, author = "Robert R. Fenichel", title = "Comment on Cheney's List-Compaction Algorithm", journal = cacm, volume = 14, number = 9, month = sep, year = 1971, pages = {603--604} } @article{Fe:GFNUMAS, author = "H. R. P. Ferguson", title = "On a Generalization of the {F}ibonacci numbers useful in Memory Allocation Schema", journal = "The Fibonacci Quarterly", volume = 14, number = 3, month = oct, year = 1976, pages = {233--243} } @article{FY:LGCVMCS, AUTHOR = "Robert R. Fenichel and Jerome C. Yochelson", TITLE = "A {LISP} Garbage-Collector for Virtual-Memory Computer Systems", JOURNAL = cacm, VOLUME = 12, NUMBER = 11, YEAR = 1969, MONTH = nov, PAGES = {611--612} } @inproceedings{FP:DSAASS, author = "J. S. Fenton and D. W. Payne", title = "Dynamic Storage Allocations of Arbitrary Sized Segments", booktitle = "Proc. IFIPS", year = 1974, pages = {344--348} } @article{Ferr76, author = "Domenico Ferrari", title = "The improvement of program behavior", journal = "{IEEE} Computer", month = Nov, year = 1976, pages = {39-47} } @article{Fi:BWGC, author = "D. A. Fisher", title = "Bounded Workspace Garbage Collection in an Address Order-Preserving List Processing Environment", journal = ipl, volume = 3, year = 1974, pages = {29--32} } @article{Fi:CCLSLT, author = "D. A. Fisher", title = "Copying List Structures in Bounded Time Using Bounded Workspace", journal = cacm, volume = 18, number = 5, month = may, year = 1975, pages = {251--252} } @article{Fo:CARTMM, author = "R. Ford", title = "Concurrent algorithms for real-time memory management", journal = "IEEE Software", month = sep, year = 1988, pages = {10--23} } @inproceedings{FW:CACCTA, author = "I. Foster and W. Winsborough", title = "Copy Avoidance through Compile-Time Analysis and Local Reuse", booktitle = "International Symposium on Logic Programming", location = "San Diego", month = nov, year = 1991, pages = {455--469}, publisher = mit } @article{Fo:LP, author = "J. M. Foster", title = "List Processing", publisher = "MacDonald", address = "London", year = 1967 } @article{Fo:DSAAC, author = "J. A. Fotheringham", title = "Dynamic Storage Allocation in hte Atlas Computer Including an Automatic Use of the Backing Store", journal = cacm, volume = 4, pages = 435 } @article{FB:AVTUSH, author = "P. A. Franaszek and B. T. Bennett", title = "Adaptive Variation of the Transfer Unit in a Storage Hierarchy", journal = "IBM Journal of Research and Development", volume = 22, number = 4, month = jul, year = 1978, pages = {405--412} } @manual{Fran89, title = "Allegro Common {L}isp Manual", year = 1989, organization = "Franz Inc." } @article{FGS:PPR, author = "W. F. Freiburger and U. Grenander and P. D. Sampson", title = "Patterns in Program References", journal = "IBM Journal of Research and Development", volume = 19, number = 3, month = may, year = 1975, pages = {230--243} } @incollection{FrHK84, author = "Friedman, D. P. and C. T. Haynes and Kohlbecker, E.", title = "Programming With Continuations", editor = "P. Pepper", booktitle = "Program Transformation and Programming Environments", pages = "263--274", publisher = SV, year = 1984 } @article{FW:RCCMCE, AUTHOR = "D. P. Friedman and D.S. Wise", TITLE = "Reference Counting Can Manage the Circular Environments of Mutual Recursion", JOURNAL = ipl, VOLUME = 8, NUMBER = 1, YEAR = 1979, PAGES = {41--45}, MONTH = Jan, } @article{FW:GCHWIST, author = "Daniel P. Friedman and David S. Wise", title = "Garbage Collecting a Heap which Includes a Scatter Table", journal = ipl, volume = 5, number = 6, month = dec, year = 1976, pages = {161--164} } @inproceedings{FP:DPMVCM, author = "J. W. C. Fu and J. H. Patel", title = "Data Prefetching and Multiprocessor Vector Cache Memories", crossref = "ISCA91", key = "", pages = {54--65} } @inproceedings{FuMY91, author = "Shinichi Furusou and Satoshi Matsuoka and Akinori Yonezawa", title = "Parallel Conservative Garbage Collection with Fast Allocation", crossref = "OOPSLAGC91", key = "", note = "Position paper" } @book{Gabr85, author = "Richard P. Gabriel", title = "Performance and Evaluation of {Lisp} Systems", series = "Series in Computer Science", publisher = "{MIT} Press", address = "Cambridge, Massachusetts", year = 1985 } @article{Ga:WisB, author = "Richard P. Gabriel", title = "Lisp: Good News, Bad News, and How to Win Big", journal = "A.I. Expert" } @article{GM:DSA, author = "S. Gai and M. Mezzalama", title = "Dynamic Storage Allocation: Experiments Using the {C} Language", journal = SPE, volume = 15, number = 7, month = jul, year = 1985, pages = {693--704} } @inproceedings{GGU:WCAMA, author = "M. R. Garey and R. L. Graham and J. D. Ullman", title = "Worst-Case Analysis of Memory Allocation Algorithms", booktitle = "Fourth Annual ACM Symposium on the Theory of Computing", year = 1972 } @article{GN:AGCCFS, author = "Garnett, N.H. and R.M. Needham", title = "An Asynchronous Garbage Collector for the {C}ambridge File Server", journal = "Operating Systems Review", volume = 14, number = 4, year = 1980, pages = "3 -6- 40", comment = " QA 76.9 D3 O645 V.14 1980 PCL Stacks" } @article{Ge:TTR, author = "E. Gelenbe", title = "The Two-Thirds Rule for Dynamic Storage Allocation Under Equilibrium", journal = ipl, volume = 1, number = 2, month = jul, year = 1971, pages = {59--60} } @article{GBK:MWSPS, author = "E. Gelenbe and J. C. A. Bockhorst and J. L. W. Kessels", title = "Minimizing Wasted Space in Partitioned Segmentation", journal = cacm, volume = 16, number = 6, month = jun, year = 1973, pages = "343--349" } @inproceedings{GC:HAMM, author = "Edward Gehringer and Ellis Chang", title = "Hardware-Assisted Memory Management", note = "Position paper", crossref = "OOPSLAGC93", key = "" } @inproceedings{GJSO:SFS, author = "David K. Gifford and Pierre Jouvelot and Mark A. Sheldon and O'Toole, Jr., James W.", title = "Semantic File Systems", crossref = "SOSP91", key = "", pages = {16--25} } @article{Gi:BBPM, author = "B. S. Gindele", title = "Buffer Block Prefetching Method", journal = "IBM Technical Disclosure Bulletin", volume = 20, number = 2, month = jul, year = 1977, pages = {696--697} } @article{GT:LGC, author = "H. W. Glaser and P. Thompson", title = "Lazy Garbage Collection", journal = SPE, volume = 17, number = 1, month = jan, year = 1987, pages = {1--4} } @inproceedings{Go:GRC, AUTHOR = "Benjamin Goldberg", TITLE = "Generational Reference Counting: A Reduced-Communication Distributed Storage Reclamation Scheme", CROSSREF = "PLDI89", KEY = "", PAGES= {313--320} } @inproceedings{Go:TFGC, AUTHOR = "Benjamin Goldberg", TITLE = "Tag-free Garbage Collection for Strongly-Typed Programming Languages", CROSSREF = "PLDI91", KEY = "", PAGES= {165--176}, NOTE = "" } @inproceedings{GoGa88, author = "Goldman, Ron and Richard P. Gabriel", title = "Preliminary Results With the Initial Implementation of {Q}lisp", crossref = "LFP88", key = "", pages = "143--152" } @inproceedings{GH:DPA, author = "R.P. Goldberg and R. Hassinger", title = "The Double Paging Anomaly", booktitle = "{AFIPS} National Computer Conference", month = May, year = 1974, pages = {195--199} } @inproceedings{GA:CPFAP, author = "Marcelo J. R. Goncalves and Andrew W. Appel", title = "Cache Performance of Fast-Allocating Programs", booktitle = "FPCA '95", year = 1995 } @techreport{GW:PUBA, author = "A. Gottlieb and J. Wilson", title = "Parallelizing the Usual Buddy Algorithm", institution = "Courant Institute, New York University", number = "System Software Note 37", year = 1982 } @unpublished{Gr:TR, author = "R. L. Graham", note = "Unpublished technical report on worst-case analysis of memory allocation algorithms, Bell Labs" } @incollection{Gr:LispMachine, title = "The {LISP} Machine", author = "Richard Greenblatt", booktitle = "Interactive Programming Environments", publisher = "McGraw Hill", editor = "D.R. Barstow and H.E. Shrobe and E. Sandewall", year = 1984 } @techreport{Gr:Moby, author = "Richard Greenblatt", title = "Unpublished Technical report on the {M}oby address space", institution = "Lisp Machines, Incorporated" } @mastersthesis{Gr:MPADC, title = "Multiple Prefetch Adaptive Disk Caching with Strategic Data Layout", author = "Knut S. Grimsrud", school = "Brigham Young University", month = dec, year = 1989 } @book{Gris83, author = "Ralph E. Griswold and Madge T. Griswold", title = "The {Icon} Programming Language", publisher = "Prentice-Hall, Inc.", address = "Englewood Cliffs, NJ", year = 1983 } @book{GG:IIPL, author = "Ralph E. Griswold and Madge T. Griswold", title = "The Implementation of the Icon Programming Language", publisher = "Princeton University Press", address = "Princeton, New Jersey", year = 1986} @article{GP:DITEOMS, AUTHOR = "Dale H. Grit and Rex L. Page", TITLE = "Deleting Irrelevant Tasks in an Expression-Oriented Multiprocessor System", JOURNAL = toplas, VOLUME = 3, NUMBER = 1, YEAR = 1981, MONTH = jan, PAGES = {49--59} } @inproceedings{GZH:ICLMA, author = "Dirk Grunwald and Benjamin Zorn and Robert Henderson", title = "Improving the Cache Locality of Memory Allocation", crossref = "PLDI93", key = "", pages = {177--186} } @article{GZ:CM, author = "Dirk Grunwald and Benjamin Zorn", title = "Custo{M}al\-loc: Efficient Synthesized Memory Allocators", journal = spe, volume = 23, number = 8, month = aug, year = 1993, pages = {851--869} } @techreport{Gu:RTIDTL, author = "David Gudeman", title = "Representing Type Information in Dynamically-Typed Languages", year = 1993, number = "TR93-27", institution = "University of Arizona, Department of Computer Science", address = "Tucson, Arizona" } @inproceedings{HMT:TSLS, AUTHOR = "Joseph Y. Halpern and Albert R. Meyer and B. A. Trakhtenbrot", TITLE = "The Semantics of Local Storage, or What Makes the Free-List Free?", PAGES = {245--257}, CROSSREF = "POPL84", key = "", } @article{Hals86, author = "R. Halstead", title = "Parallel Symbolic Computing", journal = "{IEEE} Computer", volume = 19, number = 8, month = aug, year = 1986, pages = "35--43" } @unpublished{HBH:SYC, authors = "K. Hammond and G. L. Burn and D. B. Howe", title = "Spiking Your Caches", note = "Glasgow University", year = 1994 } @article{Ha:CLR, AUTHOR = "Wilfred J. Hansen", TITLE = "Compact List Representation: Definition, Garbage Collection, and System Implementation", JOURNAL = cacm, VOLUME = 12, NUMBER = 9, MONTH = sep, YEAR = 1969, PAGES = {499--507} } @article{Ha:FADMBOL, AUTHOR = "David R. Hanson", TITLE = "Fast Allocation and Deallocation of Memory Based on Object Lifetimes", journal = spe, volume = 20, number = 1, month = jan, year= 1990 } @article{Ha:SMIS, title = "Storage Management for an Implementation of SNOBOL4", author = "David R. Hanson", journal = SPE, volume = 7, number = 2, year = 1977, pages = {179--192} } @article{Ha:TAL, title = "Turing Award Lecture: On Computational Complexity and the Nature of Computer Science", author = "Juris Hartmanis", journal = csurv, volume = 27, number = 1, month = mar, year = 1995, pages = {7--16} } @inproceedings{HJ:Purify, author = "Reed Hastings and Bob Joyce", title = "Purify: Fast Detection of Memory Leaks and Access Errors", crossref = "USENIXW92", key = "", pages = {125--136}, } @inproceedings{HaFW84, author = "Haynes, C. T. and Friedman, D. P. and Wand, M.", title = "Continuations and Coroutines", crossref = "LFP84", key = "", pages = "293--298" } @inproceedings{Ha:KOO, author = "Barry Hayes", title = "Using Key Object Opportunism to Collect Old Objects", crossref = "OOPSLA91", key = "", pages = {33-46}, note = "" } @inproceedings{Ha:FGCI, author = "Barry Hayes", title = "Finalization in the Garbage Collector Interface", crossref = "IWMM92", key = "", pages = "277--298" } @phdthesis{Ha:phd, author = "Barry Hayes", title = "Key Objects in Garbage Collection", school = "Standford University", month = mar, year = 1993 } @mastersthesis{He:mthesis, TITLE = "Compile time Garbage Collection", AUTHOR = "Lucy Hederman", SCHOOL = "Rice University", ADDRESS = "Houston, Texas", YEAR = 1988, } @article{HeKl85, author = "Heering, J. and P. Klint", title = "Towards Monolingual Programming Environments", journal = toplas, volume = 7, number = 2, month = apr, year = 1985, pages = "183--213" } @article{HS:AGFN, author = "V. C. Harris and C. C. Styles", title = "A Generalization of the {F}ibonacci Numbers", journal = "The {F}ibonacci Quarterly", volume = 2, number = 4, month = dec, year = 1964, pages = {227--289} } @phdthesis{Hendren:phd, AUTHOR="Laurie J. Hendren", TITLE="Parallelizing Programs with Recursive Data Structures", YEAR=1990, MONTH=apr, COMMENT = "Not about memory allocation per se, but the analysis is useful for that application", SCHOOL=CORNELL, ADDRESS = "Ithaca, New York" } @unpublished{He:RTGC, author = "Wade Hennessey", title = "Real-Time Garbage Collection in a Multimedia Programming Language", crossref = "OOPSLAGC93", month = dec, year = 1993 } @inproceedings{HM:TM, title = "Transactional Memory: Architectural Support for Lock-Free Data Structures", author = "Maurice Herlihy and J. Eliot B. Moss", crossref = "ISCA93", key = "", pages = {289--300} } @article{LH:ASDSA, author = "B. W. Leverett and P. G. Hibbard", title = "An adaptive system for dynamic storage allocation", journal = SPE, volume = 12, number = 6, month = jun, year = 1982, pages = {543--556} } @article{HC:PAOFGC, AUTHOR = "Tim Hickey and Jacques Cohen", TITLE = "Performance Analysis of On-the-Fly Garbage Collection", JOURNAL = cacm, VOLUME = 27, NUMBER = 11, YEAR = 1984, MONTH = nov, PAGES = {1143--1154} } @article{Hill88, author = "Hill, Mark D.", title = "A Case for Direct-Mapped Caches", journal = "{IEEE} Computer", volume = 21, number = 12, month = Dec, year = 1988, pages = "25--40" } @article{HS:EACC, author = "Hill, Mark D. and Alan Jay Smith", title = "Evaluating Associativity in {CPU} Caches", journal = "{IEEE} Transactions on Computers", volume = 38, number = 12, month = Dec, year = 1989, pages = "1612--1629" } @article{Hi:ALASBBS, author = "J. A. Hinds", title = "An Algorithm for Locating Adjacent Storage Blocks in the Buddy System", journal = cacm, volume = 18, number = 4, year = 1975, month = apr, pages = {221--222} } @article{Hi:CDMAA, author = "D. S. Hirschberg", title = "A Class of Dynamic Memory Allocation Algorithms", journal = cacm, month = oct, year = 1973, volume = 16, number = 10, pages = {615--618} } @article{Ho:OSSGC, author = "C. A. R. Hoare", title = "Optimization of Store Size for Garbage Collection", volume = 2, year = 1974, pages = {165--166} } @article{Ho:DiskSched, author = "M. Hofri", title = "Disk Scheduling: {FCFS} Versus {SSTF} Revisited", journal = CACM, volume = 23, number = 11, month = nov, year = 1980, pages = {645--653} } @inproceedings{UCH:DOCDD, author = {Urs H\"{o}lzle and Craig Chambers and David Ungar}, title = "Debugging Optimized Code with Dynamic Deoptimization", crossref = "PLDI92", key = "", pages = {32--43} } @inproceedings{Ho:WB, author = {Urs H\"{o}lzle}, title = "A Fast Write Barrier for Generational Garbage Collectors", crossref = "OOPSLAGC93", key = "", note = "Position paper" } @article{Ho:PORKDSA, author = "Anatol W. Holt", title = "Program Organization and Record Keeping for Dynamic Storage Allocaton", journal = cacm, volume = 4, number = 10, month = oct, year = 1961 } @article{HH:ADDPP, title = "Analysis and Development of Demand Prepaging Policies", author = "R. Nigel Horspool and Ronald M. Huberman", journal = "Journal of Systems and Software", volume = 7, year = 1987, pages = "183-194" } @InProceedings{HMS:CPEWBI, author = "Antony L. Hosking and J. Eliot B. Moss and Darko Stefanovi{\'c}", title = "A Comparative Performance Evaluation of Write Barrier Implementations", crossref = "OOPSLA92", key = "", pages = "92--109" } @inproceedings{HM:PT, title = "Protection Traps and Alternatives for Memory Management of an Object-Oriented Language", author = "Antony L. Hosking and J. Eliot B. Moss", crossref = "SOSP93", pages = {106--119} } @inproceedings{HPR:DAPV, author = "Horwitz, Susan and P. Pfeiffer and T. Reps", title = "Dependence Analysis For Pointer Variables", booktitle = "Proceedings of the {SIGPLAN} '89 " # CC, month = jun, year = 1989, note = "Published as {\em {SIGPLAN} Notices 24}(7)." } @inproceedings{HH:RSCAPC, author = "Antony Hosking and Richard Hudson", title = "Remembered Sets Can Also Play Cards", crossref = "OOPSLAGC93", year = 1993 } @inproceedings{HB:AUPFPS, AUTHOR = "Paul Hudak and Adrienne Bloss", TITLE = "The Aggregate Update Problem in Functional Programming Systems", PAGES = {300--314}, CROSSREF = "POPL84", key = "" } @inproceedings{Hu:SMRCA, AUTHOR = "Paul Hudak", TITLE = "A Semantic Model of Reference Counting and its Abstraction", CROSSREF = "LFP86", KEY = "", PAGES = {351--363} } @phdthesis{Hudak:phd, author = "Hudak, P.", title = "Object and Task Reclamation in Distributed Applicative Processing Systems", school = "University of Utah", address = "Salt Lake City, Utah", month = jul, year = 1982 } @techreport{Hu:DGM, author = "Hudak, P.", title = "Distributed Graph Marking", institution = "Yale University", month = jan, year = 1983, type = "Research Report", number = 268 } @article{HL:NLCM, author = "Kai Li and Paul Hudak", title = "A New List Compaction Method", journal = SPE, volume = 16, number = 2, month = feb, year = 1986 } @inproceedings{HK:GCTD, author = "Hudak, P. and R.M. Keller", title = "Garbage Collection and Task Deletion in Distributed Applicative Processing Systems", crossref = "LFP82", key = "", pages = "168 -- 178", } @inproceedings{HK:CBC, AUTHOR = "Paul Hudak and David Kranz", TITLE = "A Combinator-based Compiler for a Functional Language", PAGES = {121--132}, CROSSREF = "POPL84", key = "" } @TechReport{HMDW:LIGCT, author = "Richard L. Hudson and J. Eliot B. Moss and Amer Diwan and Christopher F. Weight", title = "A Language-Independent Garbage Collector Toolkit", month = sep, year = 1991, number = "91-47", type = coinstrTYPE, institution = coinsINST, address = coinsADDR } @inproceedings{HM:ICMO, author = "Richard L. Hudson and J. Eliot B. Moss", title = "Incremental collection of mature objects", crossref = "IWMM92", key = "", pages = "388--403" } @inproceedings{HL:CCGC, author = "Lorenz Huelsbergen and James R. Larus", title = "A Concurrent Copying Garbage Collector for Languages that Distinguish (Im)mutable Data", crossref = "PPoPP93", key = "", pages = {73--82} } @techreport{Hu:RCCSVM, author="R. John M. Hughes", title="Reference Counting with Circular Structures in Virtual Memory Applicative Systems", institution="Programming Research Group, Oxford University", address = "United Kingdom", type = "Departmental Research Report", year = 1982 } @inproceedings{Hu:DGCA, AUTHOR = "John Hughes", TITLE = "A Distributed Garbage Collection Algorithm", CROSSREF = "FPLCA85", key = "", PAGES = {256--272} } @misc{IYDGCUGRC, author = "Ichisuki, Yuuji and Akinori Yonezawa", title = "Distributed Garbage Collection Using Group Reference Counting", howpublished= "Position paper for {OOPSLA/ECOOP} '90 Workshop on Garbage Collection in Object-Oriented Systems. Summary appears in \cite{JJ:GCOOS}", note = "Available by anonymous Internet {FTP} from ftp.diku.dk (129.142.96.1) in pub/GC90", month = oct, year = 1990 } @article{IJ:DSAS, author = "J. K. Iliffe and J. G. Jodeit", title = "A Dynamic Storage Allocation Scheme", journal = compj, volume = 5, number = 3, month = oct, year = 1962, pages = {200--209} } @article{In:Thunks, author = "P. Z. Ingerman", title = "Thunks", journal = cacm, volume = 4, number = 1, month = jan, year = 1961, pages = {55--58} } @article{ISY:AFPDRGC, AUTHOR = "Katsuro Inoue and Hiroyuki Seki and Hikaru Yagi", TITLE = "Analysis of Functional Programs to Detect Run-Time Garbage Cells", JOURNAL = toplas, VOLUME = 10, NUMBER = 4, MONTH = oct,YEAR = 1988, PAGES = {555--578} } @article{IGK:EBTT, author = "S. Isoda and E. Goto and I. Kimura", title = "An Efficient Bit Table Technique for Dynamic Storage Allocation of \(2^{n}\)-word blocks", journal = cacm, volume = 14, number = 9, year = 1971, month = sep, pages = {589--592} } @phdthesis{Iy:phd, author = "Arun Iyengar", title = "Dynamic Storage Allocation on a Multiprocessor", school = "MIT Laboratory for Computer Science", note = "Technical Report MIT/LCS/TR-560", year = 1992 } @inproceedings{Iy:PDSAA, author = "Arun K. Iyengar", title = "Parallel Dynamic Storage Allocation Algorithms", booktitle = "Fifth {IEEE} Symposium on Parallel and Distributed Processing", year = 1993 } @article{JLRSS:Dali, title = "Dali: A High Performance Main Memory Storage Manager", author = "H. V. Jagadish and Daniel Lieuwen and Rajeev Rastogi and Avi Silberschatz", crossref = "VLDB20", year = 1994 } @article{Jeff85, author = "D. R. Jefferson", title = "Virtual Time", journal = toplas, volume = 7, number = 3, month = jul, year = 1985, pages = "404--425" } @inproceedings{Jeff87, author = "D. R. Jefferson and others", title = "Distributed Simulation and the {Time Warp Operating System}", crossref = "SOSP87", key = "", pages = "77--93" } @article{JDUGG:WCPB, author = "D. S. Johnson and A. Demers and J. D. Ullman and M. R. Garey and R. L. Graham", title = "Worst Case Performance Bounds for Simple One-dimensional Packing Algorithms", journal = siamjc, volume = 3, year = 1974, pages = {299--325} } @inproceedings{Jo:CFRB, title = "The Case For a Read Barrier", author = "Douglas Johnson", crossref = "ASPLOS4", key = "", pages = "96--107" } @misc{Jo:SimscriptII.5, title = "{Simscript II.5 User's Manual, S/360-370 Version, Release 6}", author = "G. D. Johnson", year = 1972, publisher = "Consolidated Analysis Centers, Inc." } @article{Jo:RLRTGC, title = "Reducing the Latency of a Real-Time Garbage Collector", author = "Ralph E. Johnson", journal = "{ACM} Letters on Programming Languages and Systems", volume = 1, number = 1, month = mar, year = 1992, pages = {46--58} } @article{JS:PBMM, author = "T. Johnson and D. Sasha", title = "Parallel Buddy Memory Management", journal = "Parallel Processing Letters", volume = 2, number = 4, year = 1992, pages = {391--398} } @inproceedings{TD:SEPBMM, author = "Theodore Johnson and Tim Davis", title = "Space Efficient Parallel Buddy Memory Management", year = 1992 } @techreport{Jo:CFFMM, title = "A Concurrent Fast Fits Memory Manager", author = "Theodore Johnson", institution = "University of Florida", number = "91-009", year = 1991 } @inproceedings{JJ:GCOOS, author = "Niels Christian Juul and Eric Jul", title = "Workshop Report: Garbage Collection in Object-Oriented Systems", crossref = "OOPSLA/ECOOP90Add", key = "", pages = "35--41" } @inproceedings{JJ:CRGCDS, author = "Niels Christian Juul and Eric Jul", title = "Comprehensive and Robust Garbage Collection in a Distributed System", crossref = "IWMM92", key = "", pages = "103--115" } @inproceedings{JM:FAIDFA, TITLE="A Flexible Approach to Interprocedural Data Flow Analysis and Programs with Recursive Data Structures", AUTHOR="Neil D. Jones and Steven S. Muchnick", CROSSREF="POPL82", key = "", PAGES={66--74} } @incollection{JM:FA, title = "Flow Analysis and Optimization of {LISP}-Like Structures", author = "Neil D. Jones and Steven S. Muchnick", booktitle = "Program Flow Analysis", editor = "Steven S. Muchnik and Neil D. Jones", publisher = PH, year = 1981, pages = "102--131" } @techreport{JL:CWRCWD, author="Richard E. Jones and Rafael D. Lins", title="Cyclic Weighted Reference Counting without Delay", institution="University of Kent, Canterbury", address = "United Kingdom", number="28--92", month=Dec, year=1992, comments={\com Improves on [Lins and Jones, 1991] by allowing processors to continue to perform useful work in all circumstances.} } @inproceedings{JM:CTCGSA, AUTHOR = "Simon B. Jones and Daniel Le Metayer", TITLE = "Compile-time garbage collection by sharing analysis", crossref = "FPCA89", key = "", pages = {54--74} } @article{Jo:SLP, author = "M.J. Jordan", title = "SLP: A paged processor for compact lists", journal = SPE, volume = 8, number = 3, year = 1978, pages = {285--301} } @inproceedings{Jo:IDMCP, author = "Jouppi, Norman P.", title = "Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers", crossref = "ISCA90", key = "", pages = "364--373" } @inproceedings{KTMY:ASM, title = "Adaptive Storage Management for Very Large Virtual/Real Storage Systems", author = "T. Kagimasa and K. Takahashi and S. Yoshizumi", crossref = "ISCA91", key = "", pages = {372--379} } @article{Kaeh81, author = "Kaehler, T.", title = "Virtual Memory For an Object-Oriented Language", journal = "Byte", volume = 6, number = 8, month = aug, year = 1981, pages = "378--387" } @misc{Kaeh86, author = "Kaehler, T." } @mastersthesis{Katz86, author = "M. J. Katz", title = "{ParaTran}: A Transparent, Transaction Based Runtime Mechanism For Parallel Execution of {Scheme}", school = MIT, month = jun, year = 1986 } @article{Ka:TLRDBS, title = "Tailored-List and Recombination-Delaying Buddy Systems", author = "Arie Kaufman", journal = toplas, volume = 6, number = 4, year = 1984, pages = {118--125} } @inproceedings{KCZ:LCSDSM, author = "P. Keleher and A. L. Cox and W. Zwaenepoel", title = "Lazy Consistency for Software Distributed Shared Memory", booktitle = CA, year = 1992, pages = {13--21}, month = may } @unpublished{Kels90, author = "Kelsey, Richard", title = "Tail Recursive Stack Disciplines for an Interpreter", year = 1993, note = "Available via anonymous {FTP} from nexus.yorku.ca in /pub/scheme/txt/stack-gc.ps. Slightly enhanced version of Technical Report NU-CCS93-03, College of Computer Science, Northeastern University, 1992." } @inproceedings{KJLH89, author = "Kessler, Richard and Richard Jooss and Alvin Lebeck and Mark D. Hill", title = "Inexpensive Implementations of Set-Associativity", booktitle = "16th Annual " # CA, month = jun, year = 1989, publisher = "{IEEE-ACM}", address = "Jerusalem, Israel", pages = "131--139" } @book{KLB:AMOP, author = "Gregor Kiczales and Jim des Rivieres and Daniel G. Bobrow", title = "The Art of the Metaobject Protocol", year = 1991, publisher = "MIT Press", address = "Cambridge, Massachusetts" } @inproceedings{Kie:GM, AUTHOR = "Richard Kieburtz", TITLE = "The {G} {M}achine: A fast, graph-reduction evaluator", PAGES = {400--413}, CROSSREF = "FPLCA85", key = "" } @inproceedings{KL:ASCDP, author = "A. C. Klaiber and H. M. Levy", title = "An Architecture for Software-Controlled Data Prefetching", crossref = "ISCA91", key = "", pages = {43--53} } @inproceedings{Kn:AMFP, author = "Knight, Tom", title = "An Architecture for Nearly Functional Languages", crossref = "LFP86", key = "", pages = {105--112} } @article{Kn:FSA, title = "A Fast Storage Allocator", author = "Kenneth C. Knowlton", journal = CACM, volume = 8, number = 10, month = oct, year = 1965, pages = {623--625} } @book{Kn:ACP1, author = "Donald E. Knuth", title = "The Art of Computer Programming", volume = "1: Fundamental Algorithms", publisher = AW, address = "Reading, Massachusetts", note = "First edition published in 1968", year = 1973 } @unpublished{Kn:GCClassNotes, author = "Donald E. Knuth", title = "Unpublished Class Notes on Garbage Collection", year = 1981 } @inproceedings{KSDV:CCSMPOS, title = "Cache Coherence and Storage Management in a Persistent Object System", author = "B. Koch and T. Schunke and A. Dearle and F. Vaughan and C. Marlin and R. Fazekerley and C. Barter", crossref = "POS4", key = "", pages = {99--109} } @article{Ko:DFABBS, author = "P. D. L. Koch", title = "Disk File Allocation Based on the Buddy System", journal = TOCS, volume = 5, number = 4, month = nov, year = 1987, pages = "352-370" } @inproceedings{Ko:AIGC, author = "Elliot Kolodner", title = "Atomic incremental garbage collection and recovery for large stable heap", crossref = "POS4", key = "", pages = "185--198" } @techreport{KLCE:PLB, AUTHOR = "Eric J. Koldinger and Henry M. Levy and Jeffrey S. Chase and Susan J. Eggers", TITLE = "The Protection Lookaside Buffer: Efficient Protection for Single-Address Space Computers", NUMBER = "91-11-05", MONTH = Nov, YEAR = 1991, INSTITUTION = "Department of Computer Science and Engineering, University of Washington", ADDRESS = "Seattle, Washington" } @article{KLS:CPCGR, author = "Koopman, Jr., Phillip J. and Peter Lee and Daniel P. Siewiorek", title = "Cache Performance of Combinator Graph Reduction", journal = toplas, volume = 14, number = 2, month = apr, year = 1992, pages = {265--297} } @inproceedings{KV:ISBM, title = "In Search of a Better Malloc", author = "David G. Korn and Kiem-Phong Vo", crossref = "USENIXS85", booktitle = "Proc. USENIX Summer 1985", key = "", pages = {489--506} } @techreport{KSA:GCDSMS, author = "Kordale, Rammohan and John Shilling and Mustaque Ahamad", title = "Garbage Collection in Distributed Shared Memory Systems", institution = "Georgia Institute of Technology", number = "GIT-CC-92/45", year = 1992 } @inproceedings{KKRHP:Orbit, author = "Kranz, David A. and Richard Kelsey and Jonathan Rees and Paul Hudak and James Philbin and Norman Adams", title = "{ORBIT}: An Optimizing Compiler For {S}cheme", booktitle = CC, month = jun, year = 1986, note = "Published as {\em ACM SIGPLAN Notices 21}(7), July 1986", address = "Palo Alto, California", pages = "219--233" } @phdthesis{Kranz:phd, author = "David A. Kranz", title = "{ORBIT}: An Optimizing Compiler For {S}cheme", school = "Yale University", address = "New Haven, Connecticut", month = feb, year = 1988, } @inproceedings{KrHM89, author = "Kranz, David A. and Robert H. Halstead and Eric Mohr", title = "{M}ul-{T}: A High-Performance Parallel {L}isp", crossref = "PLDI89", key = "", pages = "81--90" } @book{ST80:BHWA, TITLE = "Smalltalk-80: Bits of History, Words of Advice", EDITOR = "Glenn Krasner", PUBLISHER = AW, YEAR = 1983 } @book{Kr:NN, author = "Saul A. Kripke", title = "Naming and Necessity", publisher = "Harvard University Press", year = 1972 } @article{Kr:ADSAP, author = "S. Krogdahl", title = "A Dynamic Storage Allocation Problem", journal = ipl, volume = 2, year = 1973, pages = {96--99} } @book{Ku:SSR, author = "Thomas S. Kuhn", title = "The Structure of Scientific Revolutions (Second Edition, Enlarged)", publisher = "University of Chicago Press", address = "Chicago, Illinois", year = 1970 } @article{KuRo81, author = "Kung, H. T. and Robinson, J. T.", title = "On Optimistic Methods for Concurrency Control", journal = "{ACM} Transactions on Database Systems", volume = 6, number = 2, month = jun, year = 1981 } @inproceedings{KS:EPGCS, author = "H.T. Kung and S.W. Song", title = "An Efficient Parallel Garbage Collection System and its Correctness Proof", booktitle = "{IEEE} Symposum on Foundations of Computer Science", year = 1977, month = oct, address = "Providence, Rhode Island", pages = {120--131} } @inproceedings{Lam:CPOBA, author = "Monica S. Lam and others", title = "The Cache Performance and Optimizations of Blocked Algorithms", crossref = "ASPLOS4", key = "", pages = "63--74" } @article{LLOW:OS, author = "Charles Lamb and Gordon Landis and Jack Orenstein and Dan Weinreb", title = "The {ObjectStore} Database System", journal = cacm, year = 1991, volume = 34, number = 10, month = oct, pages = {50--63} } @inproceedings{LD:IICGC, author = "Bernard Lang and Francis Dupont", title = "Incremental Incrementally Compacting Garbage Collection", crossref = "SIIT87", key = "", pages = "253--263" } @inproceedings{LQP:GCTW, author = "Bernard Lang and Christian Queinnec and Jos\'e Piquer", title = "Garbage Collecting the World", booktitle = "{ACM} Symposium on Principles of Programming", year = 1992, pages = "39--50", address = "Albuquerque, New Mexico", month = jan, ecritsdIcsla = 6, abstract = "Distributed symbolic computations involve the existence of {\em remote references} allowing an object, local to a processor, to designate another object located on another processor. To reclaim inaccessible objects is the non trivial task of a distributed Garbage Collector (GC). We present in this paper a new distributed GC algorithm which \begin{localenumerate} \item is fault-tolerant, \item is largely independent of how a processor garbage collects its own data space, \item does not need centralized control nor global stop-the-world synchronization, \item allows for multiple concurrent active GCs, \item does not require to migrate objects from processor to processor and \item eventually reclaims all inaccessible objects including distributed cycles. \end{localenumerate} These results are mainly obtained through the concept of a {\em group} of processors (or processes). Processors of a same group cooperate together to a GC inside this group; this GC is conservative with respect to the outside of the group. A processor contributes to the global GC of all groups to which it belongs. Garbage collection on small groups reclaims quickly locally distributed garbage clusters, while garbage collection on large groups ultimately reclaims widely distributed garbage clusters, albeit more slowly. Groups can be reorganized dynamically, in particular to tolerate failures of some member processors. These properties make the algorithm usable on very large and evolving networks of processors. Other than distributed symbolic computations, possible applications include for example distributed file or database systems." } @article{Lars77, author = "R. G. Larson", title = "Minimizing Garbage Collection as a Function of Region Size", journal = "{SIAM} Journal on Computing", volume = 6, number = 4, month = dec, year = 1977, pages = "663--667" } @techreport{Lee:msthesis, author = "Lee, Elgin Hoe-Sing", title = "Object Storage and Inheritance for {SELF}, a Prototype-Based Object-Oriented Programming Language", institution = "Stanford University", address = "Palo Alto, California", month = dec, year = 1988, type = "Engineer's thesis" } @techreport{LYL:DPSMM, author = "R. L. Lee and P.-C. Yew and D. H. Lawrie", title = "Data Prefetching in Shared Memory Multiprocessors", institution = "Center for Supercomputing Research and Development, University of Illinois", number = "CSRD 639", year = 1987, month = jan } @inproceedings{Leem85, author = "G. B. Leeman", title = "Building Undo/Redo Operations into the {C} Language", booktitle = "15th Annual International Symposium on Fault-Tolerant Computing", publisher = "{IEEE} Computer Society Press", year = 1985, pages = "410--415" } @article{Leem86, author = "G. B. Leeman", title = "A Formal Approach to Undo Operations in Programming Languages", journal = toplas, volume = 8, number = 1, month = jan, year = 1986, pages = "50--87" } @inproceedings{LR:PSMS, title = "Performance of a Simulated Multiprogramming System", author = "M. M. Lehman and J. L. Rosenfeld", booktitle = "AFIPS Fall Joint Computer Conference 33", year = 1968, pages = {1431--42} } @inproceedings{LM:PDRC, author = "Lermen C.W. and D. Maurer", title = "A Protocol for Distributed Reference Counting", booktitle = "FPCA", year = 1986, pages = {343--350} } @book{Le:CBCS, AUTHOR = "Henry M. Levy", TITLE = "Capability-Based Computer Systems", PUBLISHER = "Digital Press", ADDRESS = "Bedford, Massachusetts", YEAR = 1984 } @inproceedings{LB:IMTGC, title = "Incremental Multi-Threaded Garbage Collection on Virtually Shared Memory Architectures", author = "Le Sergent, Thierry and Bernard Berthomieu", crossref = "IWMM92", key = "", pages = {179--199} } @inproceedings{Le:EDGCA, author = "Lester, David", title = "An Efficient Distributed Garbage Collection Algorithm", crossref = "PARLE89", key = "", page = "207--223" } @phdthesis{Li:phd, title = "Shared Virtual Memory on Loosely-Coupled Processors", author = "Kai Li", school = "Yale University", address = "New Haven, Connecticut", year = 1986 } @inproceedings{LP:EMSE, author = "Kai Li and Karin Petersen", title = "Evaluation of Memory System Extensions", crossref = "ISCA91", key = "", pages = {84--95} } @article{LiHe83, author = "Henry Lieberman and Carl Hewitt", title = "A Real-Time Garbage Collector Based on the Lifetimes of Objects", journal = CACM, volume = 26, number = 6, month = jun, year = 1983, pages = "419--429" } @article{Li:SLSWSTB, author = "G. Lindstrom", title = "Scanning List Structures Without Stacks or Tag Bits", journal = ipl, volume = 2, year = 1973, pages = {47--51} } @article{Li:CLSUBW, author = "G. Lindstrom", title = "Copying List Structures Using Bounded Workspace", journal = cacm, volume = 17, number = 4, month = apr, pages = {47--51} } @inproceedings{LL:GCDH, AUTHOR = "Rivka Ladin and Barbara Liskov", TITLE = "Garbage Collection of a Distributed Heap", BOOKTITLE = "Principles of Distributed Computing", YEAR = 1992, PAGES = {708--715} } @inproceedings{LMV:MMPTSM, author = "K. G. Langendoen and H. L. Muller and W. G. Vree", title = "Memory Management for Parallel Tasks in Shared Memory", crossref = "IWMM92", key = "", pages = "165--178" } @inproceedings{LH:DCBRA, author = "James R. Larus and Paul N. Hilfinger", title = "Detecting Conflicts Between Record Accesses", crossref = "PLDI88", key = "", pages = "21--34" } @article{La:AE, author = "James R. Larus", title = "Abstract Execution: A Technique for Efficiently Tracing Programs", journal = spe, volume = 20, number = 12, month = dec, year = 1990, pages = {1241--1258} } @article{LeB:DEWLBS, author = "T. Paul Lee and R. E. Barkley", title = "Design and Evaluation of a Watermark-based Lazy Buddy System", journal = "Performance Evaluation Review", volume = 17, number = 1, month = may, year = 1989 } @inproceedings{LSS:DMASMIF, author = "T. G. Lewis and B. J. Smith and M. Z. Smith", title = "Dynamic Memory Allocation Systems for Minimizing Internal Fragmentation", booktitle = "Proc. {ACM} Annual Conference", month = nov, year = 1974, pages = {725--728} } @inproceedings{LL:HADSFTDGC, author = "Barbara Liskov and Rivka Ladin", title = "Highly-available distributed services and fault- tolerant distributed garbage collection", booktitle = "Fifth {ACM} Symposium on the Principles of Distributed Computing", pages = {29-39}, year = 1989 } @phdthesis{Llames:phd, author = "Rene Llames", title = "Performance Analysis of Garbage Collection and Dynamic Reordering in a {L}isp System", school = "Department of Electrical and Computer Engineering, University of Illinois", address = "Champaign-Urbana, Illinois", year = 1991 } @techreport{Li:CRCLMS, author="Rafael D. Lins", title="Cyclic Reference Counting with Lazy Mark-Scan", institution="University of Kent, Canterbury", address = "United Kingdom", number=75, month= jun, year=1990, note="To appear in {\em Information Processing Letters}", comments={\com Optimises [Martinez {\em et al}, 1990]. Author claims improvements make this efficient.} } @techreport{LV:CSACRC, author="Rafael D. Lins and M\'{a}rcio A. Vasques", title="A Comparative Study of Algorithms for Cyclic Reference Counting", institution="University of Kent, Canterbury", address = "United Kingdom", number=92, month= aug, year = 1991, note="Submitted to {\em Software Practice and Experience}", comments={\com Compares the performance of [Martinez {\em et al}, 1990] and several control strategies of [Lins, 1990]. Also extends [Glaser and Thompson, 1987] to work with cyclic structures.} } @article{Li:SMAPCRC, author="Rafael D. Lins", title="A Shared Memory Architecture for Parallel Cyclic Reference Counting", journal="Microprocessing and Microprogramming", volume=34, pages="31--35", publisher="North-Holland", month = Sep, year = 1991, comments={\com Describes a shared memory architecture based on reference counting algorithms described in [Martines {\et al}, 1990] and [Lins, 1990]} } @techreport{LJ:CWRC, author="Rafael D. Lins and Richard E. Jones", title="Cyclic Weighted Reference Counting", institution="University of Kent, Canterbury", address = "United Kingdom", number=95, month = dec, year = 1991, comments={\com Allows weighted reference counting [Bevan, 1987; Watson and Watson, 1987] to work with cyclic structures. Based on algorithms described in [Martines {\et al}, 1990] and [Lins, 1990]} } @article{Li:MSMAPCRC, author="Rafael D. Lins", title="A Multi-processor Shared Memory Architecture for Parallel Cyclic Reference Counting", journal="Microprocessing and Microprogramming", volume=35, month=Sep, year=1992, pages="563--568", publisher="North-Holland", comments={\com Generalises the architecture presented in [Lins, 1991a].} } @book{MLAR, editor = "Pattie Maes and Daniele Nardi", title = "Meta-Level Architectures and Reflection", publisher = "North-Holland", address = "Amsterdam", year = 1988 } @article{Ma:PSA, author = "R. J. Maher", title = "Problems of storage allocation in a multiprocessor multiprogrammed system", journal = cacm, volume = 4, number = 10, month = oct, year = 1961, pages = {421--422} } @mastersthesis{Ma:DGCCSTS, author = "U. Maheshwari", title = "Distributed Garbage Collection in a Client-Server Transaction System", school = MIT # " {EECS} Department", year = 1992 } @article{Ma:Stacker, author = "John Markoff", title = "Double Hard Disk Capacity, Through Software", journal = "New York Times", month = feb, year = 1992 } @inproceedings{MG:EOSSOOE, title = "Extending the Operating System to Support an Object-Oriented Environment", author = "Jose Alves Marques and Paulo Guedes", crossref = "OOPSLA89", key = "", pages = {113--122} } @inproceedings{MRV:CGCDOS, author = "Mancini, Luigi V. and Vittoria Rotella and Simonetta Venosa", title = "Copying Garbage Collection for Distributed Object Stores", booktitle = "10th Symposium on Reliable Distributed Systems", address = "Pisa, Italy", month = sep, year = 1991 } @article{MS:FTRC, author = "Mancini, Luigi and S. K. Shrinivastava", title = "Fault-tolerant Reference Counting for Garbage Collection in Distributed Systems", journal = compj, volume = 34, number = 6, month = dec, year = 1991, pages = {503--513} } @article{MPS:AFSA, author = "B. H. Margolin and R. P. Parmelee and M. Schatzoff", title = "Analysis of Free-Storage Algorithms", journal = ISJ, volume = 10, number = 4, pages = "283--304", year = 1971 } @book{Ma:Vision, author = "David Marr", title = "Vision", publisher = "Freeman", address = "New York", year = 1982 } @incollection{MA:A68GC, TITLE = "An {ALGOL} 68 Garbage Collector", AUTHOR = "S. Marshall", CROSSREF = "Peck71", KEY = "", PAGES = {239--243} } @article{Ma:EGCA, AUTHOR = "Johannes J. Martin", TITLE = "An Efficient Garbage Compaction Algorithm", JOURNAL = cacm, VOLUME = 25, NUMBER = 8, MONTH = aug, YEAR = 1982, PAGES = {571--581} } @article{MWL:CRCLMS, author="A.D. Martinez and R. Wachenchauzer and Rafael D. Lins", title="Cyclic Reference Counting with Local Mark-Scan", journal=ipl, volume = 34, year = 1990, pages="31--35", comments={\com Presents a general garbage collection algorithm based on reference counting, which deals with cyclic data structures, and proves its correctness. Very inefficient.} } @article{MGST:ETSH, author = "R. L. Mattson and J. Gecsei and D. R. Slutz and I. L. Traiger", title = "Evaluation Techniques for Storage Hierarchies", journal = ISJ, volume = 9, year = 1970, pages = {78--117} } @article{Mc:cycles, author = "J. Harold McBeth", title = "On the reference counter method", journal = CACM, volume = 6, number =9, month = Sep, year = 1963, pages = {575} } @article{McC:RFSECM, author = "John McCarthy", title = "Recursive Functions of Symbolic Expressions and their Computation by Machine", journal = cacm, month = apr, volume = 3, number = 4, year = 1960, pages = {184--195} } @book{Mc:EC, author = "Ronald McClamrock", title = "Existential Cognition: Computational Minds in the World", publisher = "University of Chicago Press", year = 1995 } @article{Mc:MTLAR, author = "Ronald McClamrock", title = "Marr's Three Levels: a Re-evaluation", journal = "Minds and Machines", volume = 1, year = 1991, pages = {185--196} } @book{MAEHL:Lisp, author = "J. McCarthy and P. W. Abrahams and D. J. Edwards and M. I. Levin", title = "Lisp 1.5 Programmer's Manual", publisher = "MIT Press", address = "Cambridge, Massachusetts", year = 1962 } @article{Mc:NSDSAS, author = "M. D. McIlroy", title = "The Number of States of a Dynamic Storage Allocation System", journal = compj, volume = 25, number = 3, month = aug, year = 1982, pages = {388--392} } @inproceedings{MK:SOR, author = "William J. McIver and Roger King", title = "Self-Adaptive, On-Line Reclustering of Complex Object Data", crossref = "SIGMOD94", pages = {407--418} } @inproceedings{MS:EKMASMM, author = "Paul E. McKenney and Jack Slingwine", title = "Efficient Kernel Memory Allocation on Shared-Memory Multiprocessors", crossref = "USENIXW93", booktitle = "{USENIX} 1993 Winter Technical Conference", key = "" } @inproceedings{MK:DGPMA, author = "Marshall Kirk McKusick and Michael J. Karels", title = "Design of a General-Purpose Memory Allocator for the 4.3BSD {UNIX} kernel", crossref = "USENIXS88", booktitle = "Proceedings of the Summer 1988 {USENIX} Conference", month = jun, year = 1988, key = "", } @article{MTP:MLDL, author = "Abraham Mendelson and Dominique Thiebaut and Dhiraj K. Pradhan", title = "Modeling Live and Dead Lines in Cache Memory Systems", journal = ieeetoc, volume = 42, number = 1, year = 1993, month = jan, pages = {1--14} } @inproceedings{MiCh88, author = "Miller, B. P. and Choi, J. D.", title = "A Mechanism For Efficient Debugging of Parallel Systems", crossref = "PLDI88", key = "", pages = "135--144" } @phdthesis{Miller:phd, author = "James S. Miller", title = "MultiScheme: A Parallel Processing Scheme Based on MIT Scheme", school = "Massachussetts Institute of Technology", address = "Cambridge, Massachussetts", year = 1987, month = sep } @techreport{Mi:ADPS, title = "Analysis of Data Processing Systems", author = "J. Minker and others", institution = "University of Maryland", number = "69-99", address = "College Park, Maryland", year = 1969 } @techreport{Mi:CopyingGC, author = "Marvin Minsky", title = "A {LISP} Garbage Collector Algorithm Using Serial Secondary Storage", year = 1963, type = "A.I. Memo", number = 58, institution = MIT # " Project {MAC}", address = "Cambridge, Massachusetts" } @inproceedings{MiBK86, author = "Mittal, S. and Bobrow, Daniel and Kahn, K.", title = "Virtual Copies: At the Boundary Between Classes and Instances", crossref = "OOPSLA86", key = "", pges = "159--166" } @inproceedings{MoBo91, author = "Mogul, Jeffrey C. and Anita Borg", title = "The Effect of Context Switches on Cache Performance", crossref = "ASPLOS4", key = "", pages = "75--84" } @phdthesis{Mo:phd, author = "K. A. Mohammed-Ali", title = "Object-Oriented Storage Management and Garbage Collection in Distributed Processing Systems", school = "Royal Institute of Technology, Dept. of Computer Systems", address = "Stockholm, Sweden", year = 1984 } @article{Mohe88, author = "Thomas G. Moher", title = "{PROVIDE}: A Process Visualization and Debugging Environment", journal = ieeetse, volume = 14, number = 6, month = jun, year = 1988, pages = "849--857" } @article{MW:OHLDT, author = "Thomas G. Moher and Paul R. Wilson", title = "Offsetting Human Limitations with Debugging Technology", journal = "{IEEE} Software", volume = 8, number = 3, month = may, year = 1991, pages = {11--13}, annote = "Guest editors' introduction to issue on debugging" } @inproceedings{Mo:GCLLS, author = "Moon, David", title = "Garbage Collection in a Large {L}isp System", crossref = "LFP84", key = "", pages = "235--246" } @inproceedings{Mo:AS3600, AUTHOR = "David A. Moon", TITLE = "Architecture of the {S}ymbolics 3600", BOOKTITLE = "The 12th Annual " # CA, address = "Boston, Massachusetts", month = jun, YEAR = 1985, PAGES = {76--83} } @article{Mo:OSADSD, author = "H. L. Morgan", title = "Optimal Space Allocation on Disk Storage Devices", journal = cacm, volume = 17, number = 3, month = mar, year = 1974, pages = {139--142} } @article{Mo:TSEGCA, AUTHOR="F. Lockwood Morris", TITLE="A Time- and Space-Efficient Garbage Compaction Algorithm", JOURNAL=cacm, VOLUME=21, NUMBER = 8, YEAR=1978, MONTH=aug, PAGES={662--665} } @article{MBBDD:PGS, author = "R. Morrison and A. L. Brown and P. J. Bailey and A. J. T. Davie and A. Dearle", title = "A Persistent Graphics Facility for the ICL PERQ", journal = SPE, year = 1986 } @inproceedings{Mo:Mneme, author = "Moss, J. Eliot B.", title = "Addressing Large Distributed Collections of Persistent Objects: The {M}neme Project's Approach", booktitle = "Second International Workshop on Database Programming Languages", pages = "269--285", month = jun, year = 1989, address = "Glenedon Beach, Oregon", note = "Also available as Technical Report 89-68, University of Massachusetts Dept. of Computer and Information Science, Amherst, Massachusetts, 1989" } @techreport{Mo:Swizzle, author = "Moss, J. Eliot B.", title = "Working With Objects: To Swizzle or Not to Swizzle?", type = "Technical Report", number = "90--38", institution = "University of Massachusetts", address = "Amherst, Massachusetts", month = may, year = 1990 } @inproceedings{Mo:LFGC, author = "J. Eliot B. Moss", title = "Lock-Free garbage collection for Multiprocessors", booktitle = "Parallel Algorithms and Architectures", month = jul, year = 1991 } @inproceedings{MLG:DECAP, author = "T. C. Mowry and M. S. Lam and A. Gupta", title = "Design and Evaluation of a Compiler Algorithm for Prefetching", crossref = "ASPLOS5", key = "", pages = {62--73} } @techreport{Moyer91, author = "Moyer, Steven A.", title = "Performance of the i{PSC}/860 Node Architecture", institution = "University of Virginia, Institute for Parallel Computing, Engineering, and Applied Science", number = "IPC-TR-91-007", month = may, year = 1991 } @inproceedings{MJ:BTO, AUTHOR = "Steven S. Muchnick and Neil D. Jones", TITLE = "Binding Time Optimizations in Programming Languages: {S}ome Thoughts toward the Design of an Ideal Language", PAGES = {77--91}, CROSSREF = "POPL76", key = "" } @inproceedings{MU:DSABST, author = "R. Muntz and R. Uzgalis", title = "Dynamic Storage Allocation for Binary Search Trees in a Two-Level Memory", booktitle = "Fourth Princeton Conference", address = "Princeton, New Jersey", year = 1970 } @inproceedings{Mu:ALDMAS, AUTHOR = "Thomas P. Murtagh", TITLE = "A Less Dynamic Memory Allocation Scheme for {ALGOL}-like Languages", PAGES = {283--289}, CROSSREF = "POPL84", key = "", COMMENT = "Uses call graph to allocate activation records many at once; reduce cost of procedure call" } @phdthesis{Mycroft:thesis, AUTHOR = "Alan Mycroft", TITLE = "Abstract Interpretation and Optimising Transformations for Applicative Programs", YEAR = 1981, SCHOOL = "University of Edinburgh", ADDRESS = "United Kingdom" } @inproceedings{NMK:LSSDSLE, AUTHOR = "Sanjai Narain and David McArthur and Philip Klahr", TITLE = "Large-Scale System Development in Several {LISP} Environments", CROSSREF = "IJCAI83", KEY = "", VOLUME = 2, PAGES = {859--861} } @inproceedings{NW:OTIR, author = "Robert H. B. Netzer and Mark H. Weaver", title = "Optimal Tracing and Incremental Reexecution for Debugging Long-Running Programs", crossref = "PLDI", month = jun, year = 1994, pages = {313--325} } @article{NSW:PPGA, author = "I. A. Newman and R. P. Stallard and M. C. Woodward", title = "Performance of parallel garbage collection algorithms", journal = "Computer Studies", number = 166, month = sep, year = 1982 } @article{NSW:HMPGCA, author = "I. A. Newman and R. P. Stallard and M. C. Woodward", title = "A Hybrid Multiple Processor Garbage Collection Algorithm", journal = compj, volume = 30, number = 2, month = apr, year = 1987 } @mastersthesis{No:SRSAMS, author = "A. K. Nori", title = "A Storage Reclamation Scheme for Applicative Multiprocessor Systems", school = "University of Utah", month = dec, year = 1979 } @phdthesis{Neirynck:phd, AUTHOR = "Anne Neirynck", TITLE="Static Analysis of Aliasing and Side Effects in Higher-Order Languages", SCHOOL=CORNELL, ADDRESS = "Ithaca, New York", YEAR=1988, MONTH=jan } @inproceedings{NPD:CASS, AUTHOR="Anne Neirynck and Prakash Panangaden and Alan J. Demers", TITLE = "Computation of Aliases and Support Sets", CROSSREF="POPL87", key = "", PAGES= {274--283} } @book{Ne:DCB, author = "Mark Nelson", title = "The Data Compression Book", publisher = "M \& T Books", year = 1991} @inproceedings{NOPH:RBICC, title = "Replication-based Incremental Copying Collection", author = "Scott Nettles and James O'Toole and David Pierce and Nicholas Haines", crossref="IWMM92", key = "", pages = {357--364} } @article{Ni:DMACS, title = "Dynamic Memory Allocation in Computer Simulation", author = "N. R. Nielsen", journal = CACM, volume = 20, number = 11, month = nov, year = 1977, pages = {864--873} } @article{Ni:GCSLDSRT, AUTHOR = "Nilsen, Kelvin", TITLE = "Garbage Collection of Strings and Linked Data Structures in Real Time", JOURNAL = spe, VOLUME = 18, NUMBER = 7, MONTH = jul, YEAR = 1988, PAGES = {613--640} } @techreport{NS:HARTGC, author = "Kelvin Nilsen and William J. Schmidt", title = "A High-Level Overview of Hardware Assisted Real-Time Garbage Collection", institution = "Dept. of Computer Science, Iowa State University", address = "Ames, Iowa", year = 1990, number = "TR 90-18a" } @article{NS:CEOSM, author = "Kelvin Nilsen and William J. Schmidt", title = "Cost-Effective Object Space Management for Hardware-Assisted Real-Time Garbage Collection", journal = LOPLAS, volume = 1, number = 4, month = dec, year = 1992, pages = {338--355} } @incollection{NR:CGCSH, AUTHOR = "S. C. North and J. H. Reppy", TITLE = "Concurrent Garbage Collection on Stock Hardware", CROSSREF = "FPLCA87", KEY = "", PAGES = {113--133} } @techreport{Nuth87, author = "Nuth, Peter R.", title = "Communication Patterns in a Symbolic Multiprocessor", type = "Technical Report", number = "MIT/LCS/TR-395", institution = "Massachusetts Institute of Technology Laboratory for Computer Science", address = "Cambridge, Massachusetts", month = "June", year = 1987 } @article{OA:AEFSM, author = "R. R. Oldehoeft and S. J. Allan", title = "Adaptive Exact-Fit Storage Management", journal = CACM, volume = 28, number = 5, month = may, year = 1985, pages = "506--511" } @inproceedings{ONG:CCGCPH, author="James O'Toole and Scott Nettles and David Gifford", title="Concurrent Compacting Garbage Collection of a Persistent Heap", crossref = "SOSP93", key = "", month = dec, year = 1993 } @inproceedings{Ou:WAOSGF, author="John Ousterhout", title="Why Aren't Operating Systems Getting Faster as Fast as Hardware?", booktitle="Summer 1990 {USENIX} Conference", organization = "{USENIX} Association", month=jun, year=1990, address="Anaheim, California", publisher="{IEEE} Press", pages={247--256} } @inproceedings{Ow:MWSGC, AUTHOR="Susan Owicki", TITLE="Making the world safe for garbage collection", CROSSREF="POPL81", key = "", PAGES={77--86} } @inproceedings{PK:ESBSCR, title = "Evaluating Stream Buffers as a Secondary Cache Replacement", author = "S. Palacharla and R. E. Kessler", crossref = "ISCA94", key = "", pages = {24--33} } @article{Pa:OFASS, author = "Ivor P. Page", title = "Optimal Fit of Arbitrary Sized Segments", journal = "Computer Journal", volume = 25, number = 1, month = jan, year = 1982 } @article{Pa:ACPS, author = "Ivor P. Page", title = "Analysis of a Cyclic Placement Scheme", journal = compj, volume = 27, number = 1, month = jan, year = 1984, pages = {18--25} } @article{PH:IPBS, author = "Ivor P. Page and Jeff Hagins", title = "Improving the Performance of Buddy Systems", journal = ieeetoc, volume = "C-35", number = 5, month = may, year = 1986, pages = {441--447} } @inproceedings{PZ:Fido, title = "Fido: A Cache that Learns to Fetch", author = "Mark Palmer and Stanley B. Zdonik" } @inproceedings{PaLi88, author = "Pan, Douglas Z. and Linton, Mark", title = "Supporting Reverse Execution of Parallel Programs", crossref = "PDD88", key = "", pages = "112--123" } @inproceedings{PG:REA, author = "Young Gil Park and Benjamin Goldberg", title = "Reference Escape Analysis: Optimizing Reference Counting based on the Lifetime of References", booktitle = "Symposium on Partial Evaluation and Semantics-Based Program Manipulation", address = "New Haven, Connecticut", month = jun, year = 1991, pages = {178--189} } @inproceedings{PG:EAOL, author = "Young Gil Park and Benjamin Goldberg", title = "Escape Analysis on Lists", crossref = "PLDI92", key = "", pages = {116--127} } @article{Parnas:modules, TITLE="On the Criteria to be used in decomposing systems into modules", AUTHOR="D. L. Parnas", JOURNAL=cacm, VOLUME=15, NUMBER=12, MONTH=dec, YEAR=1972, PAGES={1053--1058} } @techreport{Pat:SOAR, AUTHOR="David A. Patterson", TITLE="Smalltalk on a {RISC}: Architectural Investigations", INSTITUTION="Computer Science Division, University of California at Berkeley", NUMBER="CS292R", YEAR=1983, MONTH=apr } @inproceedings{PGK:RAID, author = "David A. Patterson and G. Gibson and R. H. Katz", title = "A Case for Redundant Arrays of Inexpensive Disks ({RAID})", booktitle = SIGMOD, year = 1988 } @techreport{PeSo89, author = "Peng, C.-J. and Gurindar S. Sohi", title = "Cache Memory Design Considerations to Support Languages With Dynamic Heap Allocation", type = "Technical Report", number = 860, institution = {Computer Sciences Dept. University of Wisconsin}, address = "Madison, Wisconsin", month = "July", year = 1989 } @article{PN:BS, author = "J. L. Peterson and T. A. Norman", title = "Buddy Systems", journal = CACM, volume = 20, number = 6, month = jun, year = 1977, pages = "421--431" } @techreport{PVEP:CRCAP, author="E. J. H. Pepels and M. C. J. D. {van Eekelen} and M. J. Plasmeijer", title="A Cyclic Reference Counting Algorithm and its Proof", institution="Computing Science Department", address="University of Nijmegen", year="1988", type="Technical report", number="88--10", comments={\com A correct and terminating version of the algorithm in [Brownbridge, 1985] and its proof. Based on [Salkild, 1987]. Complexity is at least exponential.} } @inproceedings{PS:EFTGC, author = "David Plainfoss{\'e} and Marc Shapiro", title = "Experience with Fault Tolerant garbage collection in a Distributed {L}isp System", crossref = "IWMM92", key = "", pages = "116--133", } @article{PPRS:PPB, title = "Prefetching Pacing Buffer to Reduce Cache Misses", author = "J. H. Pomerene and T. R. Puzak and R. N. Rechtschaffen and F. J. Sparacio", journal = "IBM Technical Disclosure Bulletin", volume = 27, number = 5, year = 1985, pages = {2773--2774} } @article{PPRS:PCA, title = "Prefetching Confirmation Array", author = "J. Pomerene and T. R. Puzak and R. N. Rechtshaffen and F. J. Sparacio", journal = "IBM Technical Disclosure Bulletin", volume = 27, number = 5, year = 1985, pages = {2786--2787} } @article{PPRS:SSPDP, title = "Shadow Structure to Perform D-Line Prefetching", author = "J. Pomerene and T. R. Puzak and R. N. Rechtshaffen and F. J. Sparacio", journal = "IBM Technical Disclosure Bulletin", volume = 27, number = 5, year = 1985, pages = {2987--2988} } @inproceedings{PoPr83, author = "Powell, M. L. and Presotto, D. L.", title = "Publishing: A Reliable Broadcast Communication Mechanism", crossref = "SOSP83", key = "", pages = "100--109" } @article{PF:VMIN, author = "B. G. Prieve and R. S. Fabry", title = "{VMIN} -- An Optimal Variable Space Page-Replacement Algorithm", journal = CACM, volume = 19, number = 5, month = may, year = 1976, pages = "295--297" } @inproceedings{PrHH88, author = "Przybylski, Stephen and Mark Horowitz and John Hennessy", title = "Performance Tradeoffs in Cache Design", booktitle = "15th Annual " # CA, address = "Honolulu, Hawaii", month = jun, year = 1988, pages = "290--298" } @inproceedings{Pr:PIBSFS, author = "Przybylski, Stephen", title = "The Performance Impact of Block Sizes and Fetch Strategies", crossref = "ISCA90", key = "", pages = "160--169" } @book{Pr:CMHD, author = "S. Przybylski", title = "Cache and Memory Hierarchy Design: A Performance-Directed Approach", publisher = "Morgan Kaufman", address = "San Mateo, California", year = 1990 } @inproceedings{Pu:DGCAO, author = "Isabelle Puaut", title = "Distributed Garbage Collection of Active Objects with No Global Synchronization", crossref = "IWMM92", key = "", pages = "148--164" } @article{PS:SPBS, title = "Statistical Properties of the Buddy System", author = "P.W. Purdom and S. M. Stigler", journal = jacm, volume = 17, number = 4, month = oct, year = 1970, pages = {683--697} } @article{PSC:SITSAA, author = "P. W. Purdom and S. M. Stigler and Tat-Ong Cheam", title = "Statistical Investigation of Three Storage Allocation Algorithms", journal = "BIT", volume = 11, year = 1971, pages = "187--195" } @phdthesis{Puzak:phd, author = "Thomas R. Puzak", title = "Analysis of Cache Replacement Algorithms", school = "University of Massachussetts, Dept. of Electrical and Computer Engineering", month = feb, year = 1985 } @inproceedings{QPQ:MDS, author = "Christian Queinnec and Barbara Beaudoing and Jean-Pierre Queille", title = "{M}ark {DURING} {S}weep rather than {M}ark {THEN} {S}weep", crossref = "parle89", key = "", ecritsdIcsla = 1, abstract = "Garbage Collection frees the programmer from the burden of explicitly deallocating unused data. This facility induces a considerable overhead but also causes some delays that may affect real-time applications. Guaranteed throughput (with at most short and predictable delays) is needed in many applications such as plane or plant control and requires at least a worst case analysis to identify the performances of the whole system. Traditional GC are made of two phases~: the marker which identifies all useful data, followed by the sweeper which reclaims all useless data. On-the-fly GC schemes were introduced to permit an application and a collector to run concurrently. That concurrency may lessen the GC penalty incurred by the application. We present here a new algorithm where the application, the marker and the sweeper are concurrent. The benefit is to tightly adjust collection rate to application consumption and have an allocation time bounded by a small constant. Moreover our algorithm does not waste memory and appears to be well suited for embedded systems. This ``mark {\sc during} sweep'' algorithm is completely presented. An interesting single-processor and incremental realisation is also analysed and followed by some implementation variations." } @article{Qu:EIMRVGM, author = "R. W. Quong", title = "Expected I-cache Miss Rates via the Gap Model", crossref = "ISCA94", key = "", pages = {372--383} } @article{Ra:DTD, author = "S. P. Rana", title = "A Distributed Solution to the Distributed Termination Problem", journal = ipl, volume = 17, month = jul, year = 1983, pages = {43--46}, } @article{Ra:PACM, title = "Performance Analysis of Cache Memories", author = "G. S. Rao", journal = jacm, volume = 25, number = 3, month = jul, year = 1978, pages = {378--395} } @article{RK:DSAS, author = "Brian Randell and C. J. Kuehner", title = "Dynamic Storage Allocation Systems", journal = cacm, volume = 12, number = 7, month = may, year = 1968, pages = {297--306} } @article{Ra:NSF, author = "Brian Randell", title = "A Note on Storage Fragmentation and Program Segmentation", journal = cacm, volume = 12, number = 7, month = jul, year = 1969, pages = {365--372} } @article{Rand75, author = "Randell, Brian", title = "System Structure For Software Fault Tolerance", journal = ieeetse, volume = "SE-1", number = 2, month = jun, year = 1975, pages = "220--232" } @inproceedings{Rash87, author = "Rashid, R. and Tevanian, A. and Young, M. and others", title = "Machine-Independent Virtual Memory Management For Paged Uniprocessor and Multiprocessor Architectures", crossref = "ASPLOS2", key = "", pages = "31--39" } @techreport{Ra:SPS, title = "Sequential Prefetch Strategies for Instructions and Data", author = "B. R. Rau", institution = "Digital Systems Laboratory, Stanford University", year = 1977, month = jan } @phdthesis{Rau:phd, title = "Program Behavior and the Performance of Memory Systems", author = "B. R. Rau", school = "Stanford University", year = 1977 } @techreport{ReCl86, author = "Rees, Jonathan and William Clinger", title = "The Revised$^3$ Report on the Algorithmic Language {Scheme}", type = "AI Memo", number = "848a", institution = MIT, address = "Cambridge, Massachusetts", month = sep, year = 1986 } @article{Re:FSDURFA, author = "C. M. Reeves", title = "Free Store Distribution Under Random-Fit Allocation", journal = compj, volume = 22, number = 4, month = nov, year = 1979, pages = {346--351} } @article{Re:FSDURFA2, author = "C. M. Reeves", title = "Free Store Distribution Under Random-Fit Allocation: Part 2", journal = compj, volume = 23, number = 4, month = nov, year = 1980, pages = {298--306} } @article{Re:LSMCDSA, author = "C. M. Reeves", title = "A Lumped-State Model of Clustering in Dynamic Storage Allocation", journal = compj, volume = 27, number = 2, year = 1982, pages = {135--142} } @article{Re:FSDURFA3, author = "C. M. Reeves", title = "Free Store Distribution Under Random-Fit Allocation, Part 3", journal = compj, volume = 26, number = 1, month = feb, year = 1983, pages = {25--35} } @inproceedings{Re:CPGCP, author = "Mark B. Reinhold", title = "Cache Performance of Garbage-Collected Programs", crossref = "PLDI94", month = jun, year = 1994, pages = {206--217} } @inproceedings{RD:FBR, author = "Robertson, J. and M. Devarakonda", title = "Data Cache Management Using Frequency-Based Replacement", booktitle = "{SIGMETRICS}", year = 1990 } @article{Ro:ESSNDSA, author = "J. M. Robson", title = "An Estimate of the Store Size Necessary for Dynamic Storage Allocation", journal = "Journal of the {ACM}", volume = 18, number = 3, month = jul, year = 1971, pages = "416--423" } @article{Ro:BSACCS, author = "J. M. Robson", title = "A Bounded Storage Algorithm for Copying Cyclic Structures", journal = cacm, volume = 20, number = 6, month = jun, year = 1977, pages = {431--433} } @article{Ro:BSF, author = "J. M. Robson", title = "Bounds for Some Functions Concerning Dynamic Storage Allocation", journal = jacm, volume = 21, number = 3, month = jul, year = 1974, pages = {491--499} } @article{Ro:WCFFFBF, author = "J. M. Robson", title = "Worst Case Fragmentation of First Fit and Best Fit Storage Allocation Strategies", journal = compj, volume = 20, number = 3, month = aug, year = 1977, pages = {242--244} } @article{Ro:NLTPE, author = "A. Rochfeld", title = "New {LISP} Techniques for a Paging Environment", journal = cacm, volume = 14, number = 12, month = dec, pages = {791--795} } @inproceedings{Ro:FastDispatch, title = "Fast Dispatch Mechanisms for Stock Hardware", author = "John R. Rose", crossref = "OOPSLA88", key = "", pages = {27--35}, note = "" } @inproceedings{Ro:ASPO, AUTHOR = "John Rosenberg", TITLE = "Architectural Support for Persistent Objects", PAGES = "48--60", crossref = "IWOOOS91", key = "" } @inproceedings{RHBM:SPS, title = "Stability in a Persistent Store Based on a Large Virtual Memory", author = "John Rosenberg and F. A. Henskens and A. L. Brown and R. Morrison and D. Munro", year = 1990, booktitle = "Security and Persistence: Proceedings of the International Workshop on Computer Architectures to Support Security and Persistence of Information", editors = "John Rosenberg and J. Leslie Keedy", address = "Bremen, West Germany", publisher = SV # " and the British Computer Society", pages = {229--245} } @inproceedings{RK:OMAMA, author = "John Rosenberg and J. Leslie Keedy", title = "Object Management and Addressing in the {MONADS} Architecture", booktitle = "Second International Workshop on Persistent Object Systems", address = "Appin, Scotland", year = 1987 } @inproceedings{RO:LFS, author = "Mendel Rosenblum and John K. Ousterhout", title = "The Design and Implementation of a Log-Structured File System", crossref = "SOSP91", key = "", pages = {1--15} } @article{Ro:GTSMNC, author = "D. T. Ross", title = "A Generalized Technique for Symbol Manipulation and Numerical Calculation", journal = cacm, volume = 4, number = 3, month = mar, year = 1961, pages = {147--150} } @article{Ro:AEDFSP, author = "D. T. Ross", title = "The {AED} Free Storage Package", journal = cacm, volume = 10, number = 8, month = aug, year = 1967, pages = {481--492} } @techreport{Ro:CedarGC, AUTHOR = "Paul Rovner", TITLE = "On Adding Garbage Collection and Runtime Types to a Strongly-Typed, Statically Checked, Concurrent Language", INSTITUTION = PARC, YEAR = 1985, type = "Technical Report", address = "Palo Alto, California", month = jul, NUMBER = "CSL-84-7" } @techreport{Ro:Modula, AUTHOR = "Paul Rovner and Roy Levin and John Wick", TITLE = "On Extending {M}odula-2 For Building Large, Integrated Systems", INSTITUTION = DECSRC, address = "Palo Alto, California", YEAR = 1985, NUMBER = 3 } @inproceedings{Ru:DCGC, author = "Martin Rudalics", title = "Distributed Copying Garbage Collection", crossref = "LFP86", key = "", pages = {364--372} } @phdthesis{Ruggieri:phd, AUTHOR = "Christina Ruggieri", TITLE = "Dynamic Memory Allocation Techniques Based on the Lifetimes of Objects", SCHOOL = "Purdue University", ADDRESS = "West Lafayette, Indiana", YEAR = 1987, MONTH = aug } @inproceedings{RM:LADAO, AUTHOR = "Christina Ruggieri and Thomas P. Murtagh", TITLE = "Lifetime Analysis of Dynamically Allocated Objects", CROSSREF = "POPL88", key = "", PAGES={285--293} } @article{Ru:IFCBS, author = "D. L. Russell", title = "Internal Fragmentation in a Class of Buddy Systems", journal = siamjc, volume = 6, number = 4, month = dec, year = 1977, pages = {607--621} } @inproceedings{Sa:Mache, author = "A. Dain Samples", title = "Mache: No-Loss Trace Compaction", booktitle = "ACM SIGMETRICS", month = may, year = 1989, pages = {89--97} } @inproceedings{SB:IDS, author = "M. Schelvis and E. Bledoeg", title = "The Implementation of Distributed Smalltalk", booktitle = ECOOP, editor = "S. Gjessing and K. Nygaard", month = aug, year = 1988, address = "Oslo, Norway", publisher = SV, series = LNCS, number = 322, } @inproceedings{Sc:IDTP, author = "M. Schelvis", title = "Incremental Distribution of Timestamp Packets: a New Approach to Distributed Garbage Collection", crossref = "OOPSLA89", key = "", pages = {37--48} } @book{Sc:ATSCS, author = "A. Scherr", title = "An Analysis of Time-Shared Computer Systems", publisher = "MIT Technology Press", year = 1967 } @mastersthesis{Sa:IATRCA, author = "Jon D. Salkild", title = "Implementation and Analysis of Two Reference Counting Algorithms", school = "University College", address = "London, United Kingdom", year=1987, comments = {\com Proves the incorrectness of the algorithm in [Brownbridge, 1985] and suggests a way of fixing it. Unfortunately his algorithm is non-terminating in pathological cases.} } @phdthesis{Schmidt:phd, author = "William J. Schmidt", title = "Issues in the Design and Implementation of a Real-Time Garbage Collection Architecture", year = 1992, school = "Iowa State University", address = "Ames, Iowa", note = "Technical report ISUTR 92-25" } @article{SW:EMIPGC, author = "H. Schorr and W. M. Waite", title = "An Efficient Machine-Independent Procedure for Garbage Collection in Various List Structures", journal = cacm, volume = 10, number = 8, month = aug, year = 1967, pages = {501--506} } @techreport{SETL131, AUTHOR="Jacob T. Schwartz", TITLE="More on Copy Optimization of {SETL} Programs", NUMBER=131, TYPE="{SETL} Newsletter", INSTITUTION=NYUCOUR, YEAR=1974, MONTH=jun } @unpublished{Se:FBS, author = "R. Sedgewick", title = "A Fibonacci Buddy System", year = 1972, note = "18 pages, cited in \cite{Ru:IFCBS}" } @inproceeding{Se:GGCLGR, author = "Julian Seward", title = "Generational Garbage Collection for Lazy Graph Reduction", crossref = "IWMM92", key = "", pages = "200--217" } @inproceedings{Sh:FTS, title = "A Fault-tolerant, Scalable, Low-overhead Distributed Garbage Detection Protocol", author = "Marc Shapiro", booktitle = "Tenth Symposium on Reliable Distributed Systems", address = "Pisa, Italy", year = 1991, month = sep, publisher = "{IEEE} Computer Society Press", } @inproceedings{SDP:RDRAGC, title = "Robust, Distributed References and Acyclic Garbage Collection", author = "Shapiro, Marc and Peter Dickman and David Plainfoss{\'e}", booktitle = "Symposium on Principles of Distributed Computing", month = aug, year = 1992, address = "Vancouver, Canada", organization = ACM, pages = "135--146" } @inproceedings{Sh:SSPC, title = "SSP Chains", author = "Marc Shapiro et al.", booktitle = "Symposium on Principles of Distributed Computing", publisher = acm, year = 1992 } @article{Sc:OVHLL1, AUTHOR = "Jacob T. Schwartz", TITLE = "Optimization of Very High Level Languages---{I}. {V}alue Transmission and its Corollaries", JOURNAL = "Journal of Computer Languages", VOLUME = 1, YEAR = 1975, PAGES = {161--194} } @article{Sc:OVHLL2, AUTHOR = "Jacob T. Schwartz", TITLE = "Optimization of Very High Level Languages---{II}. {D}educing Relationships of Inclusion and Membership", JOURNAL = "Journal of Computer Languages", VOLUME = 1, YEAR = 1975, PAGES = {197--218} } @techreport{SETL176, AUTHOR="Jacob T. Schwartz", TITLE="A coarser, but simpler and considerably more efficient copy optimization technique", NUMBER=176, TYPE="{SETL} Newsletter", INSTITUTION=NYUCOUR, YEAR=1976, MONTH=aug } @inproceedings{S:VSUDOAP, AUTHOR = "Jerald Schwarz", TITLE = "Verifying the Safe Use of Destructive Operations in Applicative Programs", YEAR = 1978, BOOKTITLE = "Program Transformations--Proceedings of the 3rd International Symposium on Programming", PAGES = {395--411} } @inproceedings{SS:PGGC, author = "Ravi Sharma and Mary Lou Soffa", title = "Parallel Generational Garbage Collection", crossref = "OOPSLA91", key = "", pages = {16--32} } @techreport{Shaw87, author = "Shaw, Robert A.", title = "Improving Garbage Collector Performance in Virtual Memory", institution = "Stanford University", number = "CSL -TR-87-323", month = mar, year = 1987 } @phdthesis{Shaw88, author = "Shaw, Robert A.", title = "Empirical Analysis of a {L}isp System", school = "Stanford University", address = "Palo Alto, California", month = feb, year = 1988, note = "Technical Report CSL-TR-88-351, Stanford University Computer Systems Laboratory" } @article{SP:WBMDSA, author = "K. K. Shen and J. L. Peterson", title = "A Weighted Buddy Method for Dynamic Storage Allocation", journal = CACM, volume = 17, number = 10, month = oct, year = 1974, pages = {558--562} } @article{Sh:ESF, author = "J. E. Shore", title = "On the External Storage Fragmentation Produced by First-Fit and Best-Fit Allocation Strategies", journal = CACM, volume = 18, number = 8, month = aug, year = 1975, pages = "433--440" } @article{Sh:ABFPR, author = "J. E. Shore", title = "Anomalous Behavior of the Fifty-Percent Rule in Dynamic Memory Allocation", journal = CACM, volume = 20, number = 11, month = nov, year = 1977, pages = {558--562} } @article{SST:MW, author = "Jaswinder Pal Singh and Harold S. Stone and Dominique Thiebaut", title = "A Model of Workloads and Its Use in Miss-Rate Prediction for Fully-Associative Caches", journal = ieeetoc, volume = 41, number = 7, month = jul, year = 1992, pages = {811--825} } @inproceedings{SKW:TPS, AUTHOR = "Singhal, Vivek and Sheetal V. Kakkad and Paul R. Wilson", TITLE = "{T}exas: an Efficient, Portable Persistent Store", crossref = "POS5", key = "", PAGES = {11--33} } @article{ST:SABST, author = "Daniel Dominic Sleator and Robert Endre Tarjan", title = "Self-Adjusting Binary Search Trees", journal = jacm, volume = 32, number = 3, year = 1985 } @article{SL:OSAA, author = "Maciej Slusarek", title = "An Off-Line Storage Allocation Algorithm", journal = ipl, volume = 24, number = 2, month = jan, year = 1987, pages = {71--75} } @article{Sm:MWS, author = "Alan J. Smith", title = "A Modified Working Set Paging Algorithm", journal = ieeetse, volume = "C-25", number = 9, month = sep, year = 1976, pages = {907--914} } @article{Sm:EAATD, author = "Alan J. Smith", title = "Two Methods for the Efficient Analysis of Address Trace Data", journal = ieeetse, volume = "SE-3", number = 1, month = jan, year = 1977 } @article{Sm:SPPMH, author = "Alan J. Smith", title = "Sequential Program Prefetching in Memory Hierarchies", journal = IEEEComputer, volume = 11, number = 12, month = dec, year = 1978, pages = {7--21} } @article{Sm:SPDBS, author = "Alan J. Smith", title = "Sequentiality and Prefetching in Database Systems", journal = tods, volume = 3, number = 3, month = sep, year = 1978, pages = {223--247} } @article{Sm:CSPEMMU, title = "Characterizing the Storage Process and its Effects on Main Memory Update", author = "Alan J. Smith", joural = jacm, volume = 26, number = 1, month = jan, year = 1979, pages = {6--27} } @article{Sm:CM, author = "Alan J. Smith", title = "Cache Memories", journal = compsurv, volume = 14, number = 3, month = sep, year = 1982, pages = {473--530} } @inproceedings{Sm:CEIWC, author = "Alan J. Smith", title = "Cache Evaluation and the Impact of Workload Choice", crossref = "ISCA12", month = jun, year = 1985, pages = {64--73} } @article{Sm:bib, author = "Alan J. Smith", title = "Bibliography and Readings on CPU Cache Memories and Related Topics", journal = can, volume = 14, number = 1, year = 1986, month = jan, pages = {22--42} } @article{Sm:LSC, author = "Alan J. Smith", title = "Line (Block) Size Choice for CPU Cache Memories", journal = ieeetoc, volume = "C-36", number = 9, month = sep, year = 1987, pages = {1063--1075} } @inproceedings{SM:TCEMEA, author = "Smith, J. M. and Maguire, Jr., Gerald Q.", title = "Transparent Concurrent Execution of Mutually Exclusive Alternatives", booktitle = "Ninth International Conference on Distributed Computer Systems", month = jun, year = 1989, address = "Also available as Technical Report CUCS-387-88, Columbia University, New York, New York" } @inproceedings{SW:MAOSH, author = "Walter R. Smith and Robert V. Welland", title = "A Model for Address-Oriented Software and Hardware", booktitle = "25th Hawaii International Conference on Systems Sciences", month = Jan, year = 1991 } @inproceedings{Sm:NAA, author = "Walter W. Smith", title = "The Newton Application Architecture", crossref = "COMPCON94", note = "to appear" } @techreport{Soba88, author = "Patrick G. Sobalvarro", title = "A Lifetime-Based Garbage Collector for {LISP} Systems on General-Purpose Computers", type = "{B.S.} thesis", institution = MIT # " {EECS} Department", address = "Cambridge, Massachusetts", year = 1988 } @misc{Sousa:IK, author = "Pedro Sousa" } @book{Sp:PB, author = "J. R. Spirn", title = "Program Behavior: Models and Measurements", seriestitle = "Operating and Programming Systems Series", publisher = "Elsevier", address = "New York" } @inproceedings{St:SM, author = "Mark E. Staknis", title = "Sheaved Memory: Architectural Support for State Saving and Restoration in Paged Systems", crossref = "ASPLOS3", key = "", pages = "96-102" } @techreport{Stam82, author = "Stamos, James William", title = "A Large Object-Oriented Virtual Memory: Grouping Strategies, Measurements, and Performance", institution= PARC, address = "Palo Alto, California", type = "Technical Report", number = "SCG-82-2", month = May, year = 1982 } @article{Stam84, author = "Stamos, James William", title = "Static Grouping of Small Objects to Enhance Performance of a Paged Virtual Memory", journal = "{ACM} Transactions on Programming Languages and Systems", volume = 2, number = 2, month = May, year = 1984, pages = "155--180" } @techreport{Stam86, author = "James William Stamos", title = "Programmer-Invoked Local Garbage Collection: A Design", type = "Technical Report", number = "unpublished draft", institution = MIT, year = 1986 } @article{SPUR86, author = "Hill, Mark and Susan Eggers and James Larus and George Taylor and others", title = "{SPUR}: A {VLSI} Multiprocessor Workstation", journal = "{IEEE} Computer", volume = 19, number = 11, month = nov, year = 1986, pages = "8--22" } @book{St:DST, author = "Thomas Standish", title = "Data Structure Techniques", publisher = AW, address = "Reading, Massachusetts", year = 1980 } @techreport{St:RACFS, AUTHOR = "Guy L. {Steele Jr.}", TITLE="{RABBIT}: A Compiler for {SCHEME}", INSTITUTION= MIT, YEAR=1978, MONTH=may } @article{St:MCGC, author = "Guy L. {Steele Jr.}", title = "Multiprocessing Compactifying Garbage Collection", journal = cacm, volume = 18, number = 9, month = sep, year = 1975, pages = {495--508} } @techreport{StSu75, author = "{Steele Jr}, Guy L. and Gerald J. Sussman", title = "{S}cheme: An Interpreter For the Extended Lambda Calculus", type = "AI Memo", number = 349, institution = MIT # " Artificial Intelligence Laboratory", address = "Cambridge, Massachusetts", year = 1975 } @phdthesis{Stee87, author = "Steenkiste, Peter", title = "Lisp on a Reduced-Instruction-Set Processor: Characterization and Optimization", school = "Stanford University", address = "Palo Alto, California", note = "Technical Report CSL-TR-87-324, Stanford University Computer System Laboratory", month = mar, year = 1987 } @inproceedings{SH:TTCIL, author = "Peter Steenkiste and John Hennessy", title = "Tags and Type Checking in {L}isp", crossref = "ASPLOS2", key = "", pages = "50-59", } @inproceedings{St:FF, author = "C. J. Stephenson", title = "Fast Fits: New Methods for Dynamic Storage Allocation", crossref = "SOSP83", key = "", pages = {30--32} } @techreport{St:PMA, author = "Harold S. Stone", title = "Parallel Memory Allocation Using the {FETCH-AND-ADD} Instruction", institution = "IBM Thomas J. Watson Research Center", address = "Yorktown Heights, New York", month = nov, year = 1982 } @article{STW:OPCM, author = "Harold S. Stone and John Turek and Joel L. Wolf", title = "Optimal Partitioning of Cache Memory", journal = ieeetoc, volume = 41, number = 9, month = sep, year = 1992, pages = {1054--1068} } @inproceedings{Stoye:SPMRCR, AUTHOR = "W. R. Stoye and T. J. W. Clarke and A. C. Norman", TITLE = "Some Practical Methods for Rapid Combinator Reduction", CROSSREF = "LFP84", KEY = "", PAGES = {159--166}, COMMENT = "Useful tricks in a ``by the book'' combinator reduction machine" } @article{SMS:OMPSS, author = "A. Straw and F. Mellender and S. Reigel", title = "Object Management in a Persistent Smalltalk System", journal = SPE, volume = 19, number = 8 } @article{StYe85, author = "Strom, Robert E. and Yemini, Shaula", title = "Optimistic Recovery in Distributed Systems", journal = tocs, month = aug, year = 1985, volume = 3, number = 3, pages = "204--226" } @techreport{StYB88, author = "Strom, R. E. and Yemini, S. and Bacon, D.", title = "A Recoverable Object Store", type = "Technical Report", institution = "{IBM} T. J. Watson Research Center", year = 1988, note = "Submitted for publication" } @article{StCo87, author = "Strothotte, T. W. and Cormack, G. V.", title = "Structured Program Lookahead", journal = "Comp. Lang.", volume = 12, number = 2, year = 1987, pages = "95--108" } @inproceedings{St:EC, author = "Bjarne Stroustrup", title = "The Evolution of {C}++, 1985 to 1987", booktitle = "{USENIX C++} Workshop", organization = "{USENIX} Association", year = 1987, pages = {1--22} } @inproceedings{Su:MDPEP, author = "Indira Subramanian", title = "Managing Discardable Pages with an External Pager", booktitle = "USENIX Mach Symposium", address = "Monterey, California", month = nov, year = 1991, pages = {77--85} } @mastersthesis{Ta:FF, author = "M. Tadman", title = "Fast-Fit: A New Hierarchical Dynamic Storage Allocation Technique", school = "UC Irvine, Computer Science Dept.", year = 1978 } @unpublished{TD:FC, author = "David Tarditi and Amer Diwan", title = "The Full Cost of a Generational Copying Garbage Collection Implementation", month = sep, year = 1993, note = "Unpublished" } @inproceedings{Ta:CE, author = "M. Taunton", title = "Compressed Executables: an Exercise in Thinking Small", booktitle = "Summer 1991 {USENIX} Conference", organization = "{USENIX} Association", month = jun, year = 1991, location = "Nashville, Tennessee", pages = {385--403} } @article{TeRe81, author = "Teitelbaum, T. and Reps, T.", title = "The {Cornell Program Synthesizer}: A Syntax Directed Programming Environment", journal = cacm, volume = 4, number = 9, month = sep, year = 1981, pages = "563--573" } @incollection{Teit81, author = "Teitelman, W.", title = "Automated Programmering: The {Programmer's Assistant}", editor = "Barstow and Shrobe and Sandewell", booktitle = "Interactive Programming Environments", address = "New York", publisher = "McGraw-Hill", year = 1981, pages = "232--239" } @article{Th:FDCP, author = "Dominique Thiebaut", title = "The Fractal Dimension of Computer Programs and its Application to the Prediction of the Cache Miss Ratio", journal = ieeetoc, month = jul, year = 1989, pages = {1012--1026} } @article{TSW:IDCHR, author = "Dominique Thiebaut and Harold S. Stone and Joel L. Wolf", title = "Improving Disk Cache Hit Ratios Through Cache Partitioning", journal = ieeetoc, volume = 41, number = 6, month = jun, year = 1992, pages = {665--676} } @article{TWS:ST, author = "Dominique Thiebaut and Joel L. Wolf and Harold S. Stone", title = "Synthetic Traces for Trace-Driven Simulation of Cache Memories", journal = ieeetoc, volume = 41, number = 4, month = apr, year = 1992, pages = {388-410} } @article{TS:ESAAWBSM, author = "James G. Thompson and Alan Jay Smith", title = "Efficient (Stack) Algorithms for the Analysis of Write-Back and Sector Memories", journal = tocs, volume = 7, number = 1, month = feb, year = 1989 } @techreport{Ti:SRSRDMAA, author = "D. W. Ting", title = "Some Results of the Space Requirements of Dynamic Memory Allocation Algorithms", institution = "Cornell University Department of Computer Science", number = "75-229", month = feb, year = 1975 } @inproceedings{TA:DSMLWRE, title = "Debugging {S}tandard {ML} Without Reverse Engineering", author = "Andrew Tolmach and Andrew Appel", crossref = "LFP90", key = "" } @techreport{To:EIBSTS, title = "An Empirical Investigation into the Behavior of the {SDC} Timesharing System", author = "R. A. Totschek", number = "SP2191", institution = "Systems Development Corporation", year = 1965 } @inproceedings{TE:LCP, title = "Limitations of Cache Prefetching on a Bus-Based Multiprocessor", author = "Dean M. Tullsen and Susan J. Eggers", crossref = "ISCA93", key = "", pages = {278--288} } @article{Ul:RTT, author = "Jeffrey D. Ullman", title = "The Role of Theory Today", journal = csurv, volume = 27, number = 1, month = mar, year = 1995, pages = {43--44} } @inproceedings{Unga84, author = "Ungar, David M.", title = "Generation Scavenging: A Non-disruptive High-Performance Storage Reclamation Algorithm", crossref = "SESPSDE87", key = "", pages = "157--167" } @book{Unga86, author = "David Ungar", title = "Design and Evaluation of a High-Performance {S}malltalk System", publisher = "{MIT} Press", address = "Cambridge, Massachusetts", year = 1986 } @inproceedings{UJ:TP, author = "Ungar, David and Frank Jackson", title = "Tenuring Policies For Generation-Based Storage Reclamation", crossref = "OOPSLA88", key = "", pages = "1--17", note = "" } @inproceedings{UCH:EIS, author = {Craig Chambers and David Ungar and Elgin Lee}, title = "An Efficient Implementation of Self, a Dynamically-Typed Object-Oriented Language Based on Prototypes", crossref = "OOPSLA89", key = "", pages = {49--70} } @article{VD:DICIL, author = "Van Dyke, E. J.", title = "A Dynamic Incremental Compiler For an Interpretive Language", journal = "Hewlett-Packard Journal", month = jul, year = 1977, pages = "17--24" } @inproceedings{VD:SLPSUCH, author = "Francis Vaughan and Alan Dearle", title = "Supporting Large Persistent Stores Using Conventional Hardware", crossref = "POS5", key = "" } @inproceedings{Va:PDA, author = "Francis Vaughan and T. Schunke and B. Koch and A. Dearle and C. Marlin and C. Barter", title = "A Persistent Distributed Architecture Supported by the Mach Operating System", booktitle = "Workshop Proceedings: Mach", organization = "{USENIX} Association", year = 1990, month = oct, address = "Burlington, Vermont", pages = {123--140} } @inproceedings{VAT:SDGCSAO, author = "Nalini Venkatasubramanian and Gul Agha and Carolyn Talcott", title = "Scalable Distributed Garbage Collection for Systems of Active Objects", crossref = "IWMM92", key = "", pages = "134--147" } @phdthesis{VeGC, author = "Vestal, S. C.", title = "Garbage Collection: An Exercise in Distributed, Fault-Tolerant Programming", school = "University of Washington", address = "Seattle, Washington", month = jan, year = 1987 } @inproceedings{Vitt84, author = "Vitter, J. S.", title = "{US\&R}: A New Framework For Redoing", crossref = "SESPSDE87", key = "", pages = "168--176" } @article{Vo:Vmalloc, author = "Kiem-Phong Vo", title = "Vmalloc: A General and Efficient Memory Allocator", journal = spe, year = 1995, note = "To appear" } @article{VMHKR:FNSCI, author = "J. Voldman and B. Mandelbrot and L. W. Hoevel and J. Knight and P. Rosenfeld", title = "Fractal Nature of Software-Cache Interaction", journal = "IBM Journal of Research and Development", volume = 27, number = 2, month = mar, year = 1983, pages = {164--170} } @article{VC:SADR, author = "P. Vongsathorn and S. D. Carson", title = "A System for Adaptive Disk Rearrangement", journal = SPE, volume = 20, number = 3, month = mar, year = 1990, pages = {225--242} } @article{Vu:ULDS, author = "Jean Vuillemin", title = "A Unifying Look at Data Structures", journal = cacm, volume = 29, number = 4, month = apr, year = 1980, pages = {229--239} } @article{Wa:AARTGC, AUTHOR = "Philip L. Wadler", TITLE = "Analysis of an Algorithm for Real Time Garbage Collection", JOURNAL = cacm, VOLUME = 19, NUMBER = 9, YEAR = 1976, MONTH = "September", PAGES = {491--500} } @article{Wa:UMCC, author = "B. Wald", title = "Utilization of a multiprocessor in command and control", journal = "Proceedings of the IEEE", volume = 53, number = 12, month = dec, year = 1966, pages = {1885-1888} } @techreport{GNUTypeDesc, author="David Wallace", title="Runtime Type Support in {C} and {C++}", institution="Cygnus Reports", number="revision 1.1", year=1992 } @mastersthesis{Wang:msthesis, author = "Thomas Wang", title = "{MM} Garbage Collector for {C}++", school = "California Polytechnic State University", address = "San Luis Obispo, California", month = oct, year = 1989 } @incollection{WW:EGCSPCA, author = "Watson, P. and I. Watson", title = "An Efficient Garbage Collection Scheme for Parallel Computer Architecture", crossref = "parle87", key = "", pages = "432 -- 443" } @phdthesis{We:phd, author = "Charles B. Weinstock", title = "Dynamic Storage Allocation Techniques", school = "Carnegie-Mellon University", address = "Pittsburgh, Pennsylvania", month = apr, year = 1976 } @article{WW:QF, author = "Charles B. Weinstock and William A. Wulf", title = "Quickfit: an efficient algorithm for heap storage allocation", journal = "ACM SIGPLAN Notices", volume = 23, number = 10, month = oct, year = 1988, pages = {141--144} } @inproceedings{WDH:PCR, title = "The Portable Common Runtime Approach to Interoperability", crossref = "SOSP89", key = "", author = "Mark Weiser and Alan Demers and Carl Hauser" } @article{We:PCGC, title = "Pitfalls of Conservative Garbage Collection", author = "E. P. Wentworth", journal = spe, number = 7, volume = 20, month = jul, year = 1990, pages = {719--727} } @inproceedings{WSWDHC:NOS, title = "The Newton Operating System", author = "Robert Welland and Greg Seitz and Lieh-Wuu Wang and Landon Dyer and Tim Harrington and Daniel Culbert", crossref = "COMPCON94", note = "to appear" } @inproceedings{Whit80, author = "White, Jon L.", title = "Address/Memory Management For a Gigantic {L}isp Environment, or, {GC} Considered Harmful", booktitle = TLC, address = "Redwood Estates, California", pages = "119--127", month = aug, year = 1980 } @inproceedings{WD:PSAOFPSS, author = "Seth J. White and David J. Dewitt", title = "A Performance Study of Alternative Object Faulting and Pointer Swizzling Strategies", booktitle = "18th International Conference on Very Large Data Bases", year = 1992, month = oct, address = "Vancouver, British Columbia", publisher = MK, note = "To appear" } @inproceedings{WD:QS, author = "Seth J. White and David J. Dewitt", title = "QuickStore: A High Performance Mapped Object Store", crossref = "SIGMOD94", pages = {395--406} } @inproceedings{WWH:DG, author = "Ifor W. Williams and Mario I. Wolczko and Trevor P. Hopkins", title = "Dynamic Grouping in an Object-Oriented Virtual Memory Hierarchy", booktitle = ECOOP, publisher = SV, month = jun, year = 1987, pages = {87--96}, address = "Paris, France" } @techreport{WWH:RDGOOMH, author = "Williams, Ifor and Mario I. Wolkzko and Trevor Hopkins", title = "Realization of a Dynamically Grouped Object-Oriented Memory Hierarchy", type = "Technical Report", institution = "University of Manchester Dept. of Computer Science", address = "Manchester, United Kingdom", year = 1990 } @inproceedings{Wi:EFZL, title = "An Extremely Fast Ziv-Lempel Compression Algorithm", author = "Ross N. Williams", booktitle = "Data Compression Conference", pages = {362--371}, year = 1991, month = apr } @phdthesis{Wi:OSDSSM, author = "J. Wilson", title = "Operating System Data Structures for Shared-Memory MIMD Machines with Fetch-and-Add", school = "New York University", year = 1988 } @misc{Wilson:homepage, author = "Paul R. Wilson", title = "World Wide Web home page", note = "\verb+http://www.cs.utexas.edu/users/oops/+" } @article{Wils88a, author = "Paul R. Wilson", title = "Opportunistic Garbage Collection", journal = SIGPLAN, volume = 23, number = 12, month = dec, year = 1988, pages = "98--102" } @mastersthesis{Wils88b, author = "Paul R. Wilson", title = "Two Comprehensive Virtual Copy Mechanisms", school = "University of Illinois at Chicago, Electrical Engineering and Computer Science Department", address = "Chicago, Illinois", year = 1988 } @unpublished{Wils89, author = "Wilson, Paul R.", title = "Heap Management and Hierarchical Memories", note = "Unpublished working paper", month = May, year = 1989 } @inproceedings{Wi:SISHMMH, author = "Wilson, Paul R.", title = "Some Issues and Strategies in Heap Management and Memory Hierarchies", crossref = "OOPSLAGC90", key = "", note = "Also appears in {\em {SIGPLAN} Notices 23}(3):45--52, March 1991" } @techreport{Wi:SwizzCAN, title = "Pointer Swizzling at Page Fault Time: Efficiently Supporting Huge Address Spaces on Standard Hardware", author = "Paul R. Wilson", type = "Technical Report", number = "UIC-EECS-90-6", institution = "University of Illinois at Chicago, Electrical Engineering and Computer Science Department", address = "Chicago, Illinois", month = dec, year = 1990, note = "Also appears in {\em Computer Architecture News 19}(4):6-13, June 1991" } @inproceedings{WK:PSPFT, title = "Pointer Swizzling at Page Fault Time: Efficiently and Compatibly Supporting Huge Addresses on Standard Hardware", author = "Paul R. Wilson and Sheetal V. Kakkad", crossref = "IWOOOS92", key = "", pages = {364--377} } @article{WKM:AAADPP, title = "Anomalies and Adaptation in the Analysis and Development of Prepaging Policies", author = "Paul R. Wilson and Sheetal V. Kakkad and Shubhendu S. Mukherjee", journal = jss, year = 1994 } @phdthesis{Wi:PhD, author = "Paul R. Wilson", title = "Heap Management and Memory Hierarchies", school = "University of Illinois at Chicago", month = Dec, year = 1991 } @inproceedings{Wi:OSSSO, author = "Wilson, Paul R.", title = "Operating System Support for Small Objects", crossref = "IWOOOS91", key = "", pages = "80--86"} @inproceedings{Wi:SMMH, author = "Wilson, Paul R.", title = "Storage Management and Memory Heirarches", crossref = "IWMM92", key = "", note = "Unpublished discussion session paper" } @inproceedings{Wi:UGCT, author = "Wilson, Paul R.", title = "Uniprocessor Garbage Collection Techniques", crossref = "IWMM92", key = "", pages = {1--42} } @article{Wi:GC, author = "Wilson, Paul R.", title = "Garbage Collection", journal = csurv, note = "{Expanded version of \cite{Wi:UGCT}.} Draft available via anonymous internet FTP from \verb+cs.utexas.edu+ as \verb+pub/garbage/bigsurv.ps.+ In revision, to appear.", year = 1995 } @inproceedings{LWM:OTDGC, author = "Michael S. Lam and Paul R. Wilson and Thomas G. Moher", title = "Object Type Directed Garbage Collection to Improve Locality", crossref = "IWMM92", key = "", pages = {404--425} } @unpublished{WB:VMTrace, author = "Paul R. Wilson and V.B. Balayoghan", title = "Efficient tracing using virtual memory address protection", note = "In preparation", year = 1995 } @unpublished{WB:CP, author = "Paul R. Wilson and V. B. Balayoghan", title = "Compressed Paging", note = "In preparation", year = 1995 } @inproceedings{WLM:ESGR, author = "Wilson, Paul R. and Michael S. Lam and Thomas G. Moher", title = "Effective Static-Graph Reorganization to Improve Locality in Garbage-Collected Systems", crossref = "PLDI91", Key = "", pages = "177--191" } @techreport{WiLM90b, title = "Caching Consideration For Generational Garbage Collection: A Case For Large and Set-Associative Caches", author = "Paul R. Wilson and Michael S. Lam and Thomas G. Moher", institution = "University of Illinois at Chicago EECS Dept.", type = "Technical Report", number = "UIC-EECS-90-5", address = "Chicago, Illinois", month = Dec, year = 1990 } @inproceedings{WH:GC91, author = "Paul R. Wilson and Barry Hayes", title = "The 1991 {OOPSLA} {W}orkshop on {G}arbage {C}ollection in {O}bject {O}riented {S}ystems (Organizers' Report)", crossref = "OOPSLA91Add", key = "", pages = "63--71" } @inproceedings{WM:DM, title = "Demonic Memory For Process Histories", author = "Paul R. Wilson and Thomas G. Moher", crossref = "PLDI89", key = "", pages = "330--343" } @inproceedings{WM:OGC, author = "Wilson, Paul R. and Thomas G. Moher", title = "Design of the {O}pportunistic {G}arbage {C}ollector", crossref = "OOPSLA89", key = "", pages = "23--35" } @inproceedings{WLM:CCGGC, author = "Wilson, Paul R. and Michael S. Lam and Thomas G. Moher", title = "Caching Considerations for Generational Garbage Collection", crossref = "LFP92", key = "", pages = "32--42", } @article{WMK:Anomalies, AUTHOR = "Wilson, Paul R. and Shubhendu S. Mukherjee and Sheetal V. Kakkad", TITLE = "Anomalies and Adaptation in the Analysis and Development of Prepaging Policies", JOURNAL = "Journal of Systems and Software", NOTE = "Technical Communication", YEAR = 1994 } @inproceedings{WJ:RTGC, AUTHOR = "Paul R. Wilson and Mark S. Johnstone", TITLE = "Truly Real-Time Non-Copying Garbage Collection", CROSSREF = "OOPSLAGC93", KEY = "", NOTE = "Expanded version of workshop position paper submitted for publication", MONTH = dec, YEAR = 1993 } @inproceedings{WJNB:DSA, title = "Dynamic Storage Allocation: A survey and critical review", author = "Paul R. Wilson and Mark S. Johnstone and Michael Neely and David Boles", booktitle = "1995 International Workshop on Memory Management", address = "Kinross, Scotland, UK", publisher = "Springer Verlag LNCS", year = 1995 } @techreport{WJNB:MAPR, title = "Memory Allocation Policies Reconsidered", author = "Paul R. Wilson and Mark S. Johnstone and Michael Neely and David Boles", institution = "University of Texas at Austin Department of Computer Sciences", year = 1995 } @article{WF:OBRC, author = "David S. Wise and Daniel P. Friedman", title = "The One-Bit Reference Count", journal = "BIT", volume = 17, number = 3, month = sep, year = 1977, pages = {351--359} } @techreport{Wi:DBS, title = "The Double Buddy-System", author = "David S. Wise", number = 79, institution = "Computer Science Department, Indiana University", address = "Bloomington, Indiana", month = dec, year = 1978 } @inproceedings{Wi:OBRC, author = "David S. Wise", title = "Design for a Multiprocessing Heap with On-Board Reference Counting", booktitle = "Functional Programming Languages and Computer Architecture", month = sep, year = 1985, pages = {289--304}, publisher = SV, note = "Lecture Notes in Computer Science series, no. 201" } @article{Wi:MGCARRC, AUTHOR="David S. Wise", TITLE="Morris's Garbage Compaction Algorithm Restores Reference Counts", JOURNAL=toplas, VOLUME=1, NUMBER=1, MONTH=jul, YEAR=1979, PAGES={115--120} } @techreport{Wi:UPRCHH, author = "David S. Wise and C. Hess and W. Hunt and E. Ost", title = "Uniprocessor Performance of Reference-Counting Hardware Heap", type = "Technical Report", year = 1992, institution = "Computer Science Department, Indiana University" } @techreport{Wi:GCLDAS, author = "Wiseman, S. R.", title = "A Garbage Collector for a Large Distributed Address Space", number = "85009", institution = "Royal Signals and Radar Establishment", address = "Malvern, United Kingdom", year = 1985 } @inproceedings{Wi:HRRTGC, title = "How Real is ``Real Time'' Garbage Collection?", author = "Withington, P. T.", crossref = "OOPSLAGC91", key = "", note = "Position paper" } @article{Wo:DSSA, author = "P. L. Wodon", title = "Data Structure and Storage Allocation", journal = "BIT", volume = 9, pages = {270--282}, year = 1969 } @incollection{Wo:MGCA68, TITLE = "Methods of Garbage Collection for {ALGOL} 68", AUTHOR = "P. L. Wodon", CROSSREF = "Peck71", KEY = "", PAGES = {245--262} } @inproceedings{WC:ECP, author = "Andrew Wolfe and Alex Chanin", title = "Executing Compressed Programs on An Embedded RISC Architecture", crossref = "SIGMICRO", year = 1992, pages = {81--91} } @article{Wo:FOCS, author = "Eric Wolman", title = "A Fixed Optimum Cell-Size for Records of Various Lengths", journal = jacm, volume = 12, number = 1, month = jan, year = 1965, pages = {53--70} } @book{Wu:DOC, author = "William A. Wulf and R. K. Johnsson and C. B. Weinstock and S. O. Hobbs and C. M. Geschke", title = "Design of an Optimizing Compiler", publisher = "American Elsevier", year = 1975 } @article{Yu:RTGCGPM, TITLE = "Real-Time Garbage Collection on General-Purpose Machines", AUTHOR = "Taichi Yuasa", JOURNAL = "Journal of Systems and Software", VOLUME = 11, YEAR = 1990, PAGES = {181-198} } @article{Yu:KCL, title = "The Design and Implementation of {K}yoto {C}ommon {L}isp", author = "Taichi Yuasa", journal = "Journal of Information Processing", volume = 13, number = 3, year = 1990 } @inproceedings{Yu:MMGCECLS, TITLE = "Memory Management and Garbage Collection of an Extended {C}ommon {L}isp system for massively parallel {SIMD} architecture", author = "Taichi Yuasa", crossref = "IWMM92", key = "", pages = "490--506", } @phdthesis{Zorn:phd, author = "Zorn, Benjamin", title = "Comparative Performance Evaluation of Garbage Collection Algorithms", school = "University of California at Berkeley, {EECS} Department", note = "Technical Report UCB/CSD 89/544", month = dec, year = 1989 } @inproceedings{Zorn90, author = "Zorn, Benjamin", title = "Comparing Mark-and-Sweep and Stop-and-Copy Garbage Collection", crossref = "LFP90", key = "", pages = "87--98" } @techreport{Zo:EGCCP, author = "Zorn, Benjamin", title = "The Effect of Garbage Collection on Cache Performance", institution = "University of Colorado at Boulder, Dept. of Computer Science", month = may, year = 1991, address = "Boulder, Colorado", number = "CU-CS-528-91" } @article{Zo:MCCGC, author = "Zorn, Benjamin", title = "The Measured Cost of Conservative Garbage Collection", journal="Software---Practice and Experience", volume=23, number=7, month = jul, year = 1993, pages={733--756} } @techreport{ZG:EMSACP, author = "Benjamin Zorn and Dirk Grunwald", title = "Empirical Measurements of Six Allocation-Intensive {C} Programs", institution = "University of Colorado at Boulder, Dept. of Computer Science", month = jul, year = 1992, number = "CU-CS-604-92" } @article{ZG:EMMA, author = "Benjamin Zorn and Dirk Grunwald", title = "Evaluating Models of Memory Allocation", journal = "{ACM} Transactions on Modeling and Computer Simulation", volume = 1, number = 4, year = 1994, pages = {107--131} } @book{Peck71, TITLE = "{ALGOL} 68 Implementation", BOOKTITLE = "{ALGOL} 68 Implementation", EDITOR = "J. E. L. Peck", PUBLISHER = ENH, YEAR = 1971, } @proceedings{ASPLOS1, title = "Symposium on " # ASPLOS, booktitle = "Symposium on " # ASPLOS, key = "{ASPLOS}", month = mar, year = 1982 } @proceedings{ASPLOS2, title = "Second International Conference on " # ASPLOS # " ({ASPLOS II})", booktitle = "Second International Conference on " # ASPLOS # " ({ASPLOS II})", key = "{ASPLOS}", month = oct, year = 1987, address = "Palo Alto, California" } @proceedings{ASPLOS3, title = "Third International Conference on " # ASPLOS # " ({ASPLOS III})", booktitle = "Third International Conference on " # ASPLOS # " ({ASPLOS III})", key = "{ASPLOS}", month = apr, year = 1989, address = "Boston, Massachusetts" } @proceedings{ASPLOS4, title = "Fourth International Conference on " # ASPLOS # " ({ASPLOS IV})", booktitle = "Fourth International Conference on " # ASPLOS # " ({ASPLOS IV})", key = "{ASPLOS}", month = apr, year = 1991, address = "Santa Clara, California" } @proceedings{ASPLOS5, title = "Fifth International Conference on " # ASPLOS # " ({ASPLOS V})", booktitle = "Fifth International Conference on " # ASPLOS # " ({ASPLOS V})", key = "{ASPLOS}", month = sep, year = 1992, address = "Boston, Massachusetts" } @proceedings{COMPCON94, title = "1994 IEEE Computer Conference", booktitle = "1994 IEEE Computer Conference", key = "COMPCON94", year = 1992, address = "San Francisco, California" } @proceedings{FPLCA85, title = FPLCA, booktitle = FPLCA, month = spe, year = 1985, editor = "Jean-Pierre Jouannaud", address = "Nancy, France", publisher = SV, series = lncs, number = 201, } @proceedings{FPLCA87, title = FPLCA, booktitle = FPLCA, editor = "Gilles Kahn", series = lncs, number = 274, publisher = sv, month = sep, year = 1987 } @proceedings{IJCAI83, title = IJCAI, booktitle = IJCAI, editor = "Alan Bundy", month = aug, year = 1983, address = "Karlsruhe, West Germany", publisher = "William Kaufman", } @proceedings{IMSA92, title = "Reflection and Meta-Level Architecture: Proceedings of the International Workshop on New Models for Software Architecture '92", booktitle = "Reflection and Meta-Level Architecture: Proceedings of the International Workshop on New Models for Software Architecture '92", key = "{IMSA}", month = nov, year = 1992, address = "Tokyo, Japan", editor = "Akinori Yonezawa and Brian C. Smith", organization = "Research Institute of Software Engineering ({RISE}) and Information-Technology Promotion Agency, Japan ({IPA}), in cooperation with {ACM SIGPLAN}, {JSSST}, {IPSJ}." } @proceedings{ISCA90, title = "17th Annual " # CA, booktitle = "17th Annual " # CA, key = "{CA}", address = "Seattle, Washington", month = May, year = 1990, publisher = "{IEEE} Computer Society Press" } @proceedings{ISCA91, title = "18th Annual " # CA, booktitle = "18th Annual " # CA, key = "{ISCA}", address = "Toronto, Canada", month = May, year = 1991, publisher = "{ACM} Press" } @proceedings{ISCA92, title = "19th Annual " # CA, booktitle = "19th Annual " # CA, key = "{ISCA}", address = "Gold Coast, Australia", month = May, year = 1992, publisher = "{ACM} Press" } @proceedings{ISCA93, title = "20th Annual " # CA, booktitle = "20th Annual " # CA, key = "{ISCA}", address = "San Diego, California", month = May, year = 1993, publisher = "{IEEE} Computer Society Press" } @proceedings{ISCA94, title = "21st Annual " # CA, booktitle = "21st Annual " # CA, key = "{ISCA}", address = "Chicago, Illinois", month = apr, year = 1994, publisher = "{IEEE} Computer Society Press" } @proceedings{IWMM92, title = IWMM, booktitle = IWMM, editor = "Yves Bekkers and Jacques Cohen", key = "{IWMM}", month = sep, year = 1992, address = "St. Malo, France", publisher = SV, series = LNCS, number = 637 } @proceedings{IWMM95, title = IWMM, booktitle = IWMM, editor = "Henry Baker", key = "{IWMM}", month = sep, year = 1995, address = "Scotland", publisher = SV, series = LNCS } @proceedings{IWOOOS91, title = IWOOOS, booktitle = IWOOOS, key = "{IWOOOS}", month = Oct, year = 1991, address = "Palo Alto, California", publisher = "{IEEE} Press" } @proceedings{IWOOOS92, title = IWOOOS, booktitle = IWOOOS, key = "{IWOOOS}", month = sep, year = 1992, address = "Paris, France", publisher = "{IEEE} Press" } @proceedings{LFP82, title = "Conference Record of the " # 1982 # " " # LFP, booktitle = "Conference Record of the " # 1982 # " " # LFP, key = "{LFP}", month = aug, year = 1982, address = "Pittsburgh, Pennsylvania", publisher = ACM, } @proceedings{LFP84, title = "Conference Record of the " # 1984 # " " # LFP, booktitle = "Conference Record of the " # 1984 # " " # LFP, key = "{LFP}", month = aug, year = 1984, address = "Austin, Texas", publisher = ACM } @proceedings{LFP86, title = "Conference Record of the " # 1986 # " " # LFP, booktitle = "Conference Record of the " # 1986 # " " # LFP, key = "{LFP}", month = aug, year = 1986, address = "Cambridge, Massachusetts", publisher = ACM } @proceedings{LFP88, title = "Conference Record of the " # 1988 # " " # LFP, booktitle = "Conference Record of the " # 1988 # " " # LFP, key = "{LFP}", month = jul, year = 1988, address = "Snowbird, Utah", publisher = ACM } @proceedings{LFP90, title = "Conference Record of the " # 1990 # " " # LFP, booktitle = "Conference Record of the " # 1990 # " " # LFP, key = "{LFP}", month = jun, year = 1990, address = "Nice, France", publisher = ACM } @proceedings{LFP92, title = "Conference Record of the " # 1992 # " " # LFP, booktitle = "Conference Record of the " # 1992 # " " # LFP, key = "{LFP}", month = jun, year = 1992, address = "San Francisco, California", publisher = ACM } @proceedings{OOPSLA86, title = OOPSLA # " ({OOPSLA} '86) Proceedings", booktitle = OOPSLA # " ({OOPSLA} '86) Proceedings", key = "{OOPSLA}", month = oct, year = 1986, publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 21}(11), November 1986." } @proceedings{OOPSLA87, title = OOPSLA # " ({OOPSLA} '87) Proceedings", booktitle = OOPSLA # " ({OOPSLA} '87) Proceedings", editor = "Norman Meyrowitz", month = oct, year = 1987, address = "Orlando, Florida", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 22}(12), December 1987." } @proceedings{OOPSLA87Add, title = "{OOPSLA} '87 Addendum to the Proceedings", booktitle = "{OOPSLA} '87 Addendum to the Proceedings", editor = "Leigh Power and Zvi Weiss", month = oct, year = 1987, address = "Orlando, Florida", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 23}(5), May 1988." } @proceedings{OOPSLA88, title = OOPSLA # " ({OOPSLA} '88) Proceedings", booktitle = OOPSLA # " ({OOPSLA} '88) Proceedings", editor = "Norman Meyrowitz", month = sep, year = 1988, address = "San Diego, California", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 23}(11), November 1988." } @proceedings{OOPSLA89, title = OOPSLA # " ({OOPSLA} '89) Proceedings", booktitle = OOPSLA # " ({OOPSLA} '89) Proceedings", key = "{OOPSLA}", year = 1989, publisher = ACM, address = "New Orleans, Louisiana" } @proceedings{OOPSLA/ECOOP90, title = OOPSLA # "/" # ECOOP # " ({OOPSLA/ECOOP} '90) Proceedings", booktitle = OOPSLA # "/" # ECOOP # " ({OOPSLA/ECOOP} '90) Proceedings", editor = "Norman Meyrowitz", month = oct, year = 1990, address = "Ottawa, Ontario", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 25}(10), October 1990." } @proceedings{OOPSLA/ECOOP90Add, title = "{OOPSLA/ECOOP} '90 Addendum to the Proceedings", booktitle = "{OOPSLA/ECOOP} '90 Addendum to the Proceedings", editor = "Jerry L. Archibald and K. C. Burgess Yakemovic", month = oct, year = 1990, address = "Ottawa, Ontario", publisher = ACM, note = "Published as a special issue of {\em {SIGPLAN} Notices}, 1991." } @proceedings{OOPSLAGC90, title = "{OOPSLA/ECOOP} '90 Workshop on Garbage Collection in Object-Oriented Systems", booktitle = "{OOPSLA/ECOOP} '90 Workshop on Garbage Collection in Object-Oriented Systems", key = "{OOPSLA/ECOOP}", month = oct, year = 1990, note = "Available for anonymous internet {FTP} from cs.utexas.edu in /pub/garbage/GC90" } @proceedings{OOPSLA91, title = OOPSLA # " ({OOPSLA} '91)", booktitle = OOPSLA # " ({OOPSLA} '91)", editor = "Andreas Paepcke", month = oct, year = 1991, address = "Phoenix, Arizona", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 26}(11), November 1991." } @proceedings{OOPSLA91Add, title = "{OOPSLA} '91 Addendum to the Proceedings", booktitle = "{OOPSLA} '91 Addendum to the Proceedings", editor = "Jerry L. Archibald", month = oct, year = 1991, address = "Phoenix, Arizona", publisher = ACM, note = "Published as {\em {OOPS} Messenger 3}(4), October 1992." } @proceedings{OOPSLAGC91, title = "{OOPSLA} '91 Workshop on Garbage Collection in Object-Oriented Systems", booktitle = "{OOPSLA} '91 Workshop on Garbage Collection in Object-Oriented Systems", key = "{OOPSLAGC}", month = oct, year = 1991, note = "Available for anonymous {FTP} from cs.utexas.edu in /pub/garbage/GC91" } @proceedings{OOPSLA92, title = OOPSLA # " ({OOPSLA} '92)", booktitle = OOPSLA # " ({OOPSLA} '92)", editor = "Andreas Paepcke", month = oct, year = 1992, address = "Vancouver, British Columbia", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 27}(10), October 1992." } @proceedings{OOPSLA92add, title = "{OOPSLA} '92 Addendum to the Proceedings", booktitle = "{OOPSLA} '92 Addendum to the Proceedings", editor = "Jerry L. Archibald and Mark C. Wilkes", month = oct, year = 1992, address = "Vancouver, British Columbia", publisher = ACM, note = "Published as {\em {OOPS} Messenger 4}(2), April 1993." } @proceedings{OOPSLA93, title = OOPSLA # " ({OOPSLA}) '93", booktitle = OOPSLA # " ({OOPSLA}) '93", editor = "Andreas Paepke", month = sep, year = 1993, address = "Washington, {D. C.}", note = "Published as {\em {SIGPLAN} Notices 28}(10), October 1993." } @proceedings{OOPSLAGC93, title = "{OOPSLA} '93 Workshop on Memory Management and Garbage Collection", booktitle = "{OOPSLA} '93 Workshop on Memory Management and Garbage Collection", key = "{OOPSLAGC}", month = oct, year = 1993, note = "Available for anonymous {FTP} from cs.utexas.edu in /pub/garbage/GC93" } @proceedings{PARLE87, title = PARLE, booktitle = PARLE, editor = "Jacobus W. de Bakker and L. Nijman and Philip C. Treleaven", month = jun, year = 1987, address = "Eindhoven, The Netherlands", publisher = sv, series = lncs, number = "258, 259", } @proceedings{PARLE89, title = PARLE, booktitle = PARLE, editor = "Eddy Odijik and M. Rem and Jean-Claude Sayr", address = "Eindhoven, The Netherlands", year = 1989, month = jun, publisher = sv, series = lncs, number = "365, 366" } @proceedings{PDD88, title = "{ACM SIGPLAN/SIGOPS} Workshop on Parallel and Distributed Debugging", booktitle = "{ACM SIGPLAN/SIGOPS} Workshop on Parallel and Distributed Debugging", key = "{PDD}", month = may, year = 1988, address = "Madison, Wisconsin", note = "Published as {\em SIGPLAN Notices 24}(1), January, 1989" } @proceedings{POS4, title = "Implementing Persistent Object Bases: Principles and Practice (Proceedings of the Fourth International Workshop on Persistent Object Systems)", booktitle = "Implementing Persistent Object Bases: Principles and Practice (Proceedings of the Fourth International Workshop on Persistent Object Systems)", editor = "Alan Dearle and Gail M. Shaw and Stanley B. Zdonik", address = "Martha's Vineyard, Massachusetts", publisher = "Morgan Kaufman", month = sep, year = 1990, } @proceedings{POS5, title = "Fifth International Workshop on Persistent Object Systems", booktitle = "Fifth International Workshop on Persistent Object Systems", key = "{POS5}", month = sep, year = 1992, address = "San Miniato, Italy", editor = "Antonio Albano and Ron Morrison", publisher = SV } @proceedings{PPoPP93, title = "Proceedings of the Fourth {ACM SIGPLAN} Symposium on " # PPOPP # " ({PPOPP})", booktitle = "Proceedings of the Fourth " # PPOPP # " ({PPOPP})", key = "{PPOPP}", address = "San Diego, California", month = may, year = 1993, publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 28}(7), July 1993." } @proceedings{POPL76, title = "Conference Record of the Third Annual " # POPL, booktitle = "Conference Record of the Third Annual " # POPL, key = "{POPL}", address = "Atlanta, Georgia", month = jan, year = 1976, publisher = ACM } @proceedings{POPL81, title = "Conference Record of the Eighth Annual " # POPL, booktitle = "Conference Record of the Eighth Annual " # POPL, key = "{POPL}", year = 1981, publisher = ACM } @proceedings{POPL82, title = "Conference Record of the Ninth Annual " # POPL, booktitle = "Conference Record of the Ninth Annual " # POPL, key = "{POPL}", address = "Albuquerque, New Mexico", month = jan, year = 1982, publisher = ACM } @proceedings{POPL84, title = "Conference Record of the Eleventh Annual " # POPL, booktitle = "Conference Record of the Eleventh Annual " # POPL, key = "{POPL}", month = jan, year = 1984, address = "Salt Lake City, Utah", publisher = ACM } @proceedings{POPL85, title = "Conference Record of the Twelfth Annual " # POPL, booktitle = "Conference Record of the Twelfth Annual " # POPL, key = "{POPL}", month = jan, year = 1985, address = "New Orleans, Louisiana", publisher = ACM } @proceedings{POPL87, title = "Conference Record of the Fourteenth Annual " # POPL, booktitle = "Conference Record of the Fourteenth Annual " # POPL, key = "{POPL}", month = jan, year = 1987, publisher = ACM, } @proceedings{POPL88, title = "Conference Record of the Fifteenth Annual " # POPL, booktitle = "Conference Record of the Fifteenth Annual " # POPL, key = "{POPL}", month = jan, year = 1988, address = "San Diego, California", publisher = ACM } @proceedings{POPL90, title = "Conference Record of the Seventeenth Annual " # POPL, booktitle = "Conference Record of the Seventeenth Annual " # POPL, key = "{POPL}", month = jan, year = 1990, address = "San Francisco, California", publisher = ACM } @proceedings{POPL92, title = "Conference Record of the Nineteenth Annual " # POPL, booktitle = "Conference Record of the Nineteenth Annual " # POPL, key = "{POPL}", month = jan, year = 1992, publisher = ACM } @proceedings{PLDI88, title = "Proceedings of the " # 1988 # " " # PLDI, booktitle = "Proceedings of the " # 1988 # " " # PLDI, key = "{PLDI}", month = jun, year = 1988, address = "Atlanta, Georgia", publisher = ACM, } @proceedings{PLDI89, title = "Proceedings of the " # 1989 # " " # PLDI, booktitle = "Proceedings of the " # 1989 # " " # PLDI, key = "{PLDI}", month = jun, year = 1989, address = "Portland, Oregon", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 24}(7), July 1989." } @proceedings{PLDI90, title = "Proceedings of the " # 1990 # " " # PLDI, booktitle = "Proceedings of the " # 1990 # " " # PLDI, key = "{PLDI}", month = jun, year = 1990, address = "White Plains, New York", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 25}(6), June 1990." } @proceedings{PLDI91, title = "Proceedings of the " # 1991 # " " # PLDI, booktitle = "Proceedings of the " # 1991 # " " # PLDI, key = "{PLDI}", month = jun, year = 1991, address = "Toronto, Ontario", publisher = ACM, note = "Published as {\em {SIGPLAN} Notices 26}(6), June 1992." } @proceedings{PLDI92, title = "Proceedings of the " # 1992 # " " # PLDI, booktitle = "Proceedings of the " # 1992 # " " # PLDI, key = "{PLDI}", month = jun, year = 1992, address = "San Francisco, California", publisher = ACM } @proceedings{PLDI93, title = "Proceedings of the " # 1993 # " " # PLDI, booktitle = "Proceedings of the " # 1993 # " " # PLDI, key = "{PLDI}", month = jun, year = 1993, address = "Albuquerque, New Mexico", publisher = ACM } @proceedings{PLDI95, title = "Proceedings of the " # 1995 # " " # PLDI, booktitle = "Proceedings of the " # 1995 # " " # PLDI, key = "{PLDI}", month = jun, year = 1995, address = "La Jolla, California", publisher = ACM } @proceedings{PLDI94, title = "Proceedings of the " # 1994 # " " # PLDI, booktitle = "Proceedings of the " # 1994 # " " # PLDI, key = "{PLDI}", year = 1994, month = jun, address = "Orlando, Florida", publisher = ACM } @proceedings{SESPSDE87, title = "{ACM SIGSOFT/SIGPLAN} Software Engineering Symposium on Practical Software Development Environments", booktitle = "{ACM SIGSOFT/SIGPLAN} Software Engineering Symposium on Practical Software Development Environments", key = "{SESPSDE}", publisher = ACM, month = apr, year = 1984, note = "Published as {\em ACM SIGPLAN Notices 19}(5), May, 1987", } @proceedings{SIIT87, title = "{SIGPLAN} 1987 Symposium on Interpreters and Interpretive Techniques", booktitle = "{SIGPLAN} 1987 Symposium on Interpreters and Interpretive Techniques", key = "{SIIT}", publisher = ACM, month = jun, year = 1987, address = "Saint Paul, Minnesota", note = "Published as {\em {SIGPLAN} Notices 22}(7), July 1987" } @proceedings{SOSP83, title = "Proceedings of the Ninth " # SOSP, booktitle = "Proceedings of the Ninth " # SOSP, key = "{SOSP}", month = oct, year = 1983, address = "Bretton Woods, New Hampshire", publisher = ACM, note = "Published as {\em Operating Systems Review 17}(5), October 1983", } @proceedings{SOSP87, title = "Proceedings of the Eleventh " # SOSP, booktitle = "Proceedings of the Eleventh " # SOSP, key = "{SOSP}", month = nov, year = 1987, address = "Austin, Texas", publisher = ACM, note = "Published as {\em Operating Systems Review 21}(5), November 1987", } @proceedings{SOSP89, title = "Proceedings of the Twelfth " # SOSP, booktitle = "Proceedings of the Twelfth " # SOSP, key = "{SOSP}", month = dec, year = 1989 } @proceedings{SOSP91, title = "Proceedings of the Thirteenth " # SOSP, booktitle = "Proceedings of the Thirteenth " # SOSP, key = "{SOSP}", month = oct, year = 1991, publisher = ACM, address = "Pacific Grove, California", note = "Published as {\em Operating Systems Review 25}(5)" } @proceedings{SOSP93, title = "Proceedings of the Fourteenth " # SOSP, booktitle = "Proceedings of the Fourteenth " # SOSP, key = "{SOSP}", month = dec, year = 1993, publisher = ACM, address = "Asheville, North Carolina", note = "Published as {\em Operating Systems Review 27}(5)" } @proceedings{USENIXC++92, title = "{USENIX} {C}++ Conference", booktitle = "{USENIX} {C}++ Conference", organization = "{USENIX} Association", address = "Portland, Oregon", month = aug, year = 1992 } @proceedings{USENIXS85, title = "{USENIX} Summer 1985 Technical Conference", address = "Portland, Oregon", publisher = "{USENIX} Association", month = jun, year = 1985 } @proceedings{USENIXS88, title = "{USENIX} Summer 1985 Technical Conference", address = "San Francisco, California", publisher = "{USENIX} Association", month = jun, year = 1988 } @proceedings{USENIXS90, title = "{USENIX} Summer 1990 Technical Conference", address = "Anaheim, California", publisher = "{USENIX} Association", month = jun, year = 1985, } @proceedings{USENIXW92, title = "{USENIX} Winter 1992 Technical Conference", address = "San Francisco, California", publisher = "{USENIX} Association", month = jan, year = 1992 } @proceedings{USENIXS92, title = "{USENIX} Summer 1992 Technical Conference", address = "San Antonio, Texas", publisher = "{USENIX} Association", month = jun, year = 1992 } @proceedings{USENIXW93, title = "{USENIX} Winter 1993 Technical Conference", publisher = "{USENIX} Association", address = "San Diego, California", month = jan, year = 1993 } @proceedings{USENIXS93, title = "{USENIX} Summer 1993 Technical Conference", address = "Cincinatti, Ohio", publisher = "{USENIX} Association", month = jun, year = 1993 } @proceedings{USENIXW94, title = "{USENIX} Winter 1994 Technical Conference", address = "San Francisco, California", publisher = "{USENIX} Association", month = jan, year = 1994 }