Multiple CPUs and multiple PCs 
Author Message
 Multiple CPUs and multiple PCs

I need speed!!

Would someone be kind enough to point me some examples of a Forth
system making use of multiple CPUs in one machine or making multiple
PCs work together? How to do it? Which version of Forth will do well?
Linux version will be preferred but not required. I also welcome any
kind of comments in term of getting more speed.

Thanks,

Jih-tung Pai



Sun, 19 Dec 2004 07:26:45 GMT  
 Multiple CPUs and multiple PCs

Quote:
Jih-tung Pai writes:
> Would someone be kind enough to point me some examples of a Forth system
> making use of multiple CPUs in one machine or making multiple PCs work
> together? How to do it? Which version of Forth will do well?

iForth does this, using some ideas developed in the tForth (transputer)
days. Multiple PC's (or CPUs) are linked using OS sockets or pipes. If you
want speed it would make sense to start with the fastest Forth currently
available. The iForth concept works for both Win32 and Linux.

The finergrained the parallellism, the higher communication bandwidth
needed. The new AMD hammers seem to have a nice I/O concept going here and
some interesting research could be done in this direction (when the chips
become available). No, the x86-64 iForth is not ready yet :-)

-marcel



Sun, 19 Dec 2004 08:20:33 GMT  
 Multiple CPUs and multiple PCs

Quote:

> Jih-tung Pai writes:

> > Would someone be kind enough to point me some examples of a Forth system
> > making use of multiple CPUs in one machine or making multiple PCs work
> > together? How to do it? Which version of Forth will do well?

> iForth does this, using some ideas developed in the tForth (transputer)
> days. Multiple PC's (or CPUs) are linked using OS sockets or pipes. If you
> want speed it would make sense to start with the fastest Forth currently
> available. The iForth concept works for both Win32 and Linux.

Does iForth come with examples and instructions on how to do it? What
kind of support do you get if one is needed? Are there numbers on how
much it has improved in a given task?

Jih-tung Pai



Sun, 26 Dec 2004 11:34:32 GMT  
 Multiple CPUs and multiple PCs

Quote:

>> Jih-tung Pai writes:
>> > Would someone be kind enough to point me some examples of a Forth system
>> > making use of multiple CPUs in one machine or making multiple PCs work
>> > together? How to do it? Which version of Forth will do well?
>> iForth does this, using some ideas developed in the tForth (transputer)
>> days. Multiple PC's (or CPUs) are linked using OS sockets or pipes. If you
>> want speed it would make sense to start with the fastest Forth currently
>> available. The iForth concept works for both Win32 and Linux.
> Does iForth come with examples and instructions on how to do it?

It comes with examples. (There are examples for every feature in iForth.)
Instructions on how-to would be a large job. Just look at the possible
hardware options! The examples show what to do for different
computers on an ethernet (home) LAN. One of the computers has a dual CPU.
The code will be difficult to debug if you don't use `complete' computers
(i.e, they all should have a keyboard and screen).

Quote:
>                                                                  What
> kind of support do you get if one is needed?

If you point out a problem with the supplied source code that is
not yet known it will get fixed (But I'm not going to solve the
general distributed parallel computing problem for you). iForth is
a Forth compiler, the parallel extensions are examples for your
amu{*filter*}t.

Quote:
>                                              Are there numbers on how
> much it has improved in a given task?

I have already pointed out that there should be balance between
computing power and communication bandwidth. There are no examples
that try to find out where this boundary lies exactly, that would
be a real research problem.
I supply a low I/O example where the PC farm looks for prime numbers.

\ On dual 350 MHz P-II processors.
\ ** PI(N) using a 100000 BYTE array **
\ ** 4-threaded version **
\ 1.268 seconds elapsed. Result is    7603553 for input  134217728, 0 cache misses
\ 9.259 seconds elapsed. Result is   54400028 for input 1073741824, 0 cache misses ok

\ On single 350 MHz P-II processor.
\ ** PI(N) using a 100000 BYTE array **
\ ** 4-threaded version **
\  2.456 seconds elapsed. Result is    7603553 for input  134217728, 0 cache misses
\ 18.130 seconds elapsed. Result is   54400028 for input 1073741824, 0 cache misses ok

For this simple example you can see a linear speed up with the number
of CPUs. This holds also for the example which uses a P54c and the P-II
on the network. (Task balancing is done by running more threads on the
P-II than on the P54c).

-marcel



Sun, 26 Dec 2004 14:29:09 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Memory leaks, multiple CPUs, file handle questions

2. Multiple CPUs

3. Python threads on multiple CPUs ?

4. fortran 90 for intel platform that supports multiple cpu's

5. utilizing multiple CPUs

6. Free-threading, COM and Multiple CPU's

7. Multiple DAQ boards/multiple VIs?

8. Multiple edits, multiple files

9. Updating multiple fields on multiple rows

10. Multiple textures on one IndexFaceSet [multiple files, not a map]

11. Multiple Windows on Multiple Machines

12. Multiple Dispatch (was Re: Replacing Multiple Inheritance with Java's Interfaces)

 

 
Powered by phpBB® Forum Software