473,382 Members | 1,404 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

Parallel programming/execution

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?


Jul 23 '05 #1
6 2521
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 ic****@csv.ica.uni-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)
Jul 23 '05 #2
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
Jul 23 '05 #3
<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.
Jul 23 '05 #4
In article <42***********************@news.optusnet.com.au> , <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
Jul 23 '05 #5
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.
Jul 23 '05 #6

<Otal Hakswsi> wrote in message
news:42***********************@news.optusnet.com.a 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
Jul 23 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: mmf | last post by:
Hi! I am using Python for CGI scripting. I had the following script: #!/usr/bin/python import sys print 'Content-type: text/html\r\n\r\n' print 'starting...' sys.stdout.flush() x = 999999
10
by: Joshua Nussbaum | last post by:
I came up with what I think is a good idea for making multithreading programming easier in any .NET language. I dont know where else to post it, so I'll try here. ..NET 2.0 adds the capability...
2
by: Neil Ginsberg | last post by:
I have a SQL 7 db with a union query (view), and I'm getting the error, "The query processor could not start the necessary thread resources for parallel query execution." This union query has been...
10
by: bpontius | last post by:
The GES Algorithm A Surprisingly Simple Algorithm for Parallel Pattern Matching "Partially because the best algorithms presented in the literature are difficult to understand and to implement,...
3
by: paytam | last post by:
Hi all, Is it possible to write parallel programming in C? I mean for example a simple program like I have a clock on a program that show me current time and and at the same time another job like...
126
by: ramyach | last post by:
Hi friends, I need to write a parallel code in 'C' on the server that is running SGI Irix 6.5. This server supports MIPS Pro C compiler. I don't have any idea of parallel C languages. I looked...
14
by: Dave Booker | last post by:
I'm doing some analysis that is readily broken up into many independent pieces, on a multicore machine. I thought it would be best to just queue like 1000 of these pieces in the ThreadPool, and...
43
by: parallelpython | last post by:
Has anybody tried to run parallel python applications? It appears that if your application is computation-bound using 'thread' or 'threading' modules will not get you any speedup. That is because...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.