|
13.2.2 Compiling in a Multiprocessing EnvironmentPreparing code to execute in more than one processor involves synchronization. Values which are needed in one processor may be computed in another. Changes in shared memory must be done carefully. An interesting example of parallel execution in a multiprocessing environment is execution of the compiler itself. In some environments, the compiler is the major software process. One technique for producing code for parallel processing environments is to take a compiler which produces code in a non-parallel processing environment and write a scheduler for the produced code to execute on parallel execution units. This can be done automatically, using the best developed techniques and heuristics, or in interactive mode with the (knowledgeable) programmer hand-tuning the automatically produced code. |