|
| |
| Wednesday
- 5/6/98 |
| I just had a monumental idea! Why not have some benchmark
information on here about how the processing works. I think I'll try that and come
back with the results... The results are suprising. Check out the code page.
After looking over the results of the benchmark, I realized just how much this program
depends on the network. I was thinking that if I had sent the slave processes more to do,
then there would have been a more efficient use of the network. I mean, right now I'm
sending a packet for every number. That means if I want to check for 100,000 numbers, I
have to send 200,000 packets (one sent, and one recieved). However, if I sent each
computer 1000 numbers to check, and then had them send back all of the primes, then at
worst, I'd have to send 200 packets across the network. I wouldn't even have to send the
thousand numbers; I'd just have to send it a range of numbers, and it could send back an
array containing all of the primes in that range. That would be a monumental savings, but
because I switched topics so late, I didn't think of that until very, VERY late. |
| Tuesday
- 5/5/98 |
| Spent much of the day polishing up the final application. It seems to
work pretty well. I don't know how efficient it is, but if I was worried about speed, I
would have just set up a prime-checking program on my machine all by itself. I bought
two one-liter bottles of Coke tonight. The lady at the gas station said that they had
two-liter bottles that were $1.19. I looked at my two bottles and said that
"this is easier."
I've been trying to get my program compiled on Black, but it won't because it says
there's a library missing. The library is called rshsvc. I searched for it, but all
I found were a couple of directories with header files in it. I guess it's just up
to the three BSD machines.
I was really hoping to get the NeXT machines going because the speed improvements would
have been more noticible on those machines. |
| Monday -
5/4/98 |
| After reading some docs and some example code, I built my first little
PVM program. It doesn't really do much that's important, but it does use some of the PVM
library functions. All the program does is count the number of computers connected
to the Virtual Machine and print out their names. After reading a little more code and
docs, I started writing an application that sends an integer to a spawned process and then
that child process returns the integer. I did this because I was still hazy on the
notion of passing things back and forth to processes.
I started building my real application. I've decided to build a prime-checking program.
After much cogitation, I decided to kind of parallelize the serialized nature of
prime-checking. Basically, what I'll do is send each machine a number to check and
when it's done, it'll send me back the number with a message specifiying whether the
number was prime or not. That way, it doesn't matter what order the numbers are recieved
in, it just prints out the number if it has a message that says its prime. Sounds good to
me.
I thought about implementing it so that each child process is testing the same number,
but for different ranges. For example all of the processes are testing 2523421 for
primality and the first process is testing that number with all the numbers from 1 to
10000, the second is testing from 10001 to 20000, the third process is testing from 20001
to 30000, but I figured that the computers I'm using are too fast for that so I just
decided to have them all test a different number. Besides, it's a whole lot easier. |
| Sunday -
5/3/98 |
| DOH! I've spent the last three days trying to get PVM talking between
FreeBSD on my machine and the Decstations. Turns out, THEY WERE DIFFERENT
VERSIONS! That makes very angry. Copied the pvm archive from my machine
over to Tsetse and built it without much problem.
I'm finally able to connect my machine, reedech, Tsetse, Fire, and Black. Wow,
five-machine processing power! I think I saw the lights dim when we connected.
The hello example program works between all of them. That little aimk
program is nice. It lets you make and link the example programs with the right ld
information and then copies them into the pvm3/bin/FREEBSD directory.
I couldn't get PVM to build on litoria. I don't know really what to do about this, I'm
getting tired and I should probably go to bed...
Continued trying to build PVM on Litoria. I messed with the Makefile, but if I changed
one thing, it would work up to a point and then die, and if I changed it to something
else, it would work a little differently. It's really hard to explain...
I think I figured out why it's not building on litoria. There's a small utility
program called dirname that the Makefile needs to have in order to work.
I can't find it anywhere on the system. It's already on the FreeBSD machines and
I'm assuming that it's on Tsetse and Fire (because it compiled). So, I don't think
I'm going to waste my time with this anymore (for now). |
| Saturday
- 5/2/98 |
| After figuring out the .rhosts stuff, I figured out PVM on Tsetse and
Litoria. So those two are talking together. But they won't talk with either my
machine or reedech. This is getting very frustrating. |
| Friday -
5/1/98 |
| Here's a newsflash: the remote machines must have the .rhosts file set up
to accept connections from other hosts and users. I was not aware of this. I set up a link
in my home directory that links to Josh's pvm3 directory and tried to get it working as
me, but it still won't work between Litoria and Tsetse. I finally gave up trying to
connect Tsetse, Litoria and my machine. Instead, I'm going to build PVM on the new server
and set up the .rhosts file for both of them.
After doing some research on rsh and rcp, I finally figured out the whole .rhosts
thing. Also, I got reedech (the new server) to connect to my Virtual Machine.
Built and ran the hello program, worked between the two of us. I really want to get
tsetse connected to me! |
| Thursday-
4/30/98 |
| I talked to Charlie today in class and he thought that changing over to
PVM was a good idea just because of the scope of CORBA was so vast. Like I said, the CORBA
spec is 8 megs and 951 pages! I downloaded PVM v3.4 beta 6 from Netlib today and got it installed. Wow. There's a
lot of stuff. (But not nearly as much as CORBA).
PVM isn't connecting to any of the other machines. Josh Paulson got it working between
Tsetse and Litoria, but I can't talk to either of them from my machine. Nor can I get them
talking together as me. He got this little program called hello going that
runs hello_other on the remote machine, but I can't even get PVM running. |
| Wednesday
- 4/29/98 |
| After beating my head over CORBA too many times, I've decided to change
to distributed processing. I think that the subject offers material that I can cover in
the time that I have left. Wow. I found about 10 really useful links on PVM. I think I'm
going to use that system. It seems to have the best API and can be used on a lot of
different systems. |
|