Scalable lock-free dynamic memory allocation简要观感
来源:互联网 发布:fluent软件 编辑:程序博客网 时间:2024/05/20 08:43
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.3870&rep=rep1&type=pdf
沿着lock free的reference,找到Magged M Michael的2004年这篇文章。
文章主要和ptmalloc和hoard做对比。那种每个线程完全独立分配的分配器被认为是不成熟的,不值一提的(因为使用空间可能会非常大)。ptmalloc是在doug lea的dlmalloc基础上做的,有多个areana减少竞争,当发现一个areana上锁时就寻找下一个areana,这样锁的粒度只在每个areana。
hoard里每个处理器有专门的heap,如果某个heap富余空间较大会被移到global heap中,仍然需要用锁。
每个heap下面有多个super block,从super block中分配内存,但都通过CAS操作做到lock free,里面还有类似ibm tag mechnism这样的技术,细节的没有仔细研究,大体如此。
有很多美妙特性:高扩展性、死锁免疫、Async-signal-safe等等,各个benchmark碾压hoard和ptmalloc。
问题来了,这篇文章是04年的,市面上出现了很多新的内存分配器zmalloc,tcmalloc,jemalloc这些,使用的原理是否和论文中一样,性能对比呢?
0 0
- Scalable lock-free dynamic memory allocation简要观感
- Scalable memory allocation using jemalloc
- Dynamic memory allocation example
- Geeksquiz | Dynamic Memory Allocation
- dynamic memory allocation
- dynamic memory allocation
- [Tutorial] DMA Dynamic Memory Allocation
- Understanding virtual memory and dynamic allocation
- Advanced Memory Management: Dynamic Allocation, Part 1
- UE4 Garbage Collection & Dynamic Memory Allocation
- [转载]Dynamic Memory Allocation and Fragmentation in C and C++
- XZ_iOS之动态内存分配(Dynamic memory allocation)
- Pointers on C——11 Dynamic Memory Allocation.1
- Pointers on C——11 Dynamic Memory Allocation.2
- Pointers on C——11 Dynamic Memory Allocation.3
- Pointers on C——11 Dynamic Memory Allocation.4
- Pointers on C——11 Dynamic Memory Allocation.5
- Pointers on C——11 Dynamic Memory Allocation.6
- [10]CSS 边框与背景 (下)
- 基于 Quartz 开发企业级任务调度应用
- openresty 前端开发入门二
- Arduino Uno + HMC5883L电子罗盘 实验
- spring AOP的实现原理
- Scalable lock-free dynamic memory allocation简要观感
- 二叉树的遍历
- 控制反转和依赖注入的区别
- 25. Reverse Nodes in k-Group
- 单链表的基本操作-----图形解析
- 图解Android、iOS、WP7三大手机操作系统差别
- 手把手教你整合ssh
- C语言简单实用的程序-if else 嵌套式的使用例子
- jQuery的三种bind()、on()、live()事件的对比和使用