并行编程——工程实践

1 工程上已经使用并行技术的例子

1.1  网络设备 :Intel DPDK

Intel 推出的基于x86平台的数据包处理方案,目前已经开源:http://dpdk.org/,网上最新版本是 1.3.1,主要内容包括:多核框架,基于大内存页的内存管理方案,无锁队列,用户态网卡驱动,这几个核心模块的底层实现用到了本文档前面提到的诸多概念,在前面概念的描述过程中,也引用了一些dpdk的代码。

1.2  网络游戏

虽然文章一开头已经提到,目前家用PC和手机核数最高已经超过10颗,但很多网络游戏的主引擎还是单进程的,比较确定的使用了多核系统的,有云风主导开发的一款游戏(据说采用多进程模型),另外,剑侠奇缘现在有选项:多核游戏模式,不知道是不是已经实现多核的游戏引擎。

1.3  手机开发

Ios4.0 : Grand Central Dispatch (GCD) Apple开发的一个多核编程的解决方法

2 系列文章参考

http://ifeve.com/ 并发编程网

http://www.pdl.cmu.edu/ 卡耐基梅陇大学并行实验室

http://www.parallellabs.com 并行实验室

http://en.wikipedia.org/wiki/Non-blocking_algorithm#Obstruction-freedom

http://www.cnblogs.com/lxconan/category/429872.html sql server 并行相关

http://preshing.com/20120930/weak-vs-strong-memory-models 内存模型

http://preshing.com/20120625/memory-ordering-at-compile-time 内存顺序一致性模型

http://preshing.com/20120515/memory-reordering-caught-in-the-act 内存顺序一致性模型

http://preshing.com/20120710/memory-barriers-are-like-source-control-operations 内存屏障

http://preshing.com/20111118/locks-arent-slow-lock-contention-is

原文地址:https://www.cnblogs.com/jiayy/p/3246253.html