Illustration of the subroutine calling sequence of the MSCALE facility; showing the information flow of a typical energy (ENER), minimization (MINI), or normal mode analysis (DIAG) calculation. The broadcast and receive routines handle both coordinate and energy/gradient communication. Routines in blue are executed on the main processor (client) while those in yellow take place on the subsystems (servers). Thin black lines represent information being passed between subroutines where the thick black lines represent MPI calls and the sharing of information between the controlling client process and the server process, which acts only as an energy, force, or Hessian engine. The EMSCALE subroutine is called twice from CHARMM’s main energy routine, once at the beginning to send the data to the servers and again at the end to receive the energy, force, etc. terms from them. Therefore, the servers and clients are performing calculations in parallel. Further details of how MSCALE is implemented is given in the .