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: 117
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

The C Programming Language Handbook

Practical Foundations for Programming Languages

Introduction to Programming with Fortran

Basic Programming Concepts

A Gentle Guide to Constraint Logic Programming via ECLiPSe, 3rd Edition

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

Kotlin tutorial in PDF

Download free Kotlin tutorial course in PDF, training file in 38 chapters and 118 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Open Data Structures (in C++)

Download free course Open Data Structures (in C++), pdf file on 336 pages by Pat Morin....

The Common Java Cookbook

This book focuses on tactical implementation details, answering such questions as: How do we parse XML? How do we serialize beans?...

Optimizing software in C++

This is an optimization manual for advanced C++ programmers. This book are not for beginne..., download free C++ tutorial in PDF (176 pages) created by Agner Fog ....

Programming A Game With Unity: A Beginner's Guide

This is a free Unity PDF tutorial in 11 chapters and 27 pages. This course aims to give students the basics of Unity concepts. ...

DotNet for professionnals

Download free DotNet tutorial course in PDF, training file in 58 chapters and 192 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Download Haskell PDF Tutorial

Download Haskell PDF Tutorial for free, it consisting of 24 chapters and 683 pages covering all the most important Haskell concepts. This tutorial is intended for beginner programmers, and we recommend you to go through all the chapters, to get the most out of it as possible....

Learning .NET Framework PDF course

Download free Dot net tutorial course in PDF, training file in 59 chapters and 241 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Programming Fundamentals

This programming fundamentals tutorial in PDF format covers the key concepts and principles that are essential for anyone looking to become a proficient coder. The tutorial begins with an introduction to programming, explaining the basic concepts and terminologies that underlie all programming langu...

Learn Node.JS

This beginner's course of Node.js will teach you how to make a first functional Web application using Node.js. The author presents his work as the guide he would have liked to read starting with Node.js. He has deliberately simplified his explanations so as to be comprehensible to the greatest numbe...