Record Detail Back

XML

The Art of Concurrency


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 aren’t very compute-intensive, we’re probably wasting compute cycles, but now we’re 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. I’ve 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.

Clay Breshears - Personal Name
978-0-596-52153-0
NONE
Information Technology
English
2009
1-303
LOADING LIST...
LOADING LIST...