首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--计算机软件论文--操作系统论文--网络操作系统论文

多核下可伸缩的多线程模型

摘要第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页

论文共78页,点击 下载论文
上一篇:C分析工具中程序切片和变换的设计与实现
下一篇:面向多核可伸缩的MapReduce库的研究