異步 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 硬盤性能測試等。最後介紹了幾篇對學習和鞏固這些知識很是有幫助的論文