|
[Sponsors] |
June 5, 2007, 11:23 |
Multi-core processor
|
#1 |
Guest
Posts: n/a
|
Hi everybody,
With the coming of multi-core processors sharing memory, is a protocole like MPI still interesting? Has anybody an experience on clusters of multi-core machines? Thanks a lot in advance. |
|
June 6, 2007, 01:27 |
Re: Multi-core processor
|
#2 |
Guest
Posts: n/a
|
Hello Jojo,
In order to take advantage from multi-core processors using languages like Fortran or C++, you have to write parallel programs using e.g. MPI. On clusters of multi-core machines you will request the number of processes with the mpirun command and the operating/MPI system distributes these processes among the available cores. Regards, Markus |
|
June 7, 2007, 08:34 |
Re: Multi-core processor
|
#3 |
Guest
Posts: n/a
|
I would think that to take advantage of multicore processors you need to write multithreaded code. Then the operating system schedules the threads transparently across the cores. Do Windows and Linux allow explicit user control of each core? One would still need MPI to explicitly schedule the equivalent of threads across machines. Am I wrong about this?
|
|
June 8, 2007, 03:22 |
Re: Multi-core processor
|
#4 |
Guest
Posts: n/a
|
It is sufficient to write MPI code. I have a workstation with two dual core opteron processors running Linux. In order to start a parallel program on the 4 available cores it is sufficient to use the MPI command
mpirun -np 4 executable As far as I know, the threads are a kind of 'lightweight' processes buried deep in the operating system, that will be accessed through the MPI layer. I don't think that it is possible to write multithreaded code using some high level language. |
|
June 8, 2007, 05:00 |
Re: Multi-core processor
|
#5 |
Guest
Posts: n/a
|
>>I don't think that it is possible to write multithreaded code using some high level language.
!!! There are several alternatives: e.g. with pthread library or OpenMP and ... |
|
June 8, 2007, 05:10 |
Re: Multi-core processor
|
#6 |
Guest
Posts: n/a
|
Jojo,
with multi-core processors, we need multithreading to use complete machine's power, so multithreading is essential In MPI library each process is executed as a thread so it works fine on multicore machines but on such machines there are more simpler solution, e.g. multithreading with HPF compiler, or OpenMP programming, or pthread library and other methods. A critical point: with MPI we usually divide global data to smaller sub-block so each process has good data locality (and so cache coherency), but with OpenMP and other multithreading lib. it is "traditional" (not essential, it is converted to a habit) to break loops and ... directly without increasing data locality and it is why we see that (in literature) MPI has better performance on shared memory machnes in contrast with OpenMP. |
|
June 8, 2007, 08:55 |
Re: Multi-core processor
|
#7 |
Guest
Posts: n/a
|
Hi, jojo,
I have a cluster consists of 6 workstations: 4 workstations have two dual-core CPUs and two workstations have one dual-core CPU, hence, a total of 20 CPU cores. All my projects involve free surface flow, hence, VOF-type solver. The drawback with a cluster with multi-core CPUs is that, memory bus may become the bottle-neck. phsieh2005 |
|
June 12, 2007, 15:49 |
Re: Multi-core processor
|
#8 |
Guest
Posts: n/a
|
Thanks to all of you for your answer.
|
|
December 3, 2013, 00:02 |
|
#9 |
Senior Member
Svetlana Tkachenko
Join Date: Oct 2013
Location: Australia, Sydney
Posts: 416
Rep Power: 15 |
No, you don't need multi-threading, as you can also use multiple processes (with MPI, Multi Process Communication).
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
problems after decomposing for running | alessio.nz | OpenFOAM | 7 | March 5, 2021 05:49 |
solving a conduction problem in FLUENT using UDF | Avin2407 | Fluent UDF and Scheme Programming | 1 | March 13, 2015 03:02 |
Superlinear speedup in OpenFOAM 13 | msrinath80 | OpenFOAM Running, Solving & CFD | 18 | March 3, 2015 06:36 |
DecomposePar unequal number of shared faces | maka | OpenFOAM Pre-Processing | 6 | August 12, 2010 10:01 |
Unaligned accesses on IA64 | andre | OpenFOAM | 5 | June 23, 2008 11:37 |