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 are the three basic types of web documents, What are the three basic t...

What are the three basic types of web documents? There are three fundamental types of web documents: Static, Dynamic and Active. STATIC A static web document resides i

Illustrate programming based on message passing, Q. Illustrate Programming ...

Q. Illustrate Programming Based on Message Passing? Since we know programming model based on message passing employs high level programming languages such as C/C++ along with a

Identifying constraints between objects, Identifying Constraints between Ob...

Identifying Constraints between Objects In a system, there are few boundaries to work on. Boundaries or Constraints are functional dependencies among objects which are not con

Explain what is high debugging?, It is helped to recure the bugs. A program...

It is helped to recure the bugs. A program has problem that time this debugging is helped to solve the bugs is simply, this is the method of the recure bugs in the programming lang

Example of calculate maximum access time & cost of switch, Calculate the ma...

Calculate the maximum access time that can be permitted for the data and control memories in a TSI switch with a single input and single output trunk multiplexing 2500 channels. Al

What is the use of buffer register, What is the use of buffer register? ...

What is the use of buffer register? The buffer register is used to avoid speed mismatch among the I/O device and the processor.

Floating-point processing and instruction encoding, write a program that e...

write a program that evaluate the following arithmetic expression: ((A+B) /C) * ((D-A)+E) assign test value to the variable and display the resulting value.

Types of reasoning - first-order logic, Types of reasoning - First-order lo...

Types of reasoning - First-order logic: Atleast five types of reasoning can be acknowledged here. • Firstly, why and how do we will think for the killer usually left a silk

What are two verification points for use with web sites, 1. Use the Web Sit...

1. Use the Web Site Scan verification point to check the content of your Web site with each revision and make sure that changes have not resulted in defects. 2. Use the Web Sit

#logic function, Minimize the following logic function using K-maps and rea...

Minimize the following logic function using K-maps and realize using NAND and NOR gates. F(A,B,C,D) =?_m(1,3,5,8,9,11,15) + d(2,13).

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