Parallel Programming with Python

Develop efficient parallel systems using the robust Python environment.
Preview in Mapt

Parallel Programming with Python

Jan Palach

1 customer reviews
Develop efficient parallel systems using the robust Python environment.
Mapt Subscription
FREE
$29.99/m after trial
eBook
$9.80
RRP $13.99
Save 29%
Print + eBook
$22.99
RRP $22.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$9.80
$22.99
$29.99 p/m after trial
RRP $13.99
RRP $22.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Parallel Programming with Python Book Cover
Parallel Programming with Python
$ 13.99
$ 9.80
Eder Santana's Deep Learning with Python Book Cover
Eder Santana's Deep Learning with Python
$ 27.99
$ 10.00
Buy 2 for $19.80
Save $22.18
Add to Cart

Book Details

ISBN 139781783288397
Paperback128 pages

Book Description

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 and Multiprocessor modules in Python.

The Python Parallel (PP) module, which is another mechanism for parallel programming, is covered in depth to help you optimize the usage of PP. You will also delve into using Celery to perform distributed tasks efficiently and easily. Furthermore, you will learn about asynchronous I/O using the asyncio module. Finally, by the end of this book you will acquire an in-depth understanding about what the Python language has to offer in terms of built-in and external modules for an effective implementation of Parallel Programming.

This is a definitive guide that will teach you everything you need to know to develop and maintain high-performance parallel computing systems using the feature-rich Python.

Table of Contents

Chapter 1: Contextualizing Parallel, Concurrent, and Distributed Programming
Why use parallel programming?
Exploring common forms of parallelization
Communicating in parallel programming
Identifying parallel programming problems
Discovering Python's parallel programming tools
Taking care of Python GIL
Summary
Chapter 2: Designing Parallel Algorithms
The divide and conquer technique
Using data decomposition
Decomposing tasks with pipeline
Processing and mapping
Summary
Chapter 3: Identifying a Parallelizable Problem
Obtaining the highest Fibonacci value for multiple inputs
Crawling the Web
Summary
Chapter 4: Using the threading and concurrent.futures Modules
Defining threads
Using threading to obtain the Fibonacci series term with multiple inputs
Crawling the Web using the concurrent.futures module
Summary
Chapter 5: Using Multiprocessing and ProcessPoolExecutor
Understanding the concept of a process
Implementing multiprocessing communication
Using multiprocessing to compute Fibonacci series terms with multiple inputs
Crawling the Web using ProcessPoolExecutor
Summary
Chapter 6: Utilizing Parallel Python
Understanding interprocess communication
Discovering PP
Using PP to calculate the Fibonacci series term on SMP architecture
Using PP to make a distributed Web crawler
Summary
Chapter 7: Distributing Tasks with Celery
Understanding Celery
Understanding Celery's architecture
Setting up the environment
Dispatching a simple task
Using Celery to obtain a Fibonacci series term
Defining queues by task types
Using Celery to make a distributed Web crawler
Summary
Chapter 8: Doing Things Asynchronously
Understanding blocking, nonblocking, and asynchronous operations
Understanding event loop
Using asyncio
Summary

What You Will Learn

  • Explore techniques to parallelize problems
  • Integrate the Parallel Python module to implement Python code
  • Execute parallel solutions on simple problems
  • Achieve communication between processes using Pipe and Queue
  • Use Celery Distributed Task Queue
  • Implement asynchronous I/O using the Python asyncio module
  • Create thread-safe structures

Authors

Table of Contents

Chapter 1: Contextualizing Parallel, Concurrent, and Distributed Programming
Why use parallel programming?
Exploring common forms of parallelization
Communicating in parallel programming
Identifying parallel programming problems
Discovering Python's parallel programming tools
Taking care of Python GIL
Summary
Chapter 2: Designing Parallel Algorithms
The divide and conquer technique
Using data decomposition
Decomposing tasks with pipeline
Processing and mapping
Summary
Chapter 3: Identifying a Parallelizable Problem
Obtaining the highest Fibonacci value for multiple inputs
Crawling the Web
Summary
Chapter 4: Using the threading and concurrent.futures Modules
Defining threads
Using threading to obtain the Fibonacci series term with multiple inputs
Crawling the Web using the concurrent.futures module
Summary
Chapter 5: Using Multiprocessing and ProcessPoolExecutor
Understanding the concept of a process
Implementing multiprocessing communication
Using multiprocessing to compute Fibonacci series terms with multiple inputs
Crawling the Web using ProcessPoolExecutor
Summary
Chapter 6: Utilizing Parallel Python
Understanding interprocess communication
Discovering PP
Using PP to calculate the Fibonacci series term on SMP architecture
Using PP to make a distributed Web crawler
Summary
Chapter 7: Distributing Tasks with Celery
Understanding Celery
Understanding Celery's architecture
Setting up the environment
Dispatching a simple task
Using Celery to obtain a Fibonacci series term
Defining queues by task types
Using Celery to make a distributed Web crawler
Summary
Chapter 8: Doing Things Asynchronously
Understanding blocking, nonblocking, and asynchronous operations
Understanding event loop
Using asyncio
Summary

Book Details

ISBN 139781783288397
Paperback128 pages
Read More
From 1 reviews

Read More Reviews

Recommended for You

Python Parallel Programming Cookbook Book Cover
Python Parallel Programming Cookbook
$ 39.99
$ 10.00
Building RESTful Python Web Services Book Cover
Building RESTful Python Web Services
$ 39.99
$ 10.00
Python 3 Object-oriented Programming - Second Edition Book Cover
Python 3 Object-oriented Programming - Second Edition
$ 39.99
$ 10.00
Mastering Python Design Patterns Book Cover
Mastering Python Design Patterns
$ 26.99
$ 10.00
Python Data Analysis Book Cover
Python Data Analysis
$ 29.99
$ 10.00
Expert Python Programming - Second Edition Book Cover
Expert Python Programming - Second Edition
$ 35.99
$ 10.00