NativePthread Research Papers - Academia.edu (original) (raw)

A parallel programming model is a set of software technologies to articulate parallel algorithms and match applications with the underlying parallel systems. It surroundings with applications, languages, libraries, compilers,... more

A parallel programming model is a set of software technologies to articulate parallel algorithms and
match applications with the underlying parallel systems. It surroundings with applications, languages, libraries,
compilers, communication systems, and parallel I/O. Programmer have to decide a proper parallel programming
model or a form of mixture of them to develop their parallel applications on a particular platform. Multithreaded
programming is written in many programming languages with usually increased performance. Thread libraries
can be implicit or explicit. OpenMP, MPI, Intel Threading Building Blocks (TBB) are implicit thread libraries.
Pthreads and Windows Threads are explicit thread libraries. Threads can be accessed by different programming
interfaces. Many software libraries provide an interface for threads usually based on POSIX Threads, Windows
threads, OpenMP, MPI and Threading Building Blocks frameworks. These frameworks provide a different level
of abstraction from the underlying thread implementation of the operating system. The general parallelism is the
execution of separate tasks in parallel. These multithreading libraries provide difference features. For example,
Java support flexible and easy use of threads; yet, java does not have contained methods for thread affinity to
the processors; because, green threads are scheduled by the virtual machine itself where as Windows or POSIX
thread can fix thread affinity. The native threads are scheduled by the operating system that is hosting the virtual
machine. This research finding carry overview aspects on how Java can facilitate Win32, POSIX, TBB threads
through JNI, which enables Java threads, to add other threading library features in Java.