# Process Communication Efficiency

Process Communication Efficiency measures the time cost introduced by process MPI communication. It ignores any MPI within OpenMP parallel regions, which are considered as contributing to thread inefficiency.

Process Communication Efficiency measures the cost of time in process MPI due to:

• time in process MPI due to data transfer, including time spent waiting in MPI due to data transfer on other processes
• time in MPI due to MPI dependencies. Additional time in MPI can occur due to imbalance of useful work over the processes, this contributes to Process Load Balance Efficiency.

It has sub-metrics of Process Transfer Efficiency and Process Serialization Efficiency, which respectively identify if inefficiency results from data transfer over the network or is due to dependencies.

$Process Communication Efficiency = \frac{Max(OpenMP + Serial Useful)}{Runtime} = Process\_TE + Process\_SE$

In order to fully understand the formulas, you may also visit the glossary of the metrics terms.