CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Multi-core processor

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 5, 2007, 11:23
Default Multi-core processor
  #1
jojo
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.
  Reply With Quote

Old   June 6, 2007, 01:27
Default Re: Multi-core processor
  #2
Markus Lummer
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

  Reply With Quote

Old   June 7, 2007, 08:34
Default Re: Multi-core processor
  #3
Jonas Holdeman
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?
  Reply With Quote

Old   June 8, 2007, 03:22
Default Re: Multi-core processor
  #4
Markus Lummer
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.

  Reply With Quote

Old   June 8, 2007, 05:00
Default Re: Multi-core processor
  #5
rt
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 ...

  Reply With Quote

Old   June 8, 2007, 05:10
Default Re: Multi-core processor
  #6
rt
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.

  Reply With Quote

Old   June 8, 2007, 08:55
Default Re: Multi-core processor
  #7
phsieh2005
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

  Reply With Quote

Old   June 12, 2007, 15:49
Default Re: Multi-core processor
  #8
jojo
Guest
 
Posts: n/a
Thanks to all of you for your answer.
  Reply With Quote

Old   December 3, 2013, 00:02
Default
  #9
Senior Member
 
Svetlana Tkachenko
Join Date: Oct 2013
Location: Australia, Sydney
Posts: 416
Rep Power: 15
Svetlana is on a distinguished road
No, you don't need multi-threading, as you can also use multiple processes (with MPI, Multi Process Communication).
Svetlana is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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


All times are GMT -4. The time now is 03:05.