异步 I/O 模型其中的设计模式或是解决方法能够借鉴到分布式架构上来。html
史蒂文斯(Stevens)在《UNIX 网络编程》一书 6.2 I/O Models 中介绍了五种 I/O 模型。react
C10K Problem ,了解 I/O 模型linux
Thousands of Threads and Blocking I/O: The Old Way to Write Java Servers Is New Again (and Way Better) , Java 相关的 I/O 模型的文章,这个 PPT 中不只回顾和比较了各类 I/O 模型,并且还有各类比较细节的方案和说明。git
Scalable IO in Java,Java 相关的 PPT。程序员
异步 I/O 的实现和设计方式。github
基本上来讲,异步 I/O 模型的发展技术是: select -> poll -> epoll -> aio -> libevent -> libuv。算法
编程模式——Reactor 模式。下面是这个模式的相关文章(读这三篇就够了)。shell
几篇有意思的延伸阅读文章。数据库
Lock-Free - 因此若是想开发出一个高性能的程序,你就很是有必要学习 Lock-Free 的编程方式。关于无锁的数据结构。编程
Is Parallel Programming Hard, And, If So, What Can You Do About It? ,书堪称并行编程的经典书。
并发编程中的一些概念:Non-blocking algorithm 、Read-copy-update 和 Seqlock。
两篇论文 。
有几个博客要订阅一下。
编程相关的一些 C/C++ 的类库,这样你就不用从头再造轮子了(对于 Java 的,请参看 JDK 里的 Concurrent 开头的一系列的类)。
All about 64-bit programming in one place,关于 64 位编程相关的收集页面,其中包括相关的文章、28 节课程,还有知识库和相关的 blog。
What Scalable Programs Need from Transactional Memory ,事务性内存(TM)一直是许多研究的重点,它在诸如 IBM Blue Gene/Q 和 Intel Haswell 等处理器中获得了支持。许多研究都使用 STAMP 基准测试套件来评估其设计。
例如,在 IBM Blue Gene/Q 上有 64 个线程,咱们观察到使用 Blue Gene/Q 硬件事务内存(HTM)的中值加速比为 1.4 倍,使用软件事务内存(STM)的中值加速比为 4.1 倍。什么限制了这些 TM 基准的性能?在本论文中,做者认为问题在于用于编写它们的编程模型和数据结构上,只要使用合适的模型和数据结构,程序的性能能够有 10 多倍的提高。
Improving OpenSSL Performance ,这篇文章除了教你如何提升 OpenSSL 的执行性能,还讲了一些底层的性能调优知识。
Secure Programming HOWTO - Creating Secure Software ,其中有繁体中文的翻译,这本电子书讲了 Linux/Unix 下的一些安全编程方面的知识。
Hints for Computer System Design ,计算机设计的忠告,这是 ACM 图灵奖得主 Butler Lampson 在 Xerox PARC 工做时的一篇论文。这篇论文简明扼要地总结了他在作系统设计时的一些想法,很是值得一读。(用他的话来讲,“Studying the design and implementation of a number of computer has led to some general hints for system design. They are described here and illustrated by many examples, ranging from hardware such as the Alto and the Dorado to application programs such as Bravo and Star“。)
The 5 minute rule for trading memory for disc accesses and the 5 byte rule for trading memory for CPU time ,根据文章名称也能够看出,5 分钟法则是用来衡量内存与磁盘的,而 5 字节法则则是在内存和 CPU 之间的权衡。这两个法则是 Jim Gray 和 Franco Putzolu 在 1986 年的文章。
在该论文发表 10 年后的 1997 年,Jim Gray 和 Goetz Graefe 又在 The Five-Minute Rule Ten Years Later and Other Computer Storage Rules of Thumb 中对该法则进行了从新审视。2007 年,也就是该论文发表 20 年后,这年的 1 月 28 日,Jim Gray 驾驶一艘 40 英尺长的船从旧金山港出海,目的是航行到附近的费拉隆岛,在那里撒下母亲的骨灰。出海以后,他就同朋友和亲属失去了联系。为了记念和向大师致敬,时隔 10 多年后的 2009 年 Goetz Graefe 又发表了 The Five-Minute Rule 20 Years Later (and How Falsh Memory Changes the Rules)。
注明一下,Jim Gray 是关系型数据库领域的大师。因在数据库和事务处理研究和实现方面的开创性贡献而得到 1998 年图灵奖。美国科学院、工程院两院院士,ACM 和 IEEE 两会会士。他 25 岁成为加州大学伯克利分校计算机科学学院第一位博士。在 IBM 工做期间参与和主持了 IMS、System R、SQL/DS、DB2 等项目的开发。后任职于微软研究院,主要关注应用数据库技术来处理各学科的海量信息。
异步 I/O 模型、 Lock-Free 。其它一些重要知识,如 64 位编程、提升 OpenSSL 的执行性能、压缩、SSD 硬盘性能测试等。最后介绍了几篇对学习和巩固这些知识很是有帮助的论文