The low-level facilities examined previously are quite flexible and very powerful. However, they leave a lot to be desired in terms of ease of use. Julia, therefore, has built a set of higher-level programming tools that make it much easier to write parallel code.
Programming parallel tasks
The @everywhere macro
The @everywhere macro is used to run the same code in all the processes in the cluster. This is useful for setting up the environment for running the actual parallel computation later. The following code loads the Distributions package and calls the rand method on all the nodes simultaneously:
julia> using Pkg
julia> Pkg.add("Distributions")
...
julia> using Distributions
julia> @everywhere using...