Skip to Main Content
A hybrid MPI+OpenMP programming mode can achieves high performance advantage over pure MPI for the application on SMP cluster because of the multi cores architecture. However, code development can be extremely difficult for the multi-granularity parallelism programming. This paper presents a reusable component model to make the programming become ease. The proposed component encapsulates a SPMD program that run as a process on SMP processors in a data parallel manner. The component provides a thread setting interface. By the interface, the component can be partitioned into multi fine-granularity threads and the threads can be running on multi core of a SMP processor. In order to avoiding the migrating of threads from one core to another frequently due to the scheduling of Linux, a thread binding interface of the component is also defined based on OpenMP facilities. With the interface, a thread in a component can be bind to core. As an example, the component model is used for FFT application based on a Linux server with an Intel Xeon E5506 processor. The experiments indicate that the component with thread binding supports can be used for high performance parallel computing applications.