Explore chapters and articles related to this topic
High-Performance Computing for Fluid Flow and Heat Transfer
Published in W.J. Minkowycz, E.M. Sparrow, Advances in Numerical Heat Transfer, 2018
Another concept that is important in parallel processing is called multiprocessing. Multiprocessing refers to simultaneous processing of more than one task by different processors. There are generally two ways to handle multiprocessing: multiprocessors and multicomputers. In a multiprocessor system, many processors work simultaneously using a common shared memory. In a multicomputer, there is a group of processors in which each of the processors has a sufficient amount of local memory. The communication between the processors is through messages. This is known as distributed processing.
M
Published in Phillip A. Laplante, Dictionary of Computer Science, Engineering, and Technology, 2017
multiprocessing a modality by which two or more processes are concurrently executed by separate processors that typically have access to a common memory. Compare with multiprogramming. See multitasking, time sharing.
Hiroshima and Nagasaki Verification of an Unstructured Mesh-Based Transmutation Toolkit
Published in Nuclear Technology, 2021
Tucker C. McClanahan, Tim Goorley, John Auxier
Python’s multiprocessing package allows the code to leverage the full extent of the processors on the machine by spawning individual subprocesses instead of threads.40 Multiprocessing mode is the preferred mode of operation if the user has a smaller calculation and is working on one computer because the overhead associated with the multiprocessing package is much less than the OpenMPI overhead. For calculations using Python’s multiprocessing package, the inputs for a transmutation calculation, such as the flux, CINDER material definition, and mesh element number, are passed as an input dictionary into a queue. Inputs for mesh elements whose flux is zero are not put into the queue, and their mesh element number and material number are recorded in lists for later processing. Once the queue has been constructed, a user-defined number of subprocesses are initialized and each subprocess takes an input dictionary from the queue and executes a CINDER2008 run. Each subprocess loads in the CINDER2008 output files and writes the results to the subprocess’ HDF5 database. The subprocesses continue to process inputs from the queue until the queue is empty.