Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Confusion over Multi Threading Post 302930767 by jimthompson on Wednesday 7th of January 2015 06:17:25 AM
Old 01-07-2015
Confusion over Multi Threading

Hi, I am trying to get my head round Multi Threading and I have a few queries to try and clear up my confusion

Q1. Is multi threading a hardware / chip level concept, an OS level or an application level concept ? I am trying to work out where SMT architecture fits in.

Q2. What's the multi threading position in relation to Unix, Linux and Windows ?

Q3. Is multi threading only in relation to application processes or is it for OS processes as well ? I am trying to differentiate multi threading from the older CPU concepts of timeslicing, round robin etc

My understanding is that you can have multi processing systems which switch between or execute processes in parallel. However multi threading takes this a step further in that a process can be broken down into threads and the processor execute the individual threads ( again via switching or parallel depending on the number of processors / cores you have )

Q4. Are processors therefore specifically designed either to execute full processes, threads or both ? Can a single processor execute a mix of full processes and threads ? i.e. does a processor operate only at either a process level or a thread level ?

Q5. What's the difference between a single processor with multi cores and a multi processor with single core processors ?

Q6. Are most modern processors today, multi thread capable processors ( or is it the OS which determines this ). Does the processor have to be specifically set to multi threading ?

any help greatly appreciated
Jim
 

10 More Discussions You Might Find Interesting

1. Programming

Multi threading using posix thread library

hi all, can anyone tell me some good site for the mutithreading tutorials, its application, and some code examples. -sushil (2 Replies)
Discussion started by: shushilmore
2 Replies

2. Programming

Multi-threading questions

