您的当前位置:首页多核程序设计技术——通过软件多线程提升性能

多核程序设计技术——通过软件多线程提升性能

2020-06-19 来源:小侦探旅游网
作者简介

Shameem Akhter是Intel公司的一名平台结构师,主要从事单插槽多核体系结构和性能分析的研究和实现工作。他曾经是Inter软件和解决方案小组的一名资深软件工程师,负责面向桌面和服务器平台的应用程序的优化设计。Shameem获得了一项关于面向受限程序的优化设计的多线程接口的专利技术,该项专利是其硕士论文(计算机科学)的组成部分。

本书简介

本书从原理、技术、经验和工具等方面为读者提供关于多核程序设计技术的全方位解释。本书由三大部分组成:第一部分包括第1~4章,介绍软件多线程的内容;第二部分包括第5章和第6章,其中讨论用于编写并行程序的常用编程API:第三部分包括其余五章关于多核程序设计的内容,讲述常见并行程序设计问题及解决方法(第7章)、多线程应用程序的调试技术(第8章)、单核与多核处理器基本原理(第9、10章)和所需的Inter公司的软件开发辅助工具(第11章)。

  本书作者都是长期供职于Inter公司的资深软件工程师和结构师,书中融入了他们自己丰富的软硬件开发经验,可以为面向多核体系结构进行并行程序设计的开发人员提供巨大的帮助。不论对从未接触过并行程序设计的开发人员,还是转型面向多核体系结构进行并行程序设计的开发人员来讲,本书都是一本难得的参考书。

目录

第1章 多核体系结构概述  1.1 促成软件并发的因素  1.2 并行计算平台  1.3 “性能”解析  1.4 本章要点

第2章 多线程技术概述  2.1 线程的定义  2.2 线程的层次

 2.3 线程创建之后的相关行为

 2.4 应用程序设计模型与多线程技术 2.5 虚拟环境:虚拟机和虚拟平台  2.6 本章要点

第3章 并行程序设计的基本概念 3.1 多线程设计

 3.2 并行程序设计人员面临的挑战  3.3 并行程序设计模式

 3.4 误差扩散问题:一个具有启发意义的例子 3.5 本章要点

第4章 多线程和并行程序设计结构  4.1 同步  4.2 临界段 4.3 死锁  4.4 同步原语  4.5 消息

 4.6 流控制相关的概念

 4.7 与实现相关的多线程特征 4.8 本章要点 第5章 线程API

 5.1 微软Windows的线程API 5.2 微软.NET框架的线程API 5.3 POSIX线程  5.4 本章要点

第6章 OpenMP†:一种可移植的多线程解决方案 6.1 将循环多线程化所面临的挑战  6.2 降低线程开销

 6.3 提高程序性能的设计方法 6.4 OpenMP库函数  6.5 OpenMP环境变量  6.6 编译  6.7 调试  6.8 性能

 6.9 本章要点

第7章 常见并行程序设计问题的解决方法 7.1 线程过多

 7.2 数据竞争、死锁和活锁 7.3 竞争激烈的锁  7.4 非阻塞算法

 7.5 线程安全函数和库 7.6 存储问题

 7.7 cache相关的问题

 7.8 避免IA-32上的流水线停顿  7.9 面向高性能的数据组织  7.10 本章要点

第8章 多线程调试技术  8.1 通用调试技术

 8.2 Windows多线程程序的调试 8.3 使用GDB进行多线程调试 8.4 本章要点

第9章 单核处理器基础

 9.1 处理器体系结构基础知识

 9.2 超标量结构与EPIC结构的对比  9.3 本章要点

第10章 面向Intel®多核处理器的多线程技术  10.1 基于硬件的多线程技术 10.2 超线程技术 10.3 多核处理器

 10.4 多个处理器之间的交互  10.5 功耗

 10.6 多核处理器体系结构未来发展趋势 10.7 本章要点

第11章 Intel®软件开发产品  11.1 概述

 11.2 Intel®线程检测器  11.3 Intel编译器

 11.4 Intel®调试器  11.5 Intel库

 11.6 Intel® VTuneTM性能分析器  11.7 Intel®线程直方统计器 11.8 MPI程序设计 11.9 本章要点术语表 参考文献索引

下载后 点击此处查看更多内容

因篇幅问题不能全部显示,请点此查看更多更全内容