Affinity mask 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.

Multithreaded program involves multiple threads of control within a single program on single or multiple environments. In multithreaded programming model, a single process can have multiple, concurrent execution paths on CPUs. Thread... more

Multithreaded program involves multiple threads of control within a single program on single or multiple environments. In
multithreaded programming model, a single process can have multiple, concurrent execution paths on CPUs. Thread affinity benefit a
thread to run on a specific subset of processors. Multithreaded programming is written in many programming languages with an
improvement of setting an affinity to threads. Java supports to develop multithreaded programming, while it does not contain any method to
set an affinity for threads on CPU. This paper articulates the method to setting CPU affinity for threads in windows based SMP systems
using Java.