introduction to concurrency and parallelism the following diagram illustrates the basic idea behind parallelisma main program fires off three subtasks each of which runs in parallel the main program then waits for all the subtasks to complete before combining together the results from the subtasks before it can continue distribution when implementing concurrent or parallel solutionwhere the resulting processes run is typically an implementation detail conceptually these processes could run on the same processorphysical machine or on remote or distributed machine as such distributionin which problems are solved or processes executed by sharing the work across multiple physical machinesis often related to concurrency and parallelism howeverthere is no requirement to distribute work across physical machinesindeed in doing so extra work is usually involved to distribute work to remote machinedata and in many cases codemust be transferred and made available to the remote machine this can result in significant delays in running the code remotely and may offset any potential performance advantages of using physically separate computer as result many concurrentparallel technologies default to executing code in separate process on the same machine grid computing grid computing is based on the use of network of loosely coupled computersin which each computer can have job submitted to itwhich it will run to completion before returning result