From: Eric Frederich (eric.frederich_at_gmail_dot_com)
Date: Fri Nov 18 2005 - 07:14:18 PST
I do not currently have NFS installed on any of my machines. I have samba set up on them because of the windows computers on my network. When you say "just install it once, and it's up on all the nodes" are you implyling a special kind of NFS setup where all computers share any program that is installed on them? Could you explain a recomended NFS setup for use with UPC? If I will only be writing code and compiling on one machine, do the others need UPC to be able to run the programs? Let me explain where I am coming from. Right now I only have 4 computers. One I got yesterday from someone at work for $200 and haven't turned it on yet (Good deal I think, 2.0GHz athlon machine with keyboard, mouse, and monitor). The next two run Gentoo Linux. One I just built to run MythTV (open source tivo-like application) so it is pretty current as far as GCC, and the kernel go. The other Gentoo machine I have has been in service for quite some time now as a fileserver and webserver. It has been up over a year and I have not kept it up to date because it just works and I didn't need to. I think it is on a 2.4 Kernel whereas the other Gentoo machine is on a 2.6 Kernel. So on the two linux machines the kernels are different but because I was experimenting with distcc while setting up the newest one, I think they are on the same GCC version and have the same C libraries. My fourth machine runs microsoft Windows but I hope to soon run install Linux on it. I guess I would like to know what UPC expects about the system and the nodes that it is running on. Does the user running the UPC program have to have an account with the same user name and password on all of the nodes it will be executed on? If not, how is executing the process on the remote machine achieved? You mentioned that I need NFS because every node needs to be able to run the executable. Does this executable just need to be placed in the same location on each machine and could I do this with a samba share? Thank ahead of time again, ~Eric On 11/17/05, jcduell_at_lbl_dot_gov <jcduell_at_lbl_dot_gov> wrote: > > On Thu, Nov 17, 2005 at 11:13:26AM -0500, Eric Frederich wrote: > > Hello, > > > > I am new to parallel processing. I am reading through the > > documentation and have come to understand that when you compile UPC > > programs then are compiled into an intermediate form, then sent to > > different nodes where they are compiled into C or C++. Please tell me > > if this asumption is correct. I can have a cluster with an AMD > > Thunderbird, and AMD Athlon XP, and an Intel P4 because they will be > > sent the source and will be compiled locally during the run? > > > > Also, I downloaded the UPC package and read through the INSTALL file > > that came with it. I think I will be able to install it but I was > > wondering a couple of things. 1, do I need to build this on each node > > in my network? I think the answer is yes, but I wanted to ask anyway. > > 2, doesn't there need to be a daemon process running on each node to > > listen and accept requests for computation? > > > > The only thing I saw about multiple hosts was in the man page where it > > mentioned to use either an evironment variable with spaces between > > host names or a file with one host per line and use an environment > > variable to point to that file. I didn't see anything about how to > > install UPC on these machines. > > > > Could someone please give me an explaination on how UPC is supposed to > > work with multiple compute nodes. > > Eric: > > Do you have NFS installed between your nodes? If not, you will want it. > Once you have a shared filesytem between the nodes, the question of > whether you need to install UPC on all of them becomes easy--just > install it once, and it's on all the nodes. You also need NFS to easily > run UPC jobs over UDP. Every node needs to be able to run the > executable, and NFS is the easiest way to do this. > > Although you have different processor types (AMD vs. Intel), I believe > all the processors you mention are all x86 compatible, so there's > nothing stopping you from running the same UPC program on all of them. > > A clarification: Berkeley UPC doesn't push C code to your nodes. Your > UPC code will be translated to C, and then compiled to a regular > executable, on the same machine as where you type 'upcc'. So things > work much like 'gcc', or any other compiler. One difference is that by > default, you'll wind up using our public translator at > upc-translator.lbl.gov <http://upc-translator.lbl.gov>, but this happens > "under the covers", so unless > you've lost network connectivity, you'll never notice. > > You don't need to run any daemon services on your compute nodes for > Berkeley UPC. If you run over UDP (which sounds like the best network > for you), 'ssh' will be used to push jobs out to the nodes. > > One last thing you need to make sure of is that you are running a > similar operating system setup on each node. In particular, the > standard C libraries must be compatible. The safest bet is to run the > exact same operating system version on each machine. > > -- > Jason Duell Future Technologies Group > <jcduell_at_lbl_dot_gov> Computational Research Division > Tel: +1-510-495-2354 Lawrence Berkeley National Laboratory >