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

C++, Write a program to find the area under the curve y = f(x) between x = ...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Explain scientific applications and image processing, Scientific Applicatio...

Scientific Applications/Image processing Major of concurrent processing applications from science and other academic disciplines, are mostly have based on numerical simulations

What is a table pool, What is a table pool? A table pool (or pool) is ...

What is a table pool? A table pool (or pool) is used to join several logical tables in the ABAP/4 Dictionary.  The definition of a pool having of at least two key fields and a

What do you mean by complexity of an algorithm, What do you mean by complex...

What do you mean by complexity of an algorithm? The term complexity is used to define the performance of an algorithm. Typically performance is calculated in terms of time or s

Difference between aggregation and association, Difference between aggregat...

Difference between aggregation and association Aggregation is a particular form of association, not an independent concept. Aggregation acts semantic connotations. If two objec

State the difference between following, Q. State the difference between fo...

Q. State the difference between following. i. RAM and ROM ii. SRAM and DRAM iii. Dynamic and static MOS memories

101-key enhanced keyboard, With its newer range of PCs IBM introduced 101-k...

With its newer range of PCs IBM introduced 101-key Enhanced/Advanced keyboard.  This keyboard is fundamental keyboard behind modern QWERTY keyboards. This has function keys aligned

Define apple mobileme calendar, Define Apple MobileMe Calendar The Mobi...

Define Apple MobileMe Calendar The MobileMe Calendar is a web-based calendar that can be accessed from any computer linked to the Internet, Mac or Windows. What makes it more u

Describe the term- macros, Describe the term- Macros A macro is a key o...

Describe the term- Macros A macro is a key or name which signifies a series of commands or key strokes. Many applications allow single nominated key or single word on a keyboar

State the example of begin end, State the Example of begin end module s...

State the Example of begin end module sequential(); reg a; initial begin $monitor ("‰g a = ‰b", $time, a); #10 a = 0; #11 a = 1; #12 a = 0; #13 a = 1; #

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