Abstract

In this paper we present the main results achieved with the implementation of an efficient multithread library, hereinafter called DIA_Thread library, built on the top of a shared memory symmetric multiprocessor environment. The idea which led us to this project was the lack of a minimal common layer which, as far the multitasking concerns, should help us to make our applications portable among different architectures and/or operating systems. In fact, there are more and more multiprocessor machines available but it is still difficult to exploit the inherent parallelism of the underlying hardware inside a single user application because the available tools are often different in performance and semantics.This package is intendend to be portable. It consists of less than two thousands lines of C code and only a few lines of assembly code. Moreover bif effort was spent to design the main structures in order to have a package absolutely architecture independent, that is, the dependencies on the host operating system were minimized and no assumption was made on the processor configuration, both on their total number and their basic interprocess communication support.The DIA_Thread library basically provides few functions to activate and manage multiple flows of control with a little extra overhead. The useer application may be split in a virtually unlimited number of threads which will carry on their own task communicating each other by means of common memory areas protected by semaphores.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call