当前位置: 首页 > 编程日记 > 正文

推荐阅读的多核编程技术书籍

多核编程技术好书推荐

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

作 者: (孟加拉)阿克特(Akhter,S.),(美)罗伯茨(Roberts,J.) 著,李宝峰,富弘毅,李韬 译

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

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

多处理器编程的艺术

作  者:(美)荷里希,(以)谢菲特 著,金海,胡侃 译

工业界称为多核的多处理器机器正迅速地渗入计算的各个领域。多处理器编程要求理解新型计算原理、算法及编程工具,至今很少有人能够精通这门编程艺术。

现今,大多数工程技术人员都是通过艰辛的反复实践.求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理 器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。了解本书所涵盖的多处理器编程关键问题将使在校学生以及相关技术人员受益匪浅。

软件优化技术——IA-32平台的高性能手册(第2版),

作  者: (美)格贝尔(Gerber,R.) 等著,王涛 等译

《软件优化技术——IA-32平台的高性能手册》是Intel出版社最畅销的书籍之一。它填补了软件优化的初级课本与解决专门Intel®架构的高 级手册之间的空白。随着Intel扩展内存64位技术(Intel EM64T)、多核处理技术、超线程技术、OpenMP†和多媒体扩展等新技术的流行,Intel出版社邀请另外三位Intel专家与原作者一起扩展、更 新形成了本书的第2版。 《软件优化技术——IA-32平台的高性能手册》第2版提供了如何优化软件,使软件在Intel平台上获得巨大性能提升的最新技术。通过简单的讲解和示例,四位Intel专家向我们展示了如何从以下一些方面改进软件性能,包括算法、内存访问、分支预测、自动矢量化、SIMD指令、多线程和浮点计算。想了解最新技术以提高应用性能和想提高编码技巧的软件开发者,均可以从本书中受益。

Intel Threading Building Blocks编程指南,

作 者: (美)仁达敬(Reinders,J) 著;聂雪军 等译.

多核处理器的出现使得并行编程成为了每个程序员关注的主题。不具备多处理器核的计算机系统已经变得越来越少。本书为c++程序给出了并行编程的解决方案,它既不要求放弃c++,也不要求使用那些裸线程或者本地线程。

本书介绍的是Intel线程构建模块。线程构建模块是一个用来实现并行语义的c++模板库,它对c++进行了扩展,抽象出了线程管理机制并支持简明的并行编 程。在使用这个库时,你所要指定的是任务而不是线程,然后库将高效自动地将这些任务映射到线程上。如果希望程序在处理器核不断增加的情况下也能够继续运行,那么这种方式将带来许多好处。与裸线程相比,线程构建模块能够使你更方便地表达并行语义,同时还能够提高程序的性能,可移植性和可扩展性。在使用本书时,你无需任何并行编程经验或者在多核处理器上的编程经验。无论你是拥有丰富的并行编程经验,还是对并行编程一无所知,本书的内容都将是非常有用的。此外,本书也不要求之前是否对线程有所了解。

并行程序设计(第2版)

作 者: (美)威尔金森,(美)阿兰 著,陆鑫达 等译

本书系统介绍并行程序设计原理及应用。除介绍常用的一些算法范例,包括分治、流水、同步计算、主从及工作池,还介绍了一些常用的经典数值和非数值算 法,如排序、矩阵相乘、线性方程组求解、图像处理中的预处理和相应的变换、搜索和优化等。第2版新增了机群计算等使用机群的内容,对如何打造专用和通用的 机群以及设置相应的程序设计环境做了较为详尽的介绍。章后包含大量习题,其中现实生活习题非常实用,既可增强学习兴趣,又可提高并行程序设计技巧。 本书可作为高等院校计算机专业高年级本科生或研究生的教材,对从事高性能计算的科技工作者也是一本很有价值的参考书。

并行程序设计原理

作  者:(美)林,(美)斯奈德 著,陆鑫达 等译

出 版 社:机械工业出版社

出版时间:2009-7-1

本书内容新颖,涉及现代并行硬件和软件技术,包括多核体系结构及其并行程序设计技术。本书侧重论述并行程序设计的原理,并论述了并行程序设计中一些深层次问题,如可扩展性、可移植性以及并行程序设计应遵循的方法学等。

多核计算与程序设计,

作  者: 周伟明 著

本书是一本专业的多核程序设计方面的著作,覆盖了多核程序设计的各个方面。重点围绕多核(或多处理器)计算机系统的算法和程序这一重心,分五个部分 展开讲述。书中重点剖析了多核编程的核心技术——共享资源分布式编程技术,包括各种设计模式、分布式队列、分布式查找、分布式内存管理、任务图分解与调 度、动态任务调度等。这些技术简单易学,并可以解决锁竞争、负载均衡等多核编程难题,免去学习复杂并行算法之苦。同时,书中讲解了专门针对多核的并行计算 方法,如并行搜索、并行排序、并行数值计算等内容,并包含了对CPU核数扩展性及Cache伪共享等多核相关问题的处理。此外,为便于读者更准确和深入理 解,作者还对多核基本概念和理论、多线程编程基础、OpenMP编程、常用数据结构与算法、Lock-Free编程等基础概念和知识进行了讲解。

