The following terms are used to describe the extent to which an existing program has been modified, or a new program designed, to operate in an SMP environment:
SMP safe | Avoidance in a program of any action, such as unserialized access to shared data, that would cause functional problems in an SMP environment. This term, when used alone, usually refers to a program that has undergone only the minimum changes necessary for correct functioning in an SMP environment. |
SMP efficient | Avoidance in a program of any action that would cause functional or performance problems in an SMP environment. A program that is described as SMP efficient is generally assumed to be SMP safe as well. An SMP-efficient program has usually undergone additional changes to minimize incipient bottlenecks. |
SMP exploiting | Adding features to a program that are specifically intended to make effective use of an SMP environment, such as multithreading. A program that is described as SMP exploiting is generally assumed to be SMP safe and SMP efficient as well. |