Note that there are some explanatory texts on larger screens.

plurals
  1. POThreads & Processes Vs MultiThreading & Multi-Core/MultiProcessor : How they are mapped?
    primarykey
    data
    text
    <p>I was very confused but the following thread cleared my doubts:</p> <p><a href="https://stackoverflow.com/questions/680684/multi-cpu-multi-core-and-hyper-thread">Multiprocessing, Multithreading,HyperThreading, Multi-core</a></p> <p>But it addresses the queries from the hardware point of view. I want to know how these hardware features are mapped to software?</p> <p>One thing that is obvious is that there is no difference between MultiProcessor(=Mutlicpu) and MultiCore other than that in multicore all cpus reside on one chip(die) where as in Multiprocessor all cpus are on their own chips &amp; connected together.</p> <p>So, mutlicore/multiprocessor systems are capable of executing multiple processes (firefox,mediaplayer,googletalk) at the "sametime" (unlike context switching these processes on a single processor system) Right?</p> <p>If it correct. I'm clear so far. But the confusion arises when multithreading comes into picture. </p> <ol> <li><p>MultiThreading "is for" parallel processing. right?</p></li> <li><p>What are elements that are involved in multithreading inside cpu? diagram? For me to exploit the power of parallel processing of two independent tasks, what should be the requriements of CPU?</p></li> <li><p>When people say context switching of threads. I don't really get it. because if its context switching of threads then its not parallel processing. the threads must be executed "scrictly simultaneously". right?</p> <p>My notion of multithreading is that: Considering a system with single cpu. when process is context switched to firefox. (suppose) each tab of firefox is a thread and all the threads are executing strictly at the same time. Not like one thread has executed for sometime then again another thread has taken until the context switch time is arrived.</p></li> <li><p>What happens if I run a multithreaded software on a processor which can't handle threads? I mean how does the cpu handle such software?</p></li> <li><p>If everything is good so far, now question is HOW MANY THREADS? It must be limited by hardware, I guess? If hardware can support only 2 threads and I start 10 threads in my process. How would cpu handle it? Pros/Cons? From software engineering point of view, while developing a software that will be used by the users in wide variety of systems, Then how would I decide should I go for multithreading? if so, how many threads?</p></li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload