Thursday, December 4, 2014

M3: Mixed Collection for Simplicity

1 M3: High Performance Memory Management from Off-the-shelf components

1.1 Abstract

1.1.1 Investigation as to whether complexity of existing collectors necessary
1.1.2 May simplify if programmer determines the collection strategy to use(tracing/refcounting)
1.1.3 Observe performance competitive with C when this strategy used

Tuesday, December 2, 2014

Schism Real-Time Collection

1.1 Abstract

1.1.1 Provides fragmentation tolerance with worst case time/space guarantees

1.1.2 Implementation in the Fiji VM, a JVM for mission-critical systems

Garbage Collection for FPGAs

1.1 Abstract

1.1.1 FPGAs are complex, programming at a higher level of abstraction is desirable

1.1.2 First complete GC in hardware, not hardware-assisted

1.1.3 Reasonable performance

  • ever more than %1 of resources on most high-end FPGAs
  • Uses completely concurrent snapshot algorithm
  • Single-cycle access to hte heap, mutator not stalled for even a single cycle
  • Can achieve 100%MMU with heaps as small as 1.01-1.04 absolute minimum

The DieHard Safe Memory Allocator

1 DieHard, Probabilitic Memory for Unsafe Languages

1.1 Intro

  • Memory errors such as buffer overflows, use-after-free, and uninitialized memory usage can compromise C/C++ applications
  • Tools like valgrind can help track down errors, but only work on errors observed during execution
  • Programs which detect error and fail fast can be undesirable if the end user prioritizes uptime
  • Failure-oblivious programs which drop illegal writes and give sentinels on illegal reads keep the program running but make no promises about correctness to the progammer.
  • Probabilitic memory safety is a suggested solution to this, DieHard is one such implementation

Wednesday, November 19, 2014

Status on the Bug Collector


My last few weeks have been spent working on the DWARF-based root scanner for C and C++ which was proposed in a previous post.

Where have I come, and what I have I learned? 


Sunday, November 16, 2014

MMTK today

The MMTK, a project typically associated with the Jikes RVM, is also used as part of the llvm-backed VMkit project. The goal of a common virtual machine framework seems very inspired by MMTK. It was a pleasant surprise to see that there is something to help prevent bitrot from getting to the project.

Thursday, November 13, 2014

Polyhedral GC

Looking at polyhedral optimization at LLVM, I cannot but wonder if this might be used to optimize graph traversal in the marking phase of collection.