作者: Scott Schneider , Christos D. Antonopoulos , Dimitrios S. Nikolopoulos
关键词:
摘要: We present Streamflow, a new multithreaded memory manager designed for low overhead, high-performance allocation while transparently favoring locality. Streamflow enables over-head simultaneous by multiple threads and adapts to sequential at speeds comparable that of custom allocators. It favors the transparent exploitation temporal spatial object access locality, reduces allocator-induced cache conflicts false sharing, all using unified design based on segregated heaps. introduces an innovative which uses only synchronization-free operations in most common case local allocations deallocations, requiring minimal, non-blocking synchronization less remote deallocations. Spatial locality page level is favoredby eliminating small objects headers, reducing via contiguous blocks physical memory, sharing heaps achieving better TLB performance fewer faults use superpages. Combining these optimizations with drastic reduction latency overhead allows perform comparably optimized allocators outperform--on shared-memory systemwith four two-way SMT processors--four state-of-the-art multi-processor sizeable margins our experiments. The allocation-intensive parallel benchmarks used experiments represent variety behaviors, including mostly allocation-deallocation patterns producer-consumer patterns.