Resource Sharing in Parallel Computing
The Wolfram Language's symbolic parallel computation architecture provides a uniquely convenient mechanism for communicating and sharing resources between parallel processes. Its foundation is a virtual shared memory model, implemented on top of WSTP-based message passing, running seamlessly on arbitrary clusters or networks of processors.
Shared Variables and Functions
SetSharedVariable — set symbols to share values across subkernels
SetSharedFunction — set functions to share downvalues across subkernels
$SharedVariables, $SharedFunctions — lists of shared variables, functions
UnsetShared — stop sharing variables or functions
Synchronization
CriticalSection — synchronize concurrent access to a shared resource
Broadcasting Definitions
DistributeDefinitions — distribute definitions to all parallel subkernels
ParallelNeeds — load the same package into all parallel subkernels
ParallelEvaluate —evaluate an expression on all parallel subkernels
ClearDistributedDefinitions — clears previously distributed definitions