A Reference-Counting Garbage Collection Algorithm for Cyclical Functional Programming

被引:0
|
作者
Trancon y Widemann, Baltasar [1 ]
机构
[1] Univ Bayreuth, D-95440 Bayreuth, Germany
关键词
memory management; garbage collection; reference counting; cycles; functional programming;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Reference-counting garbage collection is known to have problems with the collection of cyclically connected data. There are two historically significant styles of cycle-aware algorithms: The style of Brownbridge that maintains a subset of marked edges and the invariant that every cycle contains at least one marked edge, and the style of Martinez-Lins-Wachenchauzer (MLW) that involves local mark-and-scan procedures to detect cycles. The former is known to be difficult to design and implement correctly, and the latter to have pathological efficiency for a number of very typical Situations. We present a novel algorithm that combines both approaches to obtain reasonably efficient local mark-and-scan phases with a marking invariant that is rather cheap to maintain. We demonstrate that the assumptions of this algorithm about mutator activity patterns make it well-suited, but not limited, to a functional programming technique for cyclic data. We evaluate the approach in comparison with simple and more sophisticated MLW algorithms using a simple benchmark based oil that functional paradigm.
引用
收藏
页码:71 / 80
页数:10
相关论文
共 50 条
  • [41] Improving flow analyses via ΓCFA -: Abstract garbage collection and counting
    Might, Matthew
    Shivers, Olin
    ACM SIGPLAN NOTICES, 2006, 41 (09) : 13 - 25
  • [42] A PARALLEL REFERENCE COUNTING ALGORITHM
    KAKUTA, K
    NAKAMURA, H
    IIDA, S
    INFORMATION PROCESSING LETTERS, 1986, 23 (01) : 33 - 37
  • [43] A FAST GARBAGE COLLECTION ALGORITHM FOR WAM - BASED PROLOG
    DURDANOVIC, I
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 533 : 110 - 127
  • [44] Incremental mature garbage collection using the train algorithm
    Seligman, J
    Grarup, S
    ECOOP '95 - OBJECT-ORIENTED PROGRAMMING, 1995, 952 : 235 - 252
  • [45] Generational Garbage Collection Algorithm Based on Lifespan Prediction
    Xin Ren
    Ying Zhangxu
    2016 IEEE 4TH INTERNATIONAL CONFERENCE ON FUTURE INTERNET OF THINGS AND CLOUD WORKSHOPS (FICLOUDW), 2016, : 183 - 187
  • [46] A parallel asynchronous garbage collection algorithm for distributed systems
    Bagherzadeh, Nader
    Heng, Seng-lai
    Wu, Chuan-lin
    IEEE Transactions on Knowledge and Data Engineering, 1991, 3 (01) : 100 - 107
  • [47] Incremental distributed garbage collection using reverse reference tracking
    Schoettner, M.
    Goeckelmann, R.
    Frenz, S.
    Fakler, M.
    Schulthess, P.
    EURO-PAR 2006 PARALLEL PROCESSING, 2006, 4128 : 571 - 581
  • [48] Safe and complete distributed garbage collection with the train algorithm
    Lowry, MC
    Munro, DS
    NINTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 2002, : 651 - 658
  • [49] Generational garbage collection algorithm based on lifespan prediction
    Ren, Xin
    Zhangxu, Ying
    Proceedings - 2016 4th International Conference on Future Internet of Things and Cloud Workshops, W-FiCloud 2016, 2016, : 183 - 187
  • [50] Implementation and performance evaluation of a distributed garbage collection algorithm
    Moreau, L
    PARALLEL AND DISTRIBUTED COMPUTING FOR SYMBOLIC AND IRREGULAR APPLICATIONS, 2000, : 221 - 241