Presentation is loading. Please wait.

Presentation is loading. Please wait.

List Processing in Real Time on a Serial Computer

Similar presentations


Presentation on theme: "List Processing in Real Time on a Serial Computer"— Presentation transcript:

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)


Download ppt "List Processing in Real Time on a Serial Computer"

Similar presentations


Ads by Google