多任务下的数据结构与算法

作  者:周伟明 著

出 版 社:华中科技大学出版社

出版时间:2006-4-1

本书和传统同类书籍的区别是除了介绍基本的数据结构容器如栈、队列、链表、树、二叉树、红黑树、AVL树和图之外,引进了多任务;还介绍了将任意数据结构容器变成支持多任务的方法;另外,还增加了复合数据结构和动态数据结构等新内容的介绍。在复合数据结构中不仅介绍了哈希链表、哈希红黑树、哈希AVL树等容器,还介绍了复合数据结构的通用设计方法;在动态数据结构中主要介绍了动态环形队列、动态等尺寸内存管理算法。在内存管理中介绍了在应用程序层实现的内存垃圾回收算法、内存泄漏检查和内存越界检查的方法等。本书选取的内容均侧重于在实际中有广泛应用的数据结构和算法,有很好的商业使用价值。

相关文章:

zabbix监控windows(03,08)

监控windows主机:下载zabbix_agents_2.2.3.win.zip (zabbix官网下载)解压文件,把对应的文件(32位或者64位)考到C盘根目录(对应目录就OK)并带配置文件;编辑配置文件:zabbix_agentd.win.confLogFi…

Dubbo原理何源码解析之服务暴露

2019独角兽企业重金招聘Python工程师标准>>> 一、框架设计 在官方《Dubbo 用户指南》架构部分,给出了服务调用的整体架构和流程: 另外,在官方《Dubbo 开发指南》框架设计部分,给出了整体设计: 以及暴露服务…

维基百科上的算法和数据结构链接很强大

突然发现维基百科上的算法和数据结构比百度百科强多啦,图文并茂。 其实这个网站不错:http://www.sorting-algorithms.com 冒泡排序: bubble冒泡的意思http://zh.wikipedia.org/wiki/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F-------------------…

基于 OpenCV 的图像阴影去除

作者 | 努比来源 | 小白学视觉我们经常需要通过扫描将纸上的全部内容转换为图像。有很多在线工具可以提高图像的亮度,或者消除图像中的阴影。但是我们可以手动删除阴影吗?当然可以,我们只需要将图像加载到相应的代码中,无需任何应…

not exists 跟not in 纪念一下

转载于:https://www.cnblogs.com/zzzzw/p/4973378.html

jquery $.proxy使用 Jquery实现ready()的源码

jquery $.proxy使用 在某些情况下,我们调用Javascript函数时候,this指针并不一定是我们所期望的那个。例如: 1 //正常的this使用2 $(#myElement).click(function() {3 4 // 这个this是我们所期望的,当前元素的this.5 6 $(…

PHP session回收机制

由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效。当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/session.gc_divisor(同样可以通过php.ini或者ini_set()函数来修改&#x…

WPF学习拾遗(二)TextBlock换行

原文:WPF学习拾遗(二)TextBlock换行下午在帮组里的同事解决一个小问题,为了以后方便,把就把它收集一下吧。 新建一个TextBlock作为最基础的一个控件,他所携带的功能相对于其他的控件要来的比较少, 比较值得…

Meta 开发 AI 语音助手,用于创建虚拟世界和实时翻译

编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) Meta 在近日的「用人工智能构建元宇宙」的讨论会上,展示了最新的 AI 黑科技 「Builder Bot」 ,并且在此次会议上 Meta 公布了关于构建元宇宙的人工智能计划,其中包括…

MySQL的基础

2019独角兽企业重金招聘Python工程师标准>>> 数据库和SQL 什么数据库 数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务。 什么是SQL 结构化查询语言(Structured Query Language)…

Python:Bug 官网不要了,全迁去 GitHub

近几年,GitHub 开发者数量逐年上升,仅过去一年 GitHub 的新增用户便有 1600 万人,总用户数更是达到了 7300 万——在开源浪潮席卷全球中,GitHub 无疑成为了许多开发者迈入开源的一个重要途径。 Python 开发团队或许正是看中了这一…

最新的全球编程语言,操作系统,web服务器等使用率分析报告

由www.w3techs.com 根据alexa排名前100万的网站数据给出的分析报告,并每天持续更新。1.服务器端编程语言排名 http://w3techs.com/technologies/overview/programming_language/all点评:PHP是最高的,说明目前php是主流,但是asp.ne…

javascript中有关this的使用

this在面向对象编程中非常重要,他的值取决于调用的模式。 在Javascript中有4种调用模式:方法调用模式、函数调用模式、构造器调用和apply调用。 1. 方法调用模式:当一个方法被调用时,this被绑定到该对象。方法可以使用this访问自己…

Vue中v-if和v-show的使用场景

1. 官方文档 https://cn.vuejs.org/v2/guide/conditional.html#v-if-vs-v-show 2. v-if 和 v-show 的区别 2.1 官方解释 v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。 v-if 也是惰性的:如果在初…

