Book Image

Python Parallel Programming Cookbook - Second Edition

By : Giancarlo Zaccone
Book Image

Python Parallel Programming Cookbook - Second Edition

By: Giancarlo Zaccone

Overview of this book

<p>Nowadays, it has become extremely important for programmers to understand the link between the software and the parallel nature of their hardware so that their programs run efficiently on computer architectures. Applications based on parallel programming are fast, robust, and easily scalable. </p><p> </p><p>This updated edition features cutting-edge techniques for building effective concurrent applications in Python 3.7. The book introduces parallel programming architectures and covers the fundamental recipes for thread-based and process-based parallelism. You'll learn about mutex, semaphores, locks, queues exploiting the threading, and multiprocessing modules, all of which are basic tools to build parallel applications. Recipes on MPI programming will help you to synchronize processes using the fundamental message passing techniques with mpi4py. Furthermore, you'll get to grips with asynchronous programming and how to use the power of the GPU with PyCUDA and PyOpenCL frameworks. Finally, you'll explore how to design distributed computing systems with Celery and architect Python apps on the cloud using PythonAnywhere, Docker, and serverless applications. </p><p> </p><p>By the end of this book, you will be confident in building concurrent and high-performing applications in Python.</p>
Table of Contents (16 chapters)
Title Page

Running processes in the background

Running in the background is a mode of execution that is typical of some programs that do not require the presence or intervention of the user, and which may be concurrent to the execution of other programs (and therefore, it is only possible in multitasking systems), resulting in the user being unaware about it. Background programs typically perform long or time-consuming tasks such as peer-to-peer filesharing programs or defragmentation of filesystems. Many OS processes also run in the background.

In Windows, programs in this mode (scanning antiviruses or OS updates) often place an icon in the system tray (the area of the desktop next to the system clock) in order to signal their activity and adopt behaviors that reduce the use of resources so as to not interfere with the user's interactive activities, such as slowing...