多核应用编程实战作者:(美)戈夫 著,郭晴霞 译出版时间:2013 《多核应用编程实战》是一本全面实用的多核应用编程指南,旨在介绍如何编写功能正确、性能优越且适合扩展为在多个CPU核心的系统运行的应用程序。《多核应用编程实战》面向多种操作系统和处理器类型引用程序示例,内容涵盖类UNIX操作系统(Linux、OracleSolaris、OSX)和Windows系统上多核应用的编写方法、多核的硬件实现对应用程序的性能影响、编写并行应用程序时要避免的潜在问题,以及如何编写可扩展至大量并行线程的应用程序。《多核应用编程实战》适合所有C程序员学习参考第1章 硬件、进程和线程1.1 计算机的内部结构1.2 多核处理器的缘起1.2.1 在单芯片上支持多线程1.2.2 通过处理器核心流水线作业提高指令发出率1.2.3 使用缓存保存最近使用的数据1.2.4 用虚拟内存存储数据1.2.5 从虚拟地址转换到物理地址1.3 多处理器系统的特征1.4 源代码到汇编语言的转换1.4.1 32位与64位代码的性能1.4.2 确保内存操作的正确顺序1.4.3 进程和线程的差异1.5 小结第2章 高性能编码2.1 定义性能2.2 了解算法复杂度2.2.1 算法复杂度的示例2.2.2 算法复杂度的重要性2.2.3 谨慎运用算法复杂度2.3 结构如何影响性能2.3.1 在源代码和生成结构上权衡性能和便利性2.3.2 利用库结构化应用程序2.3.3 数据结构对性能的影响2.4 编译器的作用2.4.1 两种编译器优化2.4.2 选择合适的编译器选项2.4.3 如何用跨文件优化提高性能2.4.4 使用配置文件反馈2.4.5 潜在的指针别名会如何抑制编译器优化2.5 通过分析确定占用时间的地方2.6 怎样避免手动优化2.7 从设计角度看性能2.8 小结第3章 识别并行机会3.1 使用多进程提高系统工作效率3.2 多用户使用一个系统3.3 通过整合提高机器工作效率3.3.1 用容器隔离共享一个系统的应用程序3.3.2 使用虚拟机监控程序托管多个操作系统3.4 采用并行机制提高单个任务的性能3.4.1 理解并行应用程序3.4.2 并行如何影响算法的选择3.4.3 Amdahl定律3.4.4 确定最大实际线程数3.4.5 同步成本怎样降低扩展性3.5 并行模式3.5.1 使用SIMD指令的数据并行3.5.2 通过进程或线程实现并行化 上一篇: 自己设计制作CPU与单片机 [姜咏江 著] 下一篇: 向云环境迁移:(奥地利)托比尔斯·哈沃斯 著