手机自带的显示基站命令

安卓手机自带快捷指令显示当前的网络信息,不过手机厂商不同,命令也不一样。每次要用时总想不起来命令,记下备用。(1) HTC 安卓手机在拨号键盘输入 *#*#4636#*#* , 选择 “手机信息” (2)三星安卓手机 *#*#4636#*#* , 选择 “手机信息” (3)摩…

LB负载均衡集群 - NAT

前提:客户机 : eth0 192.168.0.200 eth1 192.168.205.129dir主机: eth0 192.168.0.166 eth1 192.168.205.128rs1主机: eth0 192.168.0.207rs2主机: eth0 192.168.0.208rs1 和 rs2的网关是dir 192…

时序预测的三种方式:统计学模型、机器学习、循环神经网络

作者 | luanhz来源 | 小数志导读时序预测是一类经典的问题,在学术界和工业界都有着广泛的研究和应用。甚至说,世间万物加上时间维度后都可抽象为时间序列问题,例如股票价格、天气变化等等。关于时序预测问题的相关理论也极为广泛,…

Python 爬虫练手项目—酒店信息爬取

from bs4 import BeautifulSoup import requests import time import reurl http://search.qyer.com/hotel/89580_4.html urls [http://search.qyer.com/hotel/89580_{}.html.format(str(i)) for i in range(1,10)] # 最多157页 infos [] # print(urls)# 批量爬取数据 def g…

应用交换技术的负载均衡算法

原文出处是:http://hi.baidu.com/ruijievideo/blog/item/5959be1f3c1621ff1bd576d2.html 应用交换技术的负载均衡算法应用交换技术里主要包括四项关键的技术:◆截获和检查流量◆服务器监控健康检查◆负载均衡算法◆会话保持截获和检查流量保证只有合适的…

平民架构的春天——UCloud数据方舟实战记

LNMP是最亲民的网页服务架构,整合了优秀的开源软件,想必大家再熟悉不过了,随着云计算的落地;大众创业,万众创新的倡导,为了更好的服务和安全,LNMP也迁入了云平台,比如像UCloud这样优…

用 Python 制作可视化报表,这也太快了!

作者 | 小F来源 | 法纳斯特在数据展示中使用图表来分享自己的见解,是个非常常见的方法。这也是Tableau、Power BI这类商业智能仪表盘持续流行的原因之一,这些工具为数据提供了精美的图形解释。当然了,这些工具也有着不少缺点,比如…

Django 错误汇总

1、 解决:python manage.py migrate sessions 2、转载于:https://blog.51cto.com/jacksoner/2130665

几种负载均衡算法

几种负载均衡算法 本地流量管理技术主要有一下几种负载均衡算法: 静态负载均衡算法包括:轮询,比率,优先权 动态负载均衡算法包括: 最少连接数,最快响应速度,观察方法,预测法,动态性能分配&#…

cassandra命令

压力测试:cassandra-stress [command] -node [nodes] -mode thrift user[user] password[password] example: cassandra-stress write n10 -node 192.168.0.105 -mode thrift usercassandra passwordcassandra

《2022产业互联网安全十大趋势》发布,专家学者透析产业安全新变化

2月28日,在中国产业互联网发展联盟指导下,人民邮电报、中国信息安全、腾讯安全联合实验室、腾讯研究院联合推出《2022产业互联网安全十大趋势》。该报告由《中国信息安全》杂志出品人温哲、腾讯副总裁丁珂、腾讯研究院院长司晓等20余位行业顶级专家、学者…

slurm用户快速入门手册

1. 概述2. 架构3. 命令3.1 sacct3.2 sattach3.4 sbatch3.5 sbcast3.6 scancel3.7 scontrol3.8 sinfo3.9 smap3.10 squeue3.11 srun3.12 strigger3.13 sview1. 概述 Slurm 是一个开源、容错、高可伸缩的集群管理和大型小型 Linux 集群作业调度系统。slurm不需要对操作系统内核进…

什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?

原文地址:http://www.mike.org.cn/articles/what-is-cgi-fastcgi-php-fpm-spawn-fcgi/什么是CGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上…

5个短小精悍的 Python 趣味脚本,太赞了,非常适合小白上手!

作者 | 菜鸟哥来源 | 菜鸟学Python今天特地为大家准备了几个简单的“开胃小菜”。希望大家能够通过这几个简单而实用的小案例,活跃一下自己的思维,为接下来的工作和学习做好准备。话不多说,我们接下来就开始介绍。1、图片尺寸缩小所需库&…

AjaxFileUpload文件上传组件(php+jQuery+ajax)

jQuery插件AjaxFileUpload可以实现ajax文件上传,下载地址:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js 主要参数说明:1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接…

Hadoop生态圈-Flume的组件之自定义拦截器(interceptor)

Hadoop生态圈-Flume的组件之自定义拦截器(interceptor) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 本篇博客只是举例了一个自定义拦截器的方法,测试字节传输速度。 1>.自…