Is Parallel Programming Hard, And, If So, What Can You Do About It?



Download free course Is Parallel Programming Hard, And, If So, What Can You Do About It?, pdf file on 601 pages by Paul E. McKenney.
The purpose of this book is to help you program shared-memory parallel systems without risking your sanity. Nevertheless, you should think of the information in this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming-progress that will in time render this book obsolete.

Parallel programming in the 21st century is no longer focused solely on science, research, and grand-challenge projects. And this is all to the good, because it means that parallel programming is becoming an engineering discipline. Therefore, as befits an engineering discipline, this book examines specific parallel-programming tasks and describes how to approach them. In some surprisingly common cases, these tasks can be automated.

This book is written in the hope that presenting the engineering discipline underlying successful parallel-programming projects will free a new generation of parallel hackers from the need to slowly and painstakingly reinvent old wheels, enabling them to instead focus their energy and creativity on new frontiers. However, what you get from this book will be determined by what you put into it. It is hoped that simply reading this book will be helpful, and that working the Quick Quizzes will be even more helpful. However, the best results come from applying the techniques taught in this book to real-life problems. As always, practice makes perfect.

But no matter how you approach it, we sincerely hope that parallel programming brings you at least as much fun, excitement, and challenge that it has brought to us!

Table of contents

  • How To Use This Book
  • Introduction
  • Hardware and its Habits
  • Tools of the Trade
  • Counting
  • Partitioning and Synchronization Design
  • Locking
  • Data Ownership
  • Deferred Processing
  • Data Structures
  • Validation
  • Formal Verification
  • Putting It All Together
  • Advanced Synchronization
  • Advanced Synchronization: Memory Ordering
  • Ease of Use
  • Conflicting Visions of the Future
  • Looking Forward and Back
  • Important Questions
  • "Toy" RCU Implementations
  • Why Memory Barriers?
  • Style Guide
  • Answers to Quick Quizzes
Pages : 601
Size : 11.7 MB
File type : PDF
Downloads: 141
Created: 2022-02-03
License: CC BY-SA
Author(s): Paul E. McKenney
Is Parallel Programming Hard, And, If So, What Can You Do About It?

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others programming Tutorials

Java 3D Programming

Power Programming with Mathematica

Fundamentals of C++ Programming

Principles of Programming Languages

Certified Programming with Dependent Types

Others related eBooks about Is Parallel Programming Hard, And, If So, What Can You Do About It?

HTML, CSS, Bootstrap, Javascript and jQuery in PDF

Free tutorial to download about HTML, CSS, Bootstrap, Javascript and jQuery, pdf document course in 72 pages created by Meher Krishna Patel....

IPython Interactive Computing and Visualization Cookbook

This book contains many ready-to-use, focused recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code. You will apply these state-of-the-art methods to various real-world examp...

Raspberry Pi Beginner's Guide

Download free course Raspberry Pi Beginner's Guide, pdf file on 248 pages by Gareth Halfacree....

Learning actionscript PDF course

Download free Actionscript tutorial course in PDF, training file in 1 chapters and 6 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Android Concepts and Programming

Download Android tutorial in PDF ,free training course document under 40 pages By Kartik Sankaran....

: Just Enough R: Learn Data Analysis with R in a Day

Learn R programming for data analysis in a single day. The book aims to teach data analysis using R within a single day to anyone who already knows some programming in any other language. The book has sample code which can be downloaded as a zip file. ...

iOS Development Tutorial

Learning how to build application with IOS editor.Free PDF tutorial for beginners....

JavaScript RegExp

Download free course JavaScript RegExp, pdf file on 59 pages by Sundeep Agarwal....

Exploring .NET Core with Microservices, ASP.NET Core, and Entity Framework Core

Windows developers have always enjoyed the productivity boost you get with the .NET platfo..., download free .NET tutorial in PDF (155 pages) created by ....

Programming for Computations - Python: A Gentle Introduction to Numerical Simulations with Python 3.6

This second edition of the well-received book has been extensively revised: All code is now written in Python version 3.6 (no longer version 2.7). In addition, the two first chapters of the previous edition have been extended and split up into five new chapters, thus expanding the introduction to pr...