The concept of thread-parallel computing, Computer Engineering

Assignment Help:

The Concept of Thread

Thread is a chronological flow of control within a process. A process can include one or more threads. Threads have their own register values and program counter, but they are split the memory space and other resources of the procedure. Each process always starts with a single thread. Through the implementation of other threads may be produced as and when necessary. Like processes, each thread has an implementation state (ready, running, terminated or blocked). A thread has entrance to the memory address space and resources of its process. Threads have related life cycles as the processes do. A single processor system can maintain concurrency by switching implementation among two or more threads. A multi-processor system can hold parallel concurrency by executing a separate thread on each processor. There are three basic process in concurrent programming languages for terminating and creating threads:

Unsynchronised creation and termination:  In this method threads are terminated and created using library functions such as, START_PROCESS, CREATE_THREAD, CREATE_PROCESS and START_THREAD. As a effect of these function calls a new process or thread is produced and starts consecutively independent of its parents.

Unsynchronised creation and synchronized termination:  This method uses two instructions: JOIN and FORK. The FORK instruction creates a new thread or process. When the parent needs the child's(thread or process) result, it calls JOIN instruction. At this junction two threads (processes) are synchronised.

Synchronised creation and termination:  The most commonly system construct to implement synchronization is

COBEGIN...COEND. The threads among the COBEGIN...COEND construct are executed in similar. The termination of parent-child is suspended until all child threads are ended.

We can think of a thread as basically a inconsequential process. However, threads present some advantages over processes. The advantages of this are:

i) It takes very less time to terminate and create a new thread than to Terminate and Create a process. The reason being that a newly terminate thread uses the current process address space.

ii) It obtains less time to switch between two threads within the similar process, partly because the recently created thread uses the current process address space.

iii) Less communication overheads -- communicating between the threads of one process is easy because the threads share among former entities the address space. So, data produced by one thread is directly available to all the other threads.


Related Discussions:- The concept of thread-parallel computing

What does "wire_read: unexpected eof" mean in gimp, This error message shou...

This error message should say something like "the plug-in (or the major GIMP app) I was talking to has existed before returning any results, so I suppose that it has crashed."

What are event and its types, What are event and its types? An event is...

What are event and its types? An event is an occurrence at a point in time, like user depresses left button. Event happens instantaneously with regard to time scale. Type

Explain two dimensional array, Explain two dimensional array In two dim...

Explain two dimensional array In two dimensional arrays, array is a pointer-to-pointer-to-data type.: at the first level, it points to a block of pointers, one for each row. Th

What is algorithm design technique, What is Algorithm Design Technique? ...

What is Algorithm Design Technique? An  algorithm  design  method  is  a  general  approach  to  solving  problems  algorithmically  that  is applicable to a variety of proble

Dbms, What is meant by concurrent execution of database transactions in a m...

What is meant by concurrent execution of database transactions in a multi user system

Define external layer, Define external layer? The external layer is the...

Define external layer? The external layer is the plane at which the user sees and interacts with the data, that is, the data format in the user interface.  This data format is

What is exact and approximation algorithm, What is Exact and Approximation ...

What is Exact and Approximation algorithm? The principal decision to choose solving the problem exactly is called exact algorithm. The   principal decision to choose solving th

Create a system dynamic model, Easter Island is a small island (about 150 s...

Easter Island is a small island (about 150 square miles in area) in the Pacific Ocean about 2,000 miles from South America. In about 400 AD there was a small population of settlers

What are the exceptions encountered for fp operation, What are the exceptio...

What are the exceptions encountered for FP operation? The exceptions encountered for FP operation are overflow, underflow. /0, inexact and invalid values.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd