๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

Parallel programming with Python: develop efficient parallel systems using the robust Python environment

โœ Scribed by Martini, Lis Marie; Palach, Jan


Publisher
Packt Publishing Limited
Year
2014
Tongue
English
Leaves
122
Series
Community experience distilled
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Synopsis


A fast, easy-to-follow and clear tutorial to help you develop Parallel computing systems using Python. Along with explaining the fundamentals, the book will also introduce you to slightly advanced concepts and will help you in implementing these techniques in the real world. If you are an experienced Python programmer and are willing to utilize the available computing resources by parallelizing applications in a simple way, then this book is for you. You are required to have a basic knowledge of Python development to get the most of this book.

โœฆ Table of Contents


Cover......Page 1
Copyright......Page 3
Credits......Page 4
About the Author......Page 5
Acknowledgments......Page 6
About the Reviewers......Page 7
www.PacktPub.com......Page 0
Table of Contents......Page 12
Preface......Page 16
Chapter 1: Contextualizing Parallel, Concurrent, and Distributed Programming......Page 22
Exploring common forms of parallelization......Page 24
Communicating in parallel programming......Page 26
Understanding message passing......Page 27
Starvation......Page 28
Race conditions......Page 29
The Python multiprocessing module......Page 30
Taking care of Python GIL......Page 31
Summary......Page 32
The divide and conquer technique......Page 34
Using data decomposition......Page 35
Decomposing tasks with pipeline......Page 36
Identifying the tasks that require data exchange......Page 37
Summary......Page 38
Obtaining the highest Fibonacci value for multiple inputs......Page 40
Crawling the Web......Page 42
Summary......Page 43
Defining threads......Page 44
Understanding different kinds of threads......Page 45
Defining the states of a thread......Page 46
Using threading to obtain the Fibonacci series term with multiple inputs......Page 47
Crawling the Web using the concurrent.futures module......Page 51
Summary......Page 55
Understanding the concept of a process......Page 56
Implementing multiprocessing communication......Page 57
Using multiprocessing.Pipe......Page 58
Using multiprocessing to compute Fibonacci series terms with multiple inputs......Page 60
Crawling the Web using ProcessPoolExecutor......Page 63
Summary......Page 66
Understanding interprocess communication......Page 68
Using named pipes with Python......Page 69
Writing in a named pipe......Page 70
Reading named pipes......Page 71
Discovering PP......Page 72
Using PP to calculate the Fibonacci series term on SMP architecture......Page 74
Using PP to make a distributed Web crawler......Page 76
Summary......Page 81
Understanding Celery......Page 82
Understanding Celery's architecture......Page 83
Working with tasks......Page 84
Understanding workers......Page 85
Setting up the client machine......Page 86
Dispatching a simple task......Page 88
Using Celery to obtain a Fibonacci series term......Page 91
Defining queues by task types......Page 94
Using Celery to make a distributed Web crawler......Page 96
Summary......Page 99
Understanding blocking, nonblocking, and asynchronous operations......Page 100
Understanding asynchronous operations......Page 101
Polling functions......Page 102
Using asyncio......Page 104
Using coroutine and asyncio.Future......Page 105
Using asyncio.Task......Page 107
Using an incompatible library with asyncio......Page 108
Summary......Page 111
Index......Page 114
Uploaded by [StormRG]......Page 118

โœฆ Subjects


Computer Science;Programming


๐Ÿ“œ SIMILAR VOLUMES


Python parallel programming cookbook: ma
โœ Zaccone, Giancarlo ๐Ÿ“‚ Library ๐Ÿ“… 2015 ๐Ÿ› Packt Publishing Limited ๐ŸŒ English

Master efficient parallel programming to build powerful applications using Python About This Book * Design and implement efficient parallel software * Master new programming techniques to address and solve complex programming problems * Explore the world of parallel programming with this book, which

Python parallel programming cookbook: ma
โœ Zaccone, Giancarlo ๐Ÿ“‚ Library ๐Ÿ“… 2015 ๐Ÿ› Packt Publishing Limited ๐ŸŒ English

Master efficient parallel programming to build powerful applications using Python About This Book * Design and implement efficient parallel software * Master new programming techniques to address and solve complex programming problems * Explore the world of parallel programming with this book, which

Python Parallel Programming Cookbook: Ma
โœ Giancarlo Zaccone ๐Ÿ“‚ Library ๐Ÿ“… 2015 ๐Ÿ› Packt Publishing ๐ŸŒ English

Parallel programming techniques are required for a developer to get the best use of all the computational resources available today and to build efficient software systems. From multi-core to GPU systems up to the distributed architectures, the high computation of programs throughout requires the us

Parallel Programming with Python
โœ Jan Palach ๐Ÿ“‚ Library ๐Ÿ“… 2014 ๐Ÿ› Packt Publishing ๐ŸŒ English

Develop efficient parallel systems using the robust Python environment About This Book โ€ข Demonstrates the concepts of Python parallel programming โ€ข Boosts your Python computing capabilities โ€ข Contains easy-to-understand explanations and plenty of examples Who This Book Is For If you are an

Parallel Programming with Python
โœ Jan Palach ๐Ÿ“‚ Library ๐Ÿ“… 2014 ๐Ÿ› Packt Publishing ๐ŸŒ English

Develop efficient parallel systems using the robust Python environment About This Book โ€ข Demonstrates the concepts of Python parallel programming โ€ข Boosts your Python computing capabilities โ€ข Contains easy-to-understand explanations and plenty of examples Who This Book Is For If you are an

Parallel Programming with Python
โœ Jan Palach ๐Ÿ“‚ Library ๐Ÿ“… 2014 ๐Ÿ› Packt Publishing ๐ŸŒ English

In Detail Starting with the basics of parallel programming, you will proceed to learn about how to build parallel algorithms and their implementation. You will then gain the expertise to evaluate problem domains, identify if a particular problem can be parallelized, and how to use the Threading a