Parallel Programming with Python
- Length: 107 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2014-07-14
- ISBN-10: 1783288396
- ISBN-13: 9781783288397
- Sales Rank: #2782464 (See Top 100 Books)
Develop efficient parallel systems using the robust Python environment
Overview
- Demonstrates the concepts of Python parallel programming
- Boosts your Python computing capabilities
- Contains easy-to-understand explanations and plenty of examples
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 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.
What you will learn from this book
- 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
Approach
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.
Who this book is written for
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
Chapter 1: Contextualizing Parallel, Concurrent, and Distributed Programming
Chapter 2: Designing Parallel Algorithms
Chapter 3: Identifying a Parallelizable Problem
Chapter 4: Using the threading and concurrent.futures Modules
Chapter 5: Using Multiprocessing and ProcessPoolExecutor
Chapter 6: Utilizing Parallel Python
Chapter 7: Distributing Tasks with Celery
Chapter 8: Doing Things Asynchronously