Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Parallel programming/execution

Reply
Thread Tools

Parallel programming/execution

 
 
Guest
Posts: n/a
 
      04-20-2005
Assume that we have a complex application with many math operations and it
is written in an ANSI C++ code and running on a single PC without any
problem.
Is there an automatic way to execute the same application on a cluster of
PCs to speed-up the execution? (How?)
Or does it has to be re-written in some special way to be executed on the
cluster?




 
Reply With Quote
 
 
 
 
Peter Hermann
Guest
Posts: n/a
 
      04-20-2005
In comp.software-eng Otal Hakswsi wrote:
> Assume that we have a complex application with many math operations and it
> is written in an ANSI C++ code and running on a single PC without any
> problem.
> Is there an automatic way to execute the same application on a cluster of
> PCs to speed-up the execution? (How?)
> Or does it has to be re-written in some special way to be executed on the
> cluster?


impossible to send direct mail: your email is incomplete.

--
--Peter Hermann(49)0711-685-3611 fax3758 http://www.velocityreviews.com/forums/(E-Mail Removed)-stuttgart.de
--Pfaffenwaldring 27 Raum 114, D-70569 Stuttgart Uni Computeranwendungen
--http://www.csv.ica.uni-stuttgart.de/homes/ph/
--Team Ada: "C'mon people let the world begin" (Paul McCartney)
 
Reply With Quote
 
 
 
 
Thomas Matthews
Guest
Posts: n/a
 
      04-20-2005
Otal Hakswsi wrote:

> Assume that we have a complex application with many math operations and it
> is written in an ANSI C++ code and running on a single PC without any
> problem.
> Is there an automatic way to execute the same application on a cluster of
> PCs to speed-up the execution? (How?)

You need to have synchronization across PCs, as well as communications.
The _standard_ C++ language has no facilities for this; perhaps your
platform does. Consult a newsgroup about your platform or operating
system, not news:comp.lang.c++

> Or does it has to be re-written in some special way to be executed on the
> cluster?

Off-topic for news:comp.lang.c++. Follow-ups set.
Read the FAQs and Welcome.txt below.

--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.comeaucomputing.com/learn/faq/
Other sites:
http://www.josuttis.com -- C++ STL Library book
http://www.sgi.com/tech/stl -- Standard Template Library
 
Reply With Quote
 
osmium
Guest
Posts: n/a
 
      04-20-2005
<Otal Hakswsi> wrote:

> Assume that we have a complex application with many math operations and it
> is written in an ANSI C++ code and running on a single PC without any
> problem.
> Is there an automatic way to execute the same application on a cluster of
> PCs to speed-up the execution? (How?)
> Or does it has to be re-written in some special way to be executed on the
> cluster?


Look for <concurrent c> on google.


 
Reply With Quote
 
Traveler
Guest
Posts: n/a
 
      04-20-2005
In article <426628df$0$10307$(E-Mail Removed)> , <Otal
Hakswsi> wrote:

>Assume that we have a complex application with many math operations and it
>is written in an ANSI C++ code and running on a single PC without any
>problem.
>Is there an automatic way to execute the same application on a cluster of
>PCs to speed-up the execution? (How?)
>Or does it has to be re-written in some special way to be executed on the
>cluster?


If your application already has lots of threads running concurrently,
it will speed up automatically on a cluster or multiprocessing system.
Otherwise, you will see no increase in performance. I believe some
Linux cluster environments already have tools that will take a C++
program and parallelize the threads automatically. Do a search on the
web for "Linux cluster parallel tools" and see what you can find.

Louis Savain

The Silver Bullet: Why Software Is Bad and What We Can Do to Fix it
http://users.adelphia.net/~lilavois/...eliability.htm
 
Reply With Quote
 
E. Robert Tisdale
Guest
Posts: n/a
 
      04-20-2005
Otal Hakswsi wrote:

> Assume that we have a complex application with many math operations
> and it is written in an ANSI C++ code
> and running on a single PC without any problem.
> Is there an automatic way to execute the same application
> on a cluster of PCs to speed-up the execution?


Generally, no.

> Or does it has to be re-written in some special way
> to be executed on the cluster?


We do this all the time.
We use a Single Program - Multiple Data (SPMD) programming model
and a standard Message Passing Interface (MPI) library:

http://www.netlib.org/utk/papers/mpi-book/mpi-book.html

http://www-unix.mcs.anl.gov/mpi/mpich/

http://www.mpi-softtech.com/


You might also ask this question
in the comp.parallel and comp.parallel.mpi newsgroups.
Of course, we will always be happy to answer any related questions here
about the C++ computer programming langiage itself.
 
Reply With Quote
 
Guest
Posts: n/a
 
      04-28-2005

<Otal Hakswsi> wrote in message
news:426628df$0$10307$(E-Mail Removed) u...
> Assume that we have a complex application with many math operations and it
> is written in an ANSI C++ code and running on a single PC without any
> problem.
> Is there an automatic way to execute the same application on a cluster of
> PCs to speed-up the execution? (How?)
> Or does it has to be re-written in some special way to be executed on the
> cluster?
>

The programming language best suited to solving this problem is Ada which
has facilities for both distributed processing and concurrency built into the
design of the language.

You could design the architecture you need with Ada and incorporate your
C code into that architecture. Ada is very friendly with C. There are
built-in facilities for mixing your C code with Ada.

The Ada Distributed Systems Annex allows you to distribute an application
over multiple platforms while maintaining consistency of the overall design.
Ada tasking allows you to have multiple active objects on each single
processor. The language also includes excellent facilities for mutual
exclusion.

This approach, using Ada for the architecture while coding low-level
source code in C has turned out to be a very powerful approach to
solving problems of exactly the kind that you describe.

Richard Riehle


 
Reply With Quote
 
 
 
Reply

Thread Tools

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 On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Parallel in, Parallel out shift register Vivek Menon VHDL 0 06-10-2011 10:15 PM
Parallel in, Parallel out shift register Vivek Menon VHDL 5 06-08-2011 03:56 PM
Parallel port control with USB->Parallel converter Soren Python 4 02-14-2008 03:18 PM
How To Build Parallel Port Prototypes Silverstrand Front Page News 1 10-14-2005 05:33 AM
SocketPro -- A framework implemented on batching/queue, asynchrony and parallel computaion with online compressing Yuancai \(Charlie\) Ye ASP .Net 0 06-07-2004 02:16 PM



Advertisments