• Complain

Clay Breshears - The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications

Here you can read online Clay Breshears - The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2009, publisher: OReilly Media, genre: Romance novel. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications
  • Author:
  • Publisher:
    OReilly Media
  • Genre:
  • Year:
    2009
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

If youre looking to take full advantage of multi-core processors with concurrent programming, this practical book provides the knowledge and hands-on experience you need. The Art of Concurrency is one of the few resources to focus on implementing algorithms in the shared-memory model of multi-core processors, rather than just theoretical models or distributed-memory architectures. The book provides detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis for avoiding mistakes that programmers typically make when first attempting these computations.
Written by an Intel engineer with over two decades of parallel and concurrent programming experience, this book will help you:

  • Understand parallelism and concurrency
  • Explore differences between programming for shared-memory and distributed-memory
  • Learn guidelines for designing multithreaded applications, including testing and tuning
  • Discover how to make best use of different threading libraries, including Windows threads, POSIX threads, OpenMP, and Intel Threading Building Blocks
  • Explore how to implement concurrent algorithms that involve sorting, searching, graphs, and other practical computations

The Art of Concurrency shows you how to keep algorithms scalable to take advantage of new processors with even more cores. For developing parallel code algorithms for concurrent programming, this book is a must.

Clay Breshears: author's other books


Who wrote The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications? Find out the surname, the name of the author of the book and a list of all author's works by series.

The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
The Art of Concurrency
Clay Breshears
Editor
Mike Loukides

Copyright 2009 Clay Breshears

OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (.

OReilly and the OReilly logo are registered trademarks of OReilly Media, Inc. The Art of Concurrency, the image of wheat-harvesting combines, and related trade dress are trademarks of OReilly Media, Inc.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and OReilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps.

While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

OReilly Media Dedication To my parents for all their love guidance and - photo 1

O'Reilly Media

Dedication

To my parents, for all their love, guidance, and support.

SPECIAL OFFER: Upgrade this ebook with OReilly

for more information on this offer!

Please note that upgrade offers are not available from sample content.

A Note Regarding Supplemental Files

Supplemental files and examples for this book can be found at http://examples.oreilly.com/9780596521547/. Please use a standard desktop web browser to access these files, as they may not be accessible from all ereader devices.

All code files or examples referenced in the book will be available online. For physical books that ship with an accompanying disc, whenever possible, weve posted all CD/DVD content. Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to .

Preface
Why Should You Read This Book Multicore processors made a big splash when - photo 2
Why Should You Read This Book?

Multicore processors made a big splash when they were first introduced. Bowing to the physics of heat and power, processor clock speeds could not keep doubling every 18 months as they had been doing for the past three decades or more. In order to keep increasing the processing power of the next generation over the current generation, processor manufacturers began producing chips with multiple processor cores. More processors running at a reduced speed generate less heat and consume less power than single-processor chips continuing on the path of simply doubling clock speeds.

But how can we use those extra cores? We can run more than one application at a time, and each program could have a separate processor core devoted to the execution. This would give us truly parallel execution. However, there are only so many apps that we can run simultaneously. If those apps arent very compute-intensive, were probably wasting compute cycles, but now were doing it in more than one processor.

Another option is to write applications that will utilize the additional cores to execute portions of the code that have a need to perform lots of calculations and whose computations are independent of each other. Writing such programs is known as concurrent programming . With any programming language or methodology, there are techniques, tricks, traps, and tools to design and implement such programs. Ive always found that there is more art than science to programming. So, this book is going to give you the knowledge and one or two of the secret handshakes you need to successfully practice the art of concurrent programming.

In the past, parallel and concurrent programming was the domain of a very small set of programmers who were typically involved in scientific and technical computing arenas. From now on, concurrent programming is going to be mainstream. Parallel programming will eventually become synonymous with programming. Now is your time to get in on the ground floor, or at least somewhere near the start of the concurrent programming evolution.

Who Is This Book For?

This book is for programmers everywhere.

I work for a computer technology company, but Im the only computer science degree-holder on my team. There is only one other person in the office within the sound of my voice who would know what I was talking about if I said I wanted to parse an LR(1) grammar with a deterministic pushdown automata. So, CS students and graduates arent likely to make up the bulk of the interested readership for this text. For that reason, Ive tried to keep the geeky CS material to a minimum. I assume that readers have some basic knowledge of data structures and algorithms and asymptotic efficiency of algorithms (Big-Oh notation) that is typically taught in an undergraduate computer science curriculum. For whatever else Ive covered, Ive tried to include enough of an explanation to get the idea across. If youve been coding for more than a year, you should do just fine.

Ive written all the codes using C. Meaning no disrespect, I figured this was the lowest common denominator of programming languages that supports threads. Other languages, like Java and C#, support threads, but if I wrote this book using one of those languages and you didnt code with the one I picked, you wouldnt read my book. I think most programmers who will be able to write concurrent programs will be able to at least read C code. Understanding the concurrency methods illustrated is going to be more important than being able to write code in one particular language. You can take these ideas back to C# or Java and implement them there.

Im going to assume that you have read a book on at least one threaded programming method. There are many available, and I dont want to cover the mechanics and detailed syntax of multithreaded programming here (since it would take a whole other book or two). Im not going to focus on using one programming paradigm here, since, for the most part, the functionality of these overlap. I will present a revolving usage of threading implementations across the wide spectrum of algorithms that are featured in the latter portion of the book. If there are circumstances where one method might differ significantly from the method used, these differences will be noted.

Ive included a review of the threaded programming methods that are utilized in this book to refresh your memory or to be used as a reference for any methods you have not had the chance to study. Im not implying that you need to know all the different ways to program with threads. Knowing one should be sufficient. However, if you change jobs or find that what you know about programming with threads cannot easily solve a programming problem you have been assigned, its always good to have some awareness of what else is availablethis may help you learn and apply a new method quickly.

Whats in This Book?

, anticipates and answers some of the questions you might have about concurrent programming. This chapter explains the differences between parallel and concurrent, and describes the four-step threading methodology. The chapter ends with a bit of background on concurrent programming and some of the differences and similarities between distributed-memory and shared-memory programming and execution models.

, contains a lot of information about designing concurrent solutions from serial algorithms. Two concurrent design modelstask decomposition and data decompositionare each given a thorough elucidation. This chapter gives examples of serial coding that you may not be able to make concurrent. In cases where there is a way around this, Ive given some hints and tricks to find ways to transform the serial code into a more amenable form.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications»

Look at similar books to The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications»

Discussion, reviews of the book The Art of Concurrency: A Thread Monkeys Guide to Writing Parallel Applications and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.