Threads and processes

Hi, I come from hardware design so I will put a question that is silly for software developers... I just want to clarify how threads relate to processes.

Just to be clear, since the T1 has four cores capable of running 8 threads each, for a total of 32 threads, if I am on a system that runs several processes a time and they are not multithreaded, will the T1 be able of running 32 processes at the same time or not?

Thanks,

Fabrizio

[459 byte] By [fabrizio.fazzino] at [2007-11-26 6:06:20]
# 1

> Just to be clear, since the T1 has four cores capable

> of running 8 threads each, for a total of 32 threads

It's the other way 'round -- the T1 has eight physical processor cores capable of running four threads each. That's still a total of 32 threads, but there are twice as many execution resources available than in the configuration you mentioned :-).

> if I am on a system that runs several processes at a time

> and they are not multithreaded, will the T1 be capable

> of running 32 processes at the same time or not?

Yes, it certainly can. An operating system can schedule a different process on each thread; there is no requirement that two threads be from the same process.

...In fact, in the extreme case, I believe that the T1 could even run a different operating system on each thread!

Note that T1 is a throughput processor, so it can run and complete 32 threads of execution faster than any single- or dual-threaded processor out there. However, it probably won't complete an individualsingle-threaded program faster than a processor that is optimized for running single-threaded applications. (Think of the T1 as a 32-lane execution highway, not a single-lane racetrack.)

Java software tends to be thread-rich, so it shouldn't be any surprise that systems based on UltraSPARC T1 (so far, the SunFire T1000 and T2000) are breaking lots of records in Java benchmarks.

dweaver at 2007-7-6 13:34:53 > top of Java-index,Open Source Technologies,OpenSPARC...