• Title of article

    Memory Allocation for Long-Running Server Applications

  • Author/Authors

    Larson، Per-Ake نويسنده , , Krishnan، Murali نويسنده ,

  • Issue Information
    روزنامه با شماره پیاپی سال 1999
  • Pages
    -175
  • From page
    176
  • To page
    0
  • Abstract
    We describe a new incremental algorithm for the concurrent reclamation of a programʹs allocated, yet unreachable, data. Our algorithm is a variant of mark-&-sweep collection that unlike prior designs runs mutator, marker, and sweeper threads concurrently without explicit fine-grain synchronization on shared-memory multiprocessors. A global, but infrequent, synchronization coordinates the per-object coloring marks used by the three threads; fine-grain synchronization is achieved without locking via the basic memory consistency guarantees commonly provided by multiprocessor hardware. We have implemented two versions of this algorithm (called VCGC): in the Inferno operating system and In the SML/NJ ML compiler. Measurements, compared to a sequential generational collector, indicate that VCGC can substantially reduce worst-case pause latencies as well as reduce overall memory usage. We remark that the degrees of freedom on the rates of marking and sweeping enable exploration of a range of resource tradeoffs, but makes "optimal" tuning for even a small set of applications difficult.
  • Keywords
    Dynamic memory allocation , reducing lock contention , multiprocessor scalability , server applications , Concurrency , cache-conscious algorithms
  • Journal title
    A C M Sigplan (Programming Languages) Sigplan Notices
  • Serial Year
    1999
  • Journal title
    A C M Sigplan (Programming Languages) Sigplan Notices
  • Record number

    17125