OpenMP was designed to be a flexible standard, easily implemented across different platforms. As mentioned above, the standard is comprised of four distinct parts: control structures, data environment, synchronization, and run time library. In the following sections we briefly describe the design objectives for each of these.