I've been doing some reading lately about threading (Posix threads) and I'm really curious about a couple things that I've read. I'm not sure if many people here have threading experience, but I thought it would be nice to be able to discuss some questions about it. (For the record, I did... (1 Reply)
Discussion started by: DreamWarrior
1 Replies

3. Programming

Multi threading using fork

Hi, I have written a code which will run a set of process using fork. I want to know from You how can i start another job when one of my job in my loop is completed My code is #include<stdio.h> #include<ctype.h> main() { int pid,cid; ChildProcess(); ... (1 Reply)
Discussion started by: sureshraju_ma
1 Replies

4. Programming

Regarding Multi-Threading

Hi All, Here's my question I have a 385 MB file containing 5,000,000 records. I need to read from the file and load into a table. Initially i thought of doing it in a single thread (execution of a single program) but when calculated accounted 16 hours of time on a standard benchmark. Hence... (5 Replies)
Discussion started by: matrixmadhan
5 Replies

5. Programming

Multi threading?

I am not sure if multi threading is the correct term, but here is what I am trying to do. I have a while loop that displays the number 1, pauses, displays the number 2, pauses , displays the number 3 ad infinitum. It just keeps counting. While the screen displays the sequence of numbers counting... (4 Replies)
Discussion started by: enuenu
4 Replies

6. Programming

Multi-threading-- calling same function through different threads

Sir, Can I call same function in the start routines of different Threads. I have created two different threads....and wanna call same function from both threads....is it possible??? Also can I fork inside a thread??? (1 Reply)
Discussion started by: arunchaudhary19
1 Replies

7. Programming

Multi-threading

Hi, If we create 10 threads to invoke runQuery method at same time, Will queryProcessor will be overriden sometime or 10 different copies will be created? We are not using any sunchronzation mechnism in runQuery(). so there is not gurantee on QueryProcessor class variables right OR each 10... (1 Reply)
Discussion started by: jramesh1
1 Replies

8. Programming

Multi-threading

In this piece i implemented the gossip method. The first thread is invoked from inside the (msg is first sent from node -1 to 0 from main()) and the other threads are invoked from inside of the thread function itself. I used two mutexes and a condition variable to control the synchronization. ... (4 Replies)
Discussion started by: saman_glorious
4 Replies

9. UNIX for Beginners Questions & Answers

Does UNIX support multi-Threading ?

Not just background process running ... but im looking if unix has any multi-threading concept like in Java, C# ... if not present, can you pls share the nearest feature in unix that is close to multi-threaded concept (3 Replies)
Discussion started by: i4ismail
3 Replies

10. UNIX for Beginners Questions & Answers

Multi threading in UNIX

Hi, Can we apply multi threading in Unix. I am using bash shell. We have a generic script to load the data to table based on file input. For each file there is an individual table to load. For each file found in directory I want to load the data in parallel to target table using ... (3 Replies)
Discussion started by: vedanta
3 Replies
pset_ctl(2)							System Calls Manual						       pset_ctl(2)

NAME
pset_ctl() - processor set control SYNOPSIS
DESCRIPTION
The function provides a means to query the system processor set configuration and assignment information. The request argument specifies what information is needed for the pset processor set. The following request values are supported: Return the ID of the processor set binding for the calling thread. The pset and id arguments are ignored. Return the ID of the first locality domain contributing to the processor set pset. The id argument is ignored. Return the ID of the first processor in the processor set pset that is in the proximity of the processor specified by id. Even when the processor given by id is enabled, the return value will be -1 if none of the proximate processors contribute to the processor set pset. If the processor given by id is not enabled, -1 is returned. See mpctl(2) for details on proximate processors. Return the ID of the first processor set in the system. The pset and id arguments are ignored. Return the ID of the first processor in the processor set pset. It will return -1 if the processor set is empty. Any processors in the processor set that is in transition are ignored. The id argument is ignored. Return the ID of the next locality domain after the locality domain specified in id that contributes to the processor set pset. Typically, is called to determine the first locality domain in a processor set. is then called in a loop (until the call returns -1) to determine the IDs of the remaining locality domain in the processor set. Return the ID of the next processor in the processor set pset that is in the proximity of the processor specified by id. Typically, is called to determine the first proximate processor. is then called in a loop (until the call returns -1) to deter- mine the IDs of the remaining proximate processors. Return the ID of the next processor set in the system after pset. The id argument is ignored. Typically, is called to determine the first processor set. is then called in a loop (until the call returns -1) to determine the IDs of the remaining processor sets in the system. Return the ID of next processor in the processor set pset after the processor specified in id. Typically, is called to determine the first processor in a processor set. is then called in a loop (until the call returns -1) to determine the IDs of the remaining processors in the processor set. Return the number of locality domains that have at least one processor assigned to the processor set pset. The id argument is ignored. Return the number of processors assigned to the processor set pset that are in the proximity of the processor specified by id. Even when the processor given by id is enabled, the return value will be 0 if none of proximate processors contribute to the processor set pset. If the processor given by id is not enabled, -1 is returned. Return the current number of processor sets in the system. It will always be greater than or equal to one. The pset and id arguments are ignored. Return the number of processors assigned to the processor set pset. Any processors in the processor set that is in transition are not included. The id argument is ignored. Return number of processors contributed by the locality domain specified by id to the processor set pset. Return the ID of the processor set assigned for the processor specified in id. If the processor is not enabled or is in transition from one processor set to another, -1 is returned with an error. The pset argument is ignored. Logical Processor and Processor Core Information On systems with the Hyper-Threading (HT) feature enabled, each processor core may have more than one hyper-thread per physical processor core. When hyper-threading is enabled at the firmware level, each hyper-thread is represented to the operating system and applications as a logical processor (LCPU). Hence the basic unit of any topology information is a logical processor. However, some applications may want to get the system topology information at the physical processor core level. Returns the number of processor cores assigned to the processor set pset. Any processor cores in the processor set that are in transition are not included. The id argument is ignored. Returns the ID of the first processor core in the processor set pset. It will return -1 if the processor set is empty. Any processor cores in the processor set that is in transition are ignored. The id argument is ignored. Returns the ID of the next processor core in the processor set pset after the processor specified in id. Typically, is called to determine the first processor core in a processor set. is then called in a loop (until the call returns -1) to determine the IDs of remaining processor cores in the processor set. Returns the number of enabled processor cores assigned to the processor set pset. Any user may query the system processor set topology using the function. Use with name to see if the processor set functionality is supported by the underlying HP-UX operating system version. RETURN VALUE
returns a value based on on successful completion. Success. The value is based on the request. Failure. is set to indicate the error. ERRORS
sets to one of the following values if the corresponding condition is detected. The request is invalid. The specified processor set pset, or the processor or the locality domain specified by id is invalid. The request is and there is no other processor set after pset, or the request is and there is no other processor after id in pset, or the request is and there is no other locality domain after id in pset, or the request is and there is no other proxi- mate processor after id in pset. The request is or and the processor specified by id is not enabled. The processor set functionality is not supported by the underlying HP-UX version. EXAMPLES
Get total count and IDs of all processor sets in the system. AUTHOR
was developed by HP. SEE ALSO
psrset(1M), mpctl(2), pset_assign(2), pset_bind(2), pset_create(2), pset_destroy(2), pset_getattr(2), pset_setattr(2), sysconf(2), privi- leges(5). pset_ctl(2)
All times are GMT -4. The time now is 04:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy