摘要 | 第5-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第16-22页 |
1.1 研究背景 | 第16-17页 |
1.2 相关工作 | 第17-19页 |
1.2.1 内核地址空间竞争研究 | 第17页 |
1.2.2 高并发共享队列研究 | 第17-19页 |
1.2.3 生产者消费者编程模型 | 第19页 |
1.3 研究内容 | 第19-20页 |
1.4 论文组织 | 第20-22页 |
第2章 基本知识与问题研究 | 第22-32页 |
2.1 Linux地址空间及其性能瓶颈 | 第22-24页 |
2.1.1 Linux地址空间组织 | 第22-23页 |
2.1.2 地址空间操作及其同步 | 第23-24页 |
2.1.3 虚拟内存密集型程序性能分析 | 第24页 |
2.2 多线程共享队列的特征与问题 | 第24-25页 |
2.2.1 细粒度锁对FIFO队列的影响 | 第25页 |
2.2.2 非阻塞同步和无等待策略的缺陷 | 第25页 |
2.3 生产者消费者编程模型 | 第25-28页 |
2.3.1 SPMC虚拟内存模型 | 第25-27页 |
2.3.2 DetMP编程模型及其局限性 | 第27-28页 |
2.4 Pthreads线程库介绍 | 第28-30页 |
2.4.1 Pthreads介绍 | 第28页 |
2.4.2 线程管理 | 第28-29页 |
2.4.3 互斥量 | 第29页 |
2.4.4 条件变量与同步 | 第29-30页 |
2.5 本章小结 | 第30-32页 |
第3章 PMthreads设计和实现 | 第32-50页 |
3.1 概述 | 第32-33页 |
3.2 Pthreads线程模型特征 | 第33页 |
3.3 PMthreads线程模型特征 | 第33-35页 |
3.3.1 地址空间隔离 | 第33-34页 |
3.3.2 共享变量特征 | 第34页 |
3.3.3 堆分配器特征 | 第34-35页 |
3.3.4 私有栈特征 | 第35页 |
3.4 地址空间隔离引起的问题 | 第35-36页 |
3.4.1 无法保持共享变量语义 | 第35-36页 |
3.4.2 现有堆分配器无法适用 | 第36页 |
3.4.3 无法支持Pthreads接口 | 第36页 |
3.5 共享变量实现 | 第36-38页 |
3.5.1 设备驱动实现 | 第37页 |
3.5.2 全局数据共享过程 | 第37-38页 |
3.6 堆分配器实现 | 第38-41页 |
3.6.1 堆变量共享 | 第38-39页 |
3.6.2 堆分配效率提升 | 第39-40页 |
3.6.3 子堆空间组织与分配释放 | 第40-41页 |
3.7 Pthreads接口与同步算法 | 第41-48页 |
3.7.1 线程管理 | 第41-42页 |
3.7.2 互斥量管理 | 第42-44页 |
3.7.3 条件变量管理 | 第44-46页 |
3.7.4 barrier管理 | 第46-48页 |
3.8 线程模型的优势 | 第48-49页 |
3.9 本章小结 | 第49-50页 |
第4章 基于PMthreads的流式编程模型-PMPL | 第50-56页 |
4.1 概述 | 第50页 |
4.2 PMPL的设计实现 | 第50-54页 |
4.2.1 space提前分配 | 第51页 |
4.2.2 通道池建立 | 第51页 |
4.2.3 通道的生产者消费者设定 | 第51-52页 |
4.2.4 PMPL接口及其使用 | 第52-53页 |
4.2.5 PMPL的可编程性 | 第53-54页 |
4.3 本章小结 | 第54-56页 |
第5章 实验与评估 | 第56-70页 |
5.1 实验配置和测试应用 | 第56-57页 |
5.2 PMthreads性能评估 | 第57-66页 |
5.2.1 时间性能评估 | 第57-58页 |
5.2.2 可伸缩性评估 | 第58-59页 |
5.2.3 虚拟内存密集型应用性能分析 | 第59-61页 |
5.2.4 IAmalloc性能评估 | 第61-62页 |
5.2.5 perf数据分析 | 第62-64页 |
5.2.6 PMthreads对NUMA访问的影响 | 第64-65页 |
5.2.7 PMthreads缺陷分析 | 第65-66页 |
5.3 PMPL性能评估 | 第66-69页 |
5.3.1 测试程序介绍 | 第67页 |
5.3.2 支持现有应用的可行性 | 第67-68页 |
5.3.3 几种版本下的性能比较 | 第68-69页 |
5.4 本章小结 | 第69-70页 |
第6章 总结与展望 | 第70-72页 |
参考文献 | 第72-76页 |
致谢 | 第76-78页 |
在读期间发表的学术论文与取得的研究成果 | 第78页 |