Seven Concurrency Models in Seven Weeks: When Threads Unravel (Paperback)

Paul Butcher

買這商品的人也買了...

商品描述

Your software needs to leverage multiple cores, handle thousands of users and terabytes of data, and continue working in the face of both hardware and software failure. Concurrency and parallelism are the keys, and Seven Concurrency Models in Seven Weeks equips you for this new world. See how emerging technologies such as actors and functional programming address issues with traditional threads and locks development. Learn how to exploit the parallelism in your computer's GPU and leverage clusters of machines with MapReduce and Stream Processing. And do it all with the confidence that comes from using tools that help you write crystal clear, high-quality code.

This book will show you how to exploit different parallel architectures to improve your code's performance, scalability, and resilience.

Learn about the perils of traditional threads and locks programming and how to overcome them through careful design and by working with the standard library. See how actors enable software running on geographically distributed computers to collaborate, handle failure, and create systems that stay up 24/7/365. Understand why shared mutable state is the enemy of robust concurrent code, and see how functional programming together with technologies such as Software Transactional Memory (STM) and automatic parallelism help you tame it.

You'll learn about the untapped potential within every GPU and how GPGPU software can unleash it. You'll see how to use MapReduce to harness massive clusters to solve previously intractible problems, and how, in concert with Stream Processing, big data can be tamed.

With an understanding of the strengths and weaknesses of each of the different models and hardware architectures, you'll be empowered to tackle any problem with confidence.

What You Need:

The example code can be compiled and executed on *nix, OS X, or Windows. Instructions on how to download the supporting build systems are given in each chapter.

商品描述(中文翻譯)

您的軟體需要利用多個核心,處理數千個使用者和數據的大量資料,並在硬體和軟體故障的情況下繼續運作。並行性和平行性是關鍵,而《七週七並行模型》將為您提供應對這個新世界的能力。了解新興技術,如演員模型和函數式編程,如何解決傳統線程和鎖定開發中的問題。學習如何利用計算機的GPU並行處理能力,以及如何利用MapReduce和流處理來利用機器集群。並且,使用幫助您編寫清晰、高質量代碼的工具,充滿自信地完成所有這些。

本書將向您展示如何利用不同的並行架構來提高代碼的性能、可擴展性和韌性。

了解傳統線程和鎖定編程的風險,以及通過謹慎設計和與標準庫合作來克服這些風險。了解演員模型如何使運行在地理分佈的計算機上的軟體能夠協作、處理故障並創建全年無休的系統。了解共享可變狀態是強大並行代碼的敵人,以及如何通過函數式編程以及軟體事務記憶體(STM)和自動並行性等技術來解決它。

您將了解每個GPU中未開發的潛力以及GPGPU軟體如何釋放它。您將看到如何使用MapReduce來利用大型集群解決以前棘手的問題,以及如何通過流處理來處理大數據。

通過了解每個不同模型和硬體架構的優點和缺點,您將能夠自信地應對任何問題。

所需資源:

範例代碼可以在*nix、OS X或Windows上編譯和執行。每章都提供了如何下載支援的建置系統的說明。