Download presentation
Presentation is loading. Please wait.
1
List Processing in Real Time on a Serial Computer
Cas Craven CS395T: Kathryn S. McKinley 2011
2
Outline List processing languages Copying Gargage Collection Methods
Minsky-Feinchel-Yochelson-Cheney-Arnborg (MFYCA) Baker’s Serial Real-Time Method Scanning and compaction Limitations
3
List Processing List elements have two cells, A and R, holding either data or a pointer Instantiated with CONS Accessors: CAR, CDR Mutators: REPLCA REPLCR Memory reclaimed by garbage collection
4
MFYCA: Initial (Post Flip)
5
MFYCA: Copy Registers
6
MFYCA: Copying
7
MFYCA: Done
8
MYCFA: Simple GC Single pass instead of No Collector stack
Mark Sweep Relocate No Collector stack Program sees addresses in To Space
9
Baker’s Algorithm At each CONS, perform k iterations of the GC loop from MFYCA Both semispaces now contain accessible cells Pretend GC completed at time of last flip Copy all registers immediately after flip Modify CAR, CDR: Follow forwarding addresses, move cells found in from space and update pointers New cells placed at top of To Space
10
Baker’s Algorithm: CONSing (k=2)
11
Compaction: Breadth First Problem
Locality lost in MYCFA and Baker Performance: modern memory hierarchy Space: CDR coding requires linearizing gc Solution mentioned in Baker: trace whole lists in the cdr direction Chenney paper: A Nonrecursive List Compacting Algorithm Details such a method
12
List Compaction
13
List Compaction: Circular Lists
14
Limitations Designed for a serial processor
Workable on multi-core? Shared memory? Applicability to other data structures Stack: separate space or emulate as a list in the heap? Vectors and Arrays: loss of real-time property Hash tables: esp. indexed by address?
15
Conclusion Contributions Lacking Real-time: bounded time, no GC pause
Doesn’t require parallel GC thread Space/time tradeoff flexibility with k Proven correct: no erroneous OOM Lacking Primarily concerned with memory space, but bandwidth usage to copy limits performance Virtual Memory machines suffer increased working set size Arrays break the real-time property Empirical Results?
16
References 2009 Presentation by Hadi Esmaeilzadeh
Chenney, C.J. A Nonrecursive List Compacting Algorithm. Comm ACM. 13, 11 (Nov 1970), Baker, Henry G. List Processing in Real Time on a Serial Computer. Comm ACM 21, 4 (Apr 1978)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.