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