Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

are the multicore servers behave like SMP servers?

sujitkale
Beginner
373 Views
consider 2 machines.
1) There is SMP machine which is having 4 single core processors.
2) There is a multi core machine 4 sockets and each socket has dual core processor. so 4 x 2 = 8 core machine.

Now for multicore machine if you want to utilize all the cores you will have to write the program using TBB or OpenMP or Java /.Net multithreading .

Now after execution of my multi core program; normal processes are running [OS level or User level]. then will the above hardware mentioned in 2) will work like 4 CPUSMP server mentioned in 1)or all the processes are distributed among the cores?

Does operating systems like windows support multi core? does it utilize all the cores?

0 Kudos
5 Replies
fraggy
Beginner
373 Views
Quoting - sujitkale
consider 2 machines.
1) There is SMP machine which is having 4 single core processors.
2) There is a multi core machine 4 sockets and each socket has dual core processor. so 4 x 2 = 8 core machine.

Now for multicore machine if you want to utilize all the cores you will have to write the program using TBB or OpenMP or Java /.Net multithreading .

Now after execution of my multi core program; normal processes are running [OS level or User level]. then will the above hardware mentioned in 2) will work like 4 CPUSMP server mentioned in 1)or all the processes are distributed among the cores?

Does operating systems like windows support multi core? does it utilize all the cores?
Windows utilize all the core (up to 4096) for the home version.
Difference is all about performance.
It's better to have 1 processor with 8 core than 4 processor with 2 core :p




0 Kudos
jimdempseyatthecove
Honored Contributor III
373 Views

The majority of boards with multiple sockets carrying either single core or multi-core processors are SMP, there may be some odd ones that do not. Generally all the processors in the sockets are the same model, although I am sure someone has some odd combinations that happen to work. Both your 1 and 2 case describe SMP (even a 1 socket multi-core system would be considered SMP).

Different operating systems may place a restriction on the number of sockets as well as may place a restriction on the number of cores per socket. I seem to recall that Windows XP Home edition has a restriction on 2 sockets, no limit on number of cores per socket (confirm this on the microsoft.com website if this is an issue for you).Windows XP Pro has a higher number of sockets/cores, Windows Server various versions have various restrictions. Linux distros may have similar options. Make sure the O/S you choose is compatable with the platform you have.

Both OpenMP and TBB "should be" immune to the number of hardware threads. However, most platforms and O/S may never have supported more than 64 hardware threads and Windows 7, I believe, may have an upper limit on 256 (255?) hardware threads. You might experience some problems with the current versions of OpenMP and TBB on a system 10 years from now with more than 256 hardware threads. i.e. you may have to update your threading tool. (Yes, there are systems with many more processors than 256, but these are generally clusters and not SMP systems)

The application programming interface for both OpenMP and TBB are not sensitive to the number of hardware threads. So your source code may not change, but you may have to recompile or at least re-link with the updated runtime system.

Jim Dempsey
0 Kudos
TimP
Honored Contributor III
373 Views
You would need a Server version of Windows to support a 4 socket platform, multi-core or not. Windows uses all the cores as individual CPUs, up to the limit you pay for, but does not deal with the differences between multi-core and multiple single core machine. That should come with Windows 7. The affinity support in Intel OpenMP run-time library does its best to help, in the mean time.
Evidently, for a new 8 processor system, you would choose quad core, which will save you money on hardware, power consumption, and Windows licensing. With linux and other operating systems, you would not face these problems of Windows.
I don't know why you editorialize about which multi-core programming models you prefer, without explaining reasons. The choices you mention may be excellent, depending on the application. Multiple socket platforms perform better with MPI, where that choice is available.
0 Kudos
jimdempseyatthecove
Honored Contributor III
373 Views
Quoting - fraggy
Windows utilize all the core (up to 4096) for the home version.
Difference is all about performance.
It's better to have 1 processor with 8 core than 4 processor with 2 core :p





The current line of Core i7 has a 4 core/8 hardware thread (HT) processor, it is not 1 processor 8 core.
As to ifa

one processor 4 core8 hardware thread system
with 2 L2 caches and maybe one L3 cache

is better than a

4 processor each with 2 cores and 2 hardware threads (8 total hardware threads)
with 4 or 8L2 caches and maybe 4 L3 caches

is entirely up to the application. Some applications will run faster on the former while many other applications will run faster on the latter.

Jim Dempsey
0 Kudos
rreis
New Contributor I
373 Views
Quoting - fraggy
Windows utilize all the core (up to 4096) for the home version.
Difference is all about performance.
It's better to have 1 processor with 8 core than 4 processor with 2 core :p





that is not necessarely true. It depends in fact of your problem. I've seen machines with 2x2core have better performance than a quadcore because of memory access to RAM and cache. has everything, YMMV :)
0 Kudos
Reply