Programming model

Other examples include the POSIX Threads library and Hadoop's MapReduce.

But such behavior can be invoked from C syntax, by making what appears to be a call to a normal C library.

For example, the behavior of calls to the POSIX thread library cannot be understood in terms of the C language.

In parallel computing, the execution model often must expose features of the hardware in order to achieve high performance.

It is impractical to make a new language for each execution model, hence it is a common practice to invoke the behaviors of the parallel execution model via an API.