From deadline at clustermonkey.net Wed Aug 1 07:30:06 2007 From: deadline at clustermonkey.net (Douglas Eadline) Date: Sat May 10 01:06:16 2008 Subject: [Beowulf] PathScale Compiler Lands at SiCortex Message-ID: <52314.192.168.1.1.1185978606.squirrel@mail.eadline.org> The PathScale compiler (and team) has been purchased by SiCortex. SiCortex is MIPS based (as was the original PathScale compiler) and will continue to support x86_64. Here is a short story with links: http://www.clustermonkey.net//content/view/208/1/ -- Doug From alenzo at mail.rochester.edu Wed Aug 1 11:42:11 2007 From: alenzo at mail.rochester.edu (A Lenzo) Date: Sat May 10 01:06:16 2008 Subject: [Beowulf] nfs: server starsrv not responding, still trying Message-ID: <001301c7d46b$af25d5b0$f6339780@libra.cc.rochester.edu> Hello all, I am receiving this message upon shutting down a client node on my 3-machine network NFS/NIS cluster. Nothing else is loaded on these machines, but both NIS and NFS are working just fine. Only when I shut down one of the clients to I receive trouble: Unmounting pipe file systems OK Unmounting file systems OK Halting system... nfs: server starsrv not responding, still trying nfs: server starsrv not responding, still trying Also, if I boot the client from the beginning and log into (local) root, there is no problem at all when shutting down. Only when I log into an NIS account and THEN shut down will I see this problem. (everything works fine when I am logged in, however). Can anyone help? Tony PS - Using Fedora Core 6 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20070801/a9e48557/attachment.html From larry.stewart at sicortex.com Wed Aug 1 20:47:58 2007 From: larry.stewart at sicortex.com (Larry Stewart) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] IP address mapping for new cluster In-Reply-To: <46AD87E7.7060501@aei.mpg.de> References: <46AD87E7.7060501@aei.mpg.de> Message-ID: <46B153EE.8040607@sicortex.com> Carsten Aulbert wrote: > Hi, > > I clicked reply to say this seems like a lot of trouble to go through to make it easy to go from IP address to location and function, but it turns out that we do something very similar in our machines. A 972 node SC5832 uses a class B IP address like A.B.y.z/16. The interconnect fabric isn't solely an IP network, but we emulate Ethernet/IP using IP addresses like A.B.200+.100+/18. Each node also has a second IP address that doesn't depend on the interconnect -- the control plane network -- with an ID like A.B.0 + .100 + /18, These are like your IPMI ports in function but are actually serial point to point IP links, the other end of which is an interface on a module service processor that does booting and so forth. The module service processors each have a control plane IP address like A.B.0.100+/24. Then the fans, power supplies and so forth have addresses in A.B.0.20-99/24. The main service processor has A.B.0.1 as its interface on the control network. The system has a third IP network connecting some gateway nodes on some modules to the service processor. These interfaces have address is A.B.150.X/24. I was going to say "how often do you really deal with the A.B.C.D rather than DNS names anyway?" but I've just spent a couple of weeks doing just that and it really is convenient when you are in the weeds. One comment is that nearly all software that deals with dotted quads prints in decimal, which makes binary encodings of the meaning awkward. So using 4 bit fields for the X and Y coordinates is hard to translate in your head. Instead, making the third octet be (row*20)+column would be a lot easier on the brain and supports 12 rows. This is why we do things like A.B.200+.100+/18. It's a little awkward to get started, but then it is trivial to map in your brain from IP to function and position. The next issue is how all this gets initialized. Pretty much the only way to do it is to have the DHCP servers configured to map MAC addresses to IP addresses in a stable way. We don't really have that problem because pretty much the only interfaces that have random MAC addresses are the module service processors. The MAC address maps to the manufacturing serial number, which is essential for tracking faults, but the position (slot ID/module ID) is reported in the DHCP request in a field and the DHCP server knows what to do. It seems like when you install something, you will have to enter its MAC addresses into the DHCP server database and map to a stable IP address given database knowlege of the position and function of the device. It also seems like as boxes get pulled out of a rack for service, replaced by spares, and later put back in service somewhere else that you should maintain a database of MAC address to device serial number so you can recognize a lemon when it comes back with a different IP address but the same symptoms. The database will have to be clever to support coherent views of FRUs in cases like when an interconnect card is moved from one flakey motherboard to another, changing the MAC binding but not the failures. For us, there were a number of benefits in going to "IP address maps to function": * Humans can debug given the IP addresses alone * No DNS lookups required in performance critical paths * Higher level configuration files for things like SLURM can be nearly static Nevertheless, is the benefit of mapping IP to physical location really valuable? Trying to maintain this given the probable frequency of swapping out boxes will cause trouble with DHCP and ARP. Either you make the leases short and wait for them to expire before powering on a replacement, or you have to go around manually flushing leases and arp tables. Ugh. Instead, it may make more sense to give a type of device a stable IP address without regard to position, and to maintain a database mapping MAC/IP to location separately. For a few 1000's of devices, grepping the location file will be faster than walking over to the right rack anyway. We have this problem with modules. The service guys want to swap modules in the backplane to see if a problem follows it and it has cost us some DHCP hackery to let the addressing respond smoothly. -Larry From diep at xs4all.nl Thu Aug 2 01:32:52 2007 From: diep at xs4all.nl (Vincent Diepeveen) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] beowulf archives online Message-ID: <20070802102802.B20518-100000@xs3.xs4all.nl> Hi, When browsing online through beowulf.org archives, things are totally messed up. If i click for example at august 2007 at 'subject' i basically get a list of postings from around 2001 i suppose, posted by our beloved member Mikhail Kuzminsky. Though it's great to read all his attempts to build an Athlon MP cluster, that's really by now an outdated discussion :) Vincent p.s. what processors do you Russia use now Mikhail, already started building using quadcores? From m.janssens at opencfd.co.uk Thu Aug 2 03:44:32 2007 From: m.janssens at opencfd.co.uk (Mattijs Janssens) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] How to analyze application cache coherency? In-Reply-To: <4d4321660707260642wc9c0197m28ab6d81674224b8@mail.gmail.com> References: <4d4321660707260642wc9c0197m28ab6d81674224b8@mail.gmail.com> Message-ID: <200708021144.32847.m.janssens@opencfd.co.uk> For individual applications I would use val/cachegrind (with e.g. kcachegrind as front end) to figure out their cache usage. Then see which ones aren't cache limited and run them together with ones that are cache limited? But if there is only three just test the combinations. Which ones running together slow down least. On Thursday 26 July 2007 14:42, Christian Nygaard wrote: > How would you analyze application use of CPU > cache on the AMD64, Intel Core platform? > > I have a set of different applications running > in a cluster and a scheduler that distributes > jobs on the cluster nodes lets call the > applications A,B,C. What I would like to > analyze is which mixes of applications goes > well with CPU cache on each node and which > combination would be optimal to enhance the job > distribution scheduler. The system is running > Linux 2.6.19 64bit kernel. > > node1: AAAAAAAA > node2: BBBBBBBB > node3: ABCABCAB > > What Linux tools would you use to analyze this? > Could you show some examples on how to use it > to look into CPU cache performance of an > application? > > Thanks for your input, > Chris -- Mattijs Janssens OpenCFD Ltd. 9 Albert Road, Caversham, Reading RG4 7AN. Tel: +44 (0)118 9471030 Email: M.Janssens@OpenCFD.co.uk URL: http://www.OpenCFD.co.uk From mathog at caltech.edu Thu Aug 2 13:37:14 2007 From: mathog at caltech.edu (David Mathog) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] Re: Mobo battery life in constantly on systems? Message-ID: richard karhuse wrote: > it is interesting that > "standard" CMOS batteries are not all the same ... Perhaps the case you cited was something along the lines of the capacitor debacle of a few years back? The chemistry of all of these batteries should be very similar but that doesn't mean that some shady manufacturer isn't using crap chemicals or metals to produce batteries that are not reliable. Cardboard electrodes maybe? Regards, David Mathog mathog@caltech.edu Manager, Sequence Analysis Facility, Biology Division, Caltech From rreis at aero.ist.utl.pt Fri Aug 3 02:34:18 2007 From: rreis at aero.ist.utl.pt (Ricardo Reis) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] WD green harddrive, greenwashing? Message-ID: Hi I thought in this days of heat and eco fashion a trend is set to get in the green wagon. Anyone care to comment about his new WD hardrive? http://www.inhabitat.com/2007/08/02/wd-greenpower-energy-efficient-hard-drives/ greets!, Ricardo Reis 'Non Serviam' PhD student @ Lasef Computational Fluid Dynamics, High Performance Computing, Turbulence & Cultural Instigator @ R?dio Zero http://radio.ist.utl.pt From vanallsburg at hope.edu Fri Aug 3 05:08:42 2007 From: vanallsburg at hope.edu (Paul Van Allsburg) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] recompile with -fPIC Message-ID: <46B31ACA.4020707@hope.edu> I've been asked to port a Mandelbrot example written in c to perl - to prepare an exercise to get students familiar with the ideas of writing parallel/distributed code. Perl is what the students will be learning in the course. I have: installed MPICH release (1.2.7p1) required by the Perl Parallel:MPI module installed mpiexec-0.82 from OSC, required interface to PBS compiled the mandelbrot c code with the MPICH mpicc wrapper and successfully ran it using PBS. Next steps: (fail) install the Parallel:MPI code & test, begin porting the Mandelbrot example... Im stuck at building the Parallel:MPI code, with a Position Independent Code error http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3 Here is what happens- $ make ( of perl module Parallel-MPI-0.03) mpicc -c -I/usr/local/mpich/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"0.03\" -DXS_VERSION=\"0.03\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -DFLOAT_HACK MPI.c Running Mkbootstrap for Parallel::MPI () chmod 644 MPI.bs rm -f blib/arch/auto/Parallel/MPI/MPI.so mpicc -shared MPI.o -o blib/arch/auto/Parallel/MPI/MPI.so /usr/bin/ld: /usr/local/mpich/lib/libmpich.a(send.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/local/mpich/lib/libmpich.a: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [blib/arch/auto/Parallel/MPI/MPI.so] Error 1 So I thought I could recover by rebuilding MPICH and add the fPIC flag: ./configure --with-device=ch_p4 --prefix=/usr/local/mpich -cflags=-fPIC Unfortunately, is doesn't happen. $ make ( of perl module Parallel-MPI-0.03) cp MPI.pm blib/lib/Parallel/MPI.pm AutoSplitting blib/lib/Parallel/MPI.pm (blib/lib/auto/Parallel/MPI) /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap -typemap typemap MPI.xs > MPI.xsc && mv MPI.xsc MPI.c mpicc -c -I/usr/local/mpich/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"0.03\" -DXS_VERSION=\"0.03\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -DFLOAT_HACK MPI.c Running Mkbootstrap for Parallel::MPI () chmod 644 MPI.bs rm -f blib/arch/auto/Parallel/MPI/MPI.so mpicc -shared MPI.o -o blib/arch/auto/Parallel/MPI/MPI.so /usr/bin/ld: /usr/local/mpich/lib/libmpich.a(initfcmn.o): relocation R_X86_64_32 against `mpipriv_' can not be used when making a shared object; recompile with -fPIC /usr/local/mpich/lib/libmpich.a: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [blib/arch/auto/Parallel/MPI/MPI.so] Error 1 What is the correct way to recompile with -fPIC or is there a deeper problem I don't recognize? Thanks all, Paul -- Paul Van Allsburg Hope College Holland, Michigan 49423 616-395-7292 From jamesjamiejones at aol.com Fri Aug 3 15:53:32 2007 From: jamesjamiejones at aol.com (matt jones) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] WD green harddrive, greenwashing? In-Reply-To: References: Message-ID: <46B3B1EC.3080904@aol.com> hi - at home our server we call green. it's not low power. but it is 100% recycled from someone who didn't want it... it's a P2 mobo with a P3 XU02 SLOT.... it consumes about 28W while under normal net usage. it has 2 HDD's a 20GB 'low' consumption laptop drive - adapted for the 3.5" bay, and an external 320GB disk in an enclosure. i rigged the power for that to slave from the PSU and that uses less power than while using it's own PSU. we also have a program/system that runs and optimizes the drives on time (uses scripting, active directory and IIS i think). so it turns off if no one is logged on or if it isn't used for some time. backup's are still a problem so will have to add that support soon. i think the new drives are just a new step on the ladder for hard drives. the power consumption is always going to fall as it's a demand of customers and the new technology available. i would say just another marketing con - like HD TV - to the end user like myself, probably no difference than the 'green' label... i'ld rather increase my carbon offset or buy a few solar panels than invest in one of these drives. Ricardo Reis wrote: > > Hi > > I thought in this days of heat and eco fashion a trend is set to get in > the green wagon. Anyone care to comment about his new WD hardrive? > > > http://www.inhabitat.com/2007/08/02/wd-greenpower-energy-efficient-hard-drives/ > > > greets!, > > Ricardo Reis > > 'Non Serviam' > > PhD student @ Lasef > Computational Fluid Dynamics, High Performance Computing, Turbulence > > > & > > Cultural Instigator @ R?dio Zero > http://radio.ist.utl.pt > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf From jamesjamiejones at aol.com Fri Aug 3 16:02:16 2007 From: jamesjamiejones at aol.com (matt jones) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] WD green harddrive, greenwashing? In-Reply-To: References: Message-ID: <46B3B3F8.50907@aol.com> also - this uses intellipower, intellipark and intelliseek, which are basic things... i doubt these will be of any use in data centers where drives are under constant strain. in an archive systems these, with good power managment and resorce managment, are good things. also - are the figures avg.s and dont take into account that data centers usage is greater than desktop? Ricardo Reis wrote: > > Hi > > I thought in this days of heat and eco fashion a trend is set to get in > the green wagon. Anyone care to comment about his new WD hardrive? > > > http://www.inhabitat.com/2007/08/02/wd-greenpower-energy-efficient-hard-drives/ > > > greets!, > > Ricardo Reis > > 'Non Serviam' > > PhD student @ Lasef > Computational Fluid Dynamics, High Performance Computing, Turbulence > > > & > > Cultural Instigator @ R?dio Zero > http://radio.ist.utl.pt > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf From hahn at mcmaster.ca Sat Aug 4 14:15:36 2007 From: hahn at mcmaster.ca (Mark Hahn) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] WD green harddrive, greenwashing? In-Reply-To: References: Message-ID: > green wagon. Anyone care to comment about his new WD hardrive? I'd sure rather vendors push some modest power-savings than, say, putting in little windows so you can see the heads moving ;) the power dissipation is 7.5/4.0/.3 (active/idle/standby) vs 8.77/8.4/.97 for a similar less green disk. obviously, you save more if you can spindown into standby, but that (like the idle-but-spinning savings) assumes you do not have a continuous load. providing flash on disk will certainly help as well, since it will mean that if you have standby configured, the OS can commit many writes without causing the disk to spinup. there is or was a tunable in linux that caused the kernel to batch up IOs more agressively ("laptop mode"), which would help as well. heck, how many disks in your cluster could use noatime when mounting local disks - that would probably let quite a few disks spindown for extended periods... ultimately, though, disks are minor factors in the power equation. if I add up all the disks in my favorite cluster, it's still only 16KW or 5% of the total dissipation. there are lots of things you can do to improve the greenness of your cluster. atime and hdparm -S might help if your nodes have local disks. getting rid of local disks (net-booting) is probably a good option if you can possibly get away with it - both reliability and dissipation. requiring right-sized and efficient power supplies could easily save more than disks, though (10% savings on 400W ~= removing 4 disks). lots of systems have demonstrated that you can sometimes trade off clocks for power (but this is fundamentally dependent on the coupled-ness of your workload.) I'd love to see a more holistic approach that considers nonstandard cooling approaches, as well. when we built our machineroom, the design types were basically unwilling to consider anything even slightly risky (our ground temperature here is basically perfect for chilling water all year round.) I wonder if anyone has demonstrated using outside air to cool machinerooms (directly). the stumbling block for that seems to be that people think computers are terribly delicate (carefully controlled humidity, for instance) and don't want to take any risks. most specs I see are merely "5-95% non-condensing", which is pretty damn broad. in the big picture, the problem is actually that power is too cheap ;) the 4W savings for one WD GP disk in a desktop here is $1.2/year... regards, mark hahn. From csamuel at vpac.org Sun Aug 5 18:58:01 2007 From: csamuel at vpac.org (Chris Samuel) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] Virtualization In-Reply-To: <46A86940.4040101@lri.fr> References: <46A86940.4040101@lri.fr> Message-ID: <200708061158.02024.csamuel@vpac.org> On Thu, 26 Jul 2007, Julien Leduc wrote: > This last technique ensure reproductible experiments, more performances, > drawbacks are: more work on the middleware that make all that magic come > true. http://workspace.globus.org/vm/index.html The general idea being that you can request the config your program requires and a Xen VM is built for you. The Moab scheduler can also apparentl talk to xCat for on-demand deployment of nodes (real and virtual). http://www.clusterresources.com/products/mwm/docs/casestudies/case25-moabcat.shtml cheers, Chris -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://www.scyld.com/pipermail/beowulf/attachments/20070806/82e14d63/attachment.bin From jmack at wm7d.net Sat Aug 4 17:58:55 2007 From: jmack at wm7d.net (Joseph Mack NA3T) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] WD green harddrive, greenwashing? In-Reply-To: References: Message-ID: On Sat, 4 Aug 2007, Mark Hahn wrote: > (our ground > temperature here is basically perfect for chilling water all year round.) OT: When I first arrived in the US from Australia to temperatures I'd never experienced before (below freezing) I wound up in Faneuil Hall in Boston. There people were wandering around outside, as if nothing were wrong, in temperatures that were a matter of great alarm to me. All the vendor's refrigerators were dumping their heat into a heated hall rather than to the frigid air outside. They didn't even need refrigerators at all - the outside air was plenty cold enough if pumped inside. I tried to explain this to the people showing me around, but they could see nothing wrong. It was like I was on Mars. Joe -- Joseph Mack NA3T EME(B,D), FM05lw North Carolina jmack (at) wm7d (dot) net - azimuthal equidistant map generator at http://www.wm7d.net/azproj.shtml Homepage http://www.austintek.com/ It's GNU/Linux! From carsten.aulbert at aei.mpg.de Mon Aug 6 00:14:28 2007 From: carsten.aulbert at aei.mpg.de (Carsten Aulbert) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] IP address mapping for new cluster In-Reply-To: <46B153EE.8040607@sicortex.com> References: <46AD87E7.7060501@aei.mpg.de> <46B153EE.8040607@sicortex.com> Message-ID: <46B6CA54.8090307@aei.mpg.de> Hi Larry, (sorry for the late reply) first of all thank you very much for the feedback! Larry Stewart wrote: > I was going to say "how often do you really deal with the A.B.C.D rather > than DNS names anyway?" but I've > just spent a couple of weeks doing just that and it really is convenient > when you are in the weeds. That was our thought as well, thus the "idea". > > One comment is that nearly all software that deals with dotted quads > prints in decimal, which makes > binary encodings of the meaning awkward. So using 4 bit fields for the > X and Y coordinates is hard > to translate in your head. Instead, making the third octet be > (row*20)+column would be a lot easier > on the brain and supports 12 rows. This is why we do things like > A.B.200+.100+/18. > It's a little awkward to get started, but then it is trivial to map in > your brain from IP to function > and position. > Right now the current plan allows up to 10 rows, thus 20 seems to be a good number here as well :) > The next issue is how all this gets initialized. Pretty much the only > way to do it is to have the DHCP > servers configured to map MAC addresses to IP addresses in a stable > way. We don't really have that > problem because pretty much the only interfaces that have random MAC > addresses are the module > service processors. The MAC address maps to the manufacturing serial > number, which is essential > for tracking faults, but the position (slot ID/module ID) is reported in > the DHCP request in a > field and the DHCP server knows what to do. > > It seems like when you install something, you will have to enter its MAC > addresses into the DHCP > server database and map to a stable IP address given database knowlege > of the position and function > of the device. Yes, we will require our vendor to hand over a list (text file) of all MAC addresses of the cluster, i.e. two on board NICs plus MAC from IPMI card. > For us, there were a number of benefits in going to "IP address maps to > function": * Humans can debug given the IP addresses alone > * No DNS lookups required in performance critical paths > * Higher level configuration files for things like SLURM can be nearly > static > So far so good. > Nevertheless, is the benefit of mapping IP to physical location really > valuable? Trying to > maintain this given the probable frequency of swapping out boxes will > cause trouble with > DHCP and ARP. Either you make the leases short and wait for them to > expire before > powering on a replacement, or you have to go around manually flushing > leases and arp > tables. Ugh. Instead, it may make more sense to give a type of device > a stable IP address > without regard to position, and to maintain a database mapping MAC/IP to > location > separately. For a few 1000's of devices, grepping the location file > will be faster than > walking over to the right rack anyway. We have this problem with > modules. The service > guys want to swap modules in the backplane to see if a problem follows > it and it has > cost us some DHCP hackery to let the addressing respond smoothly. So far our experience with slightly smaller clusters suggest that the DHCP problem *might* occur, but usually we have a few "spare nodes" which are switched off during regular operations (at least officially ;)). If a node dies and is send back for service we will simply leave the "hole" on the rack and switch on the spare node at its position - again at least officially. After the box returns we can simply reinstall it back in its own place. Thus lease times should thus not be an issue. So far it seems we will have enough spare room to house all real and spare nodes, thus it should not be a problem (keeping my fingers crossed). Anyone else seeing a big problem in this idea? Cheers Carsten From rgb at phy.duke.edu Tue Aug 7 06:30:21 2007 From: rgb at phy.duke.edu (Robert G. Brown) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] IP address mapping for new cluster In-Reply-To: <46B6CA54.8090307@aei.mpg.de> References: <46AD87E7.7060501@aei.mpg.de> <46B153EE.8040607@sicortex.com> <46B6CA54.8090307@aei.mpg.de> Message-ID: On Mon, 6 Aug 2007, Carsten Aulbert wrote: > Hi Larry, (sorry for the late reply) > > first of all thank you very much for the feedback! > > Larry Stewart wrote: >> I was going to say "how often do you really deal with the A.B.C.D rather >> than DNS names anyway?" but I've >> just spent a couple of weeks doing just that and it really is convenient >> when you are in the weeds. > > That was our thought as well, thus the "idea". > >> >> One comment is that nearly all software that deals with dotted quads prints >> in decimal, which makes >> binary encodings of the meaning awkward. So using 4 bit fields for the X >> and Y coordinates is hard >> to translate in your head. Instead, making the third octet be >> (row*20)+column would be a lot easier >> on the brain and supports 12 rows. This is why we do things like >> A.B.200+.100+/18. >> It's a little awkward to get started, but then it is trivial to map in your >> brain from IP to function >> and position. >> > > Right now the current plan allows up to 10 rows, thus 20 seems to be a good > number here as well :) > >> The next issue is how all this gets initialized. Pretty much the only way >> to do it is to have the DHCP >> servers configured to map MAC addresses to IP addresses in a stable way. >> We don't really have that >> problem because pretty much the only interfaces that have random MAC >> addresses are the module >> service processors. The MAC address maps to the manufacturing serial >> number, which is essential >> for tracking faults, but the position (slot ID/module ID) is reported in >> the DHCP request in a >> field and the DHCP server knows what to do. >> >> It seems like when you install something, you will have to enter its MAC >> addresses into the DHCP >> server database and map to a stable IP address given database knowlege of >> the position and function >> of the device. > > Yes, we will require our vendor to hand over a list (text file) of all MAC > addresses of the cluster, i.e. two on board NICs plus MAC from IPMI card. > >> For us, there were a number of benefits in going to "IP address maps to >> function": * Humans can debug given the IP addresses alone >> * No DNS lookups required in performance critical paths >> * Higher level configuration files for things like SLURM can be nearly >> static >> > > So far so good. > >> Nevertheless, is the benefit of mapping IP to physical location really >> valuable? Trying to >> maintain this given the probable frequency of swapping out boxes will cause >> trouble with >> DHCP and ARP. Either you make the leases short and wait for them to expire >> before >> powering on a replacement, or you have to go around manually flushing >> leases and arp >> tables. Ugh. Instead, it may make more sense to give a type of device a >> stable IP address >> without regard to position, and to maintain a database mapping MAC/IP to >> location >> separately. For a few 1000's of devices, grepping the location file will >> be faster than >> walking over to the right rack anyway. We have this problem with modules. >> The service >> guys want to swap modules in the backplane to see if a problem follows it >> and it has >> cost us some DHCP hackery to let the addressing respond smoothly. > > So far our experience with slightly smaller clusters suggest that the DHCP > problem *might* occur, but usually we have a few "spare nodes" which are > switched off during regular operations (at least officially ;)). If a node > dies and is send back for service we will simply leave the "hole" on the rack > and switch on the spare node at its position - again at least officially. > After the box returns we can simply reinstall it back in its own place. Thus > lease times should thus not be an issue. > > So far it seems we will have enough spare room to house all real and spare > nodes, thus it should not be a problem (keeping my fingers crossed). > > Anyone else seeing a big problem in this idea? > > Cheers > > Carsten > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > -- Robert G. Brown http://www.phy.duke.edu/~rgb/ Duke University Dept. of Physics, Box 90305 Durham, N.C. 27708-0305 Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu From vanallsburg at hope.edu Tue Aug 7 08:12:29 2007 From: vanallsburg at hope.edu (Paul Van Allsburg) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] recompile with -fPIC In-Reply-To: <61853.201.235.91.60.1186189852.squirrel@sec.bit-consulting.com.ar> References: <46B31ACA.4020707@hope.edu> <61853.201.235.91.60.1186189852.squirrel@sec.bit-consulting.com.ar> Message-ID: <46B88BDD.60607@hope.edu> >>I've been asked to port a Mandelbrot example written in c to perl - to >>prepare an exercise to get students familiar with the >>ideas of writing parallel/distributed code. Perl is what the students will >>be learning in the course. >> >>I have: >> installed MPICH release (1.2.7p1) required by the Perl >>Parallel:MPI module >> installed mpiexec-0.82 from OSC, required interface to PBS >> compiled the mandelbrot c code with the MPICH mpicc wrapper and >>successfully ran it using PBS. >> >>Next steps: >>(fail) install the Parallel:MPI code & test, >> begin porting the Mandelbrot example... >> >> >> >> Success! I found the problem in an earlier install(2006) of lam-mpi had placed mpi.h files in /usr/include that caused the Parallel::MPI install script to fail. I changed a few lines in Makefile.PL for parallel:MPI from: $MPIDIR = "/usr/local/mpich/include"; foreach (qw(/usr/mpich/include /usr/local/mpich/include /usr/include/mpi /usr/local/include/mpi /usr/lib/mpich/include /usr/local/lib/mpich/include)) to: $MPIDIR = "/usr/local/mpich/include"; foreach (qw(/usr/local/mpich/include)) In brief- I did this: - INSTALL MPICH get MPICH current release (1.2.7p1) from http://www-unix.mcs.anl.gov/mpi/mpich1/download.html wget http://www-unix.mcs.anl.gov/mpi/mpich1/downloads/mpich.tar.gz gunzip mpich.tar.gz tar -xf mpich.tar cd /home/vanallp/mpich-1.2.7p1 make clean CFLAGS="-fPIC";export CFLAGS ./configure --with-device=ch_p4 --prefix=/usr/local/mpich --enable-sharedlib | tee config.out make | tee make.out su - root cd /home/vanallp/mpich-1.2.7p1 make install | tee make-install.out - now get the correct mpicc in my path PATH="/usr/local/mpich/bin:$PATH";export PATH - INSTALL MPIEXEC PATH="/usr/local/mpich/bin:$PATH";export PATH wget http://www.osc.edu/%7Epw/mpiexec/mpiexec-0.82.tgz gunzip mpiexec-0.82.tgz tar -xf mpiexec-0.82.tar cd /home/vanallp/mpiexec-0.82 make clean rm test* CFLAGS="-fPIC";export CFLAGS ./configure --with-pbs=/usr/local --with-default-comm=mpich-p4 --disable-p4-shmem --prefix=/usr/local/osc | tee config.out make | tee make.out make hello | tee make-hello.out ./runtests.pl su - root cd /home/vanallp/mpiexec-0.82 make install | tee make-install.out - TESTING Parallel - Mendelbrot - Master / Slave: test mpich & mpiexec with an example in c cp -R /usr/local/lam-7.1.3/examples/mandelbrot . cd mandelbrot mpicc -o master master.c mpicc -o slave slave.c - my PBS ms.sh script: #!/bin/sh #PBS -N ms #PBS -l nodes=4 #PBS -j oe PATH="/usr/local/mpich/bin:$PATH";export PATH alias mpiexec='/usr/local/osc/bin/mpiexec -verbose' mpiexec -config /home/vanallp/mpi/mpich/ms.config - my mpiexec config file: ms.config -n 1 : /home/vanallp/mpi/mpich/mandelbrot/master curie* : /home/vanallp/mpi/mpich/mandelbrot/slave - submit job to cluster: qsub ms.sh produces --> /home/vanallp/mandel.out Sun rasterfile formatted file. Try viewing it with eog or xloadimage: start Xming or CygwinXsvr on windows desktop, $ eog $ xloadimage mandel.out - INSTALL Perl Parallel::MPI module wget http://search.cpan.org/CPAN/authors/id/J/JO/JOSH/Parallel-MPI-0.03.tar.gz tar -zxf Parallel-MPI-0.03.tar.gz cd Parallel-MPI-0.03 perl Makecurie.PL | tee makecurie.out <-THIS IS THE MODIFIED Makefile.PL make | tee make.out make test | tee make-test.out su - root cd /home/vanallp/Parallel-MPI-0.03 make install | tee make-install.out I also came across a perl parallel example for this specific port by Josh Wilmes and Chris Stevens, https://bioinformatics.ccr.buffalo.edu/workshop/bioinformatics/Powerpoint/All/Intro_MPI.ppt that runs successfully. Thanks! -- Paul Van Allsburg Computational Science & Modeling Facilitator Natural Sciences Division, Hope College 35 East 12th Street Holland, Michigan 49423 616-395-7292 http://www.hope.edu/academic/csm/ From alenzo at mail.rochester.edu Tue Aug 7 12:30:35 2007 From: alenzo at mail.rochester.edu (A Lenzo) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] openmosix-kernel-2.6 Message-ID: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> Hello all, I am installing OpenMosix right now, and found that the kernel for 2.6 is in beta. But this beta was released in late 2006 and I don't see anything newer. My question - has anyone worked with: openmosix-kernel-2.6.15-openmosixbeta.i686.rpm And is it any good? Is it flawed? Or does it work well for you? Sincerely, Tony Lenzo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20070807/ce9ff34e/attachment.html From andrew at moonet.co.uk Tue Aug 7 13:55:55 2007 From: andrew at moonet.co.uk (andrew holway) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] openmosix-kernel-2.6 In-Reply-To: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> References: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> Message-ID: afaik OpenMosix has been discontinued. Cheers andy On 07/08/07, A Lenzo wrote: > > > > Hello all, > > I am installing OpenMosix right now, and found that the kernel for 2.6 is in > beta. But this beta was released in late 2006 and I don't see anything > newer. My question - has anyone worked with: > > openmosix-kernel-2.6.15-openmosixbeta.i686.rpm > > And is it any good? Is it flawed? Or does it work well for you? > > Sincerely, > Tony Lenzo > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > > From csamuel at vpac.org Tue Aug 7 16:39:44 2007 From: csamuel at vpac.org (Chris Samuel) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] openmosix-kernel-2.6 In-Reply-To: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> References: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> Message-ID: <200708080939.48716.csamuel@vpac.org> On Wed, 8 Aug 2007, A Lenzo wrote: > I am installing OpenMosix right now, and found that the kernel for > 2.6 is in beta.? But this beta was released in late 2006 and I > don't see anything newer.? http://sourceforge.net/forum/forum.php?forum_id=715406 # Moshe Bar, openMosix founder and project leader, has announced plans # to end the openMosix Project effective March 1, 2008. [...] # openMosix source will remain on SourceForge indefinitely, frozen as # of March 1st, 2008. The openMosix website will remain open until # March 1st, 2008 and the openMosix-Devel List will close as of # December 1, 2007. It's probably time to start looking somewhere else, maybe start porting your codes to distributed memory models like MPI. cheers, Chris -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://www.scyld.com/pipermail/beowulf/attachments/20070808/dabffc5e/attachment.bin From mwill at penguincomputing.com Tue Aug 7 17:30:42 2007 From: mwill at penguincomputing.com (Michael Will) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] openmosix-kernel-2.6 References: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> <200708080939.48716.csamuel@vpac.org> Message-ID: <433093DF7AD7444DA65EFAFE3987879C0CE707@orca.penguincomputing.com> Either that, or take on a new and exciting project - it's all open source after all ;-) Michael -----Original Message----- From: beowulf-bounces@beowulf.org on behalf of Chris Samuel Sent: Tue 8/7/2007 4:39 PM To: beowulf@beowulf.org Subject: Re: [Beowulf] openmosix-kernel-2.6 On Wed, 8 Aug 2007, A Lenzo wrote: > I am installing OpenMosix right now, and found that the kernel for > 2.6 is in beta. But this beta was released in late 2006 and I > don't see anything newer. http://sourceforge.net/forum/forum.php?forum_id=715406 # Moshe Bar, openMosix founder and project leader, has announced plans # to end the openMosix Project effective March 1, 2008. [...] # openMosix source will remain on SourceForge indefinitely, frozen as # of March 1st, 2008. The openMosix website will remain open until # March 1st, 2008 and the openMosix-Devel List will close as of # December 1, 2007. It's probably time to start looking somewhere else, maybe start porting your codes to distributed memory models like MPI. cheers, Chris -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20070807/4bd36f3c/attachment.html From orion at cora.nwra.com Thu Aug 9 19:00:02 2007 From: orion at cora.nwra.com (orion@cora.nwra.com) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] SMB Network performance Message-ID: <4547.71.208.209.229.1186711202.squirrel@www.cora.nwra.com> > > > It's not the desktop, IMO. It is the entire software stack. From the kernel up though the application layer with a predictable hardware and firmware layer underneath. Even in the days of the buggy Apple firmware, Macs worked exceptionally well because the buggy layer would still act predictably. > > Desktops are no good if the applications calling them cannot get run reliably. That reliability requires properly functioning layers all throughout the system stack. > > In the Linux and Windows worlds this is most obvious in the > device drivers, particularly with networking. Speaking of... Has anyone else noticed that SMB client performance on the Mac is lousy? I'm seeing 2-3x slower write performance to my Linux Samba server compared with Linux and Windows clients. - Orion From csamuel at vpac.org Thu Aug 9 21:37:03 2007 From: csamuel at vpac.org (Chris Samuel) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] CFP: VTDC 2007 - Second International Workshop on Virtualization Technology in Distributed Computing Message-ID: <200708101437.03631.csamuel@vpac.org> =============================================================== CALL FOR PAPERS (VTDC 2007) Workshop on Virtualization Technologies in Distributed Computing held in conjunction with SC 07, the International Conference for High Performance Computing, Networking and Storage. =============================================================== date: November, 2007, Reno, NV, USA SC 07: http://sc07.supercomputing.org/ VTDC 07: http://workspace.globus.org/vtdc07/ General Information The convergence of virtualization technologies and distributed computing is an exciting development and the subject of much research in both academia and industry. The VTDC workshop is intended to be a forum for the exchange of ideas and experiences on the use of virtualization technologies in distributed computing, the challenges and opportunities offered by the development of virtual systems themselves, as well as case studies of application of virtualization. The scope of "virtualization technologies" includes techniques and concepts to enable virtual machines, virtual networks, virtual data, virtual storage, virtual applications and virtual instruments. The scope of "distributed computing" includes Grid-computing, cluster computing, peer-to-peer computing and mobile computing. VTDC 2007 topics of interest include, but are not limited to: - Using virtualization technologies for resource management and QoS assurance - Security aspects of using virtualization in a distributed environment - Virtual networks - Virtual data and storage systems - Fault tolerance in virtualization - Virtualization in P2P - Monitoring techniques in virtualization - Virtualization-based adaptive/autonomic systems - Virtual datacenters - Virtual environment factories and services - Environment configuration - Virtual machine management - Modeling (applications and systems) - Case studies of applications using virtual technologies - Deployment studies of virtualization technologies - Tools relevant to virtualization - Virtualization as vehicle for outsourcing Paper Submission Authors are invited to submit original and unpublished work that exposes a new problem, advocates a specific solution, or reports on actual experience. Papers should be submitted as full-length 8 page papers of double column text using single spaces 10pt size type on an 8.5"x11" paper, as per IEEE manuscript guidelines. Paper submission instructions will be placed on the workshop web page at http://workspace.globus.org/vtdc07. Presentations will be invited based on the originality, technical merit, and topical relevance of their submissions. Please contact vtdc07@mcs.anl.gov with questions. Important dates: September 24, 2007 - Paper submission October 16, 2007 - Notification of acceptance October 26, 2007 - Final version due -- Christopher Samuel - (03) 9925 4751 - Systems Manager The Victorian Partnership for Advanced Computing P.O. Box 201, Carlton South, VIC 3053, Australia VPAC is a not-for-profit Registered Research Agency -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://www.scyld.com/pipermail/beowulf/attachments/20070810/816ba018/attachment.bin From henning.fehrmann at aei.mpg.de Thu Aug 9 07:15:20 2007 From: henning.fehrmann at aei.mpg.de (Henning Fehrmann) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS Message-ID: <20070809141520.GA605@gretchen.aei.uni-hannover.de> Hello, we are interested in flashing a BIOS image and in manipulating the NVRAM of the motherboard automatically. Unfortunately, using certain vendors, the access to the NVRAM is not straightforward. These vendors are offering DOS tools only, to write in the NVRAM, hence, we have to boot a DOS image and here starts the trouble. Optimally, using the DOS environment does following things: * flashes the BIOS * sets the NVRAM * sends a message to the install server The last point is necessary to prepare pxeboot for the installation process. It also means, we need networking under DOS. In particular, we are looking for a DOS-DHCP client. Everything needs to be packed on a 2,9M floppy image. Has somebody experiences with this? In the worst case, the DOS environment is working autonomously and the install server is 'guessing' whether the BIOS is flashed or not on the clients, e.g., by analyzing the DHCP logs, but this is not what we really want. Regards Henning Fehrmann From rgb at phy.duke.edu Sat Aug 11 20:44:26 2007 From: rgb at phy.duke.edu (Robert G. Brown) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <20070809141520.GA605@gretchen.aei.uni-hannover.de> References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> Message-ID: On Thu, 9 Aug 2007, Henning Fehrmann wrote: > Hello, > > we are interested in flashing a BIOS image and in manipulating the NVRAM of the motherboard > automatically. > > Unfortunately, using certain vendors, the access to the NVRAM is not straightforward. > These vendors are offering DOS tools only, to write in the NVRAM, hence, we have to boot > a DOS image and here starts the trouble. > > Optimally, using the DOS environment does following things: > * flashes the BIOS > * sets the NVRAM > * sends a message to the install server > > The last point is necessary to prepare pxeboot for the installation process. > It also means, we need networking under DOS. > In particular, we are looking for a DOS-DHCP client. Everything needs to be packed on > a 2,9M floppy image. > > Has somebody experiences with this? Sure. You can PXE-boot DOS (which doesn't need to fit on a floppy sized image, actually). Last time I looked, there were some bootable DOS images freely available on the net -- google turns up e.g. http://www.bootdisk.com/bootdisk.htm pretty readily. So create a PXE bootable remote-mountable partition and pop the BIOS flash program on that, and write a suitable autoexec.bat. Terminate the image in the batch file with the mandatory reboot, and set up suitable DHCP toggles so that you start the flash by hand, then it defaults to a kickstart install, then it defaults to a local disk boot, in that order. > In the worst case, the DOS environment is working autonomously and the install server is 'guessing' > whether the BIOS is flashed or not on the clients, > e.g., by analyzing the DHCP logs, but this is not what we really want. I'm hoping that the process described above IS what you want. rgb > > Regards > Henning Fehrmann > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf > -- Robert G. Brown http://www.phy.duke.edu/~rgb/ Duke University Dept. of Physics, Box 90305 Durham, N.C. 27708-0305 Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu From libo at buaa.edu.cn Sat Aug 11 20:54:24 2007 From: libo at buaa.edu.cn (Li, Bo) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> Message-ID: <000c01c7dc94$7df53180$6300a8c0@JSIIBM> Hello, Try to boot on a flash, you can have everything you need. And it is not difficult to have a updater working on Win/Linux system. Regards, Li, Bo ----- Original Message ----- From: "Henning Fehrmann" To: Sent: Thursday, August 09, 2007 10:15 PM Subject: [Beowulf] BIOS > Hello, > > we are interested in flashing a BIOS image and in manipulating the NVRAM of the motherboard > automatically. > > Unfortunately, using certain vendors, the access to the NVRAM is not straightforward. > These vendors are offering DOS tools only, to write in the NVRAM, hence, we have to boot > a DOS image and here starts the trouble. > > Optimally, using the DOS environment does following things: > * flashes the BIOS > * sets the NVRAM > * sends a message to the install server > > The last point is necessary to prepare pxeboot for the installation process. > It also means, we need networking under DOS. > In particular, we are looking for a DOS-DHCP client. Everything needs to be packed on > a 2,9M floppy image. > > Has somebody experiences with this? > > In the worst case, the DOS environment is working autonomously and the install server is 'guessing' > whether the BIOS is flashed or not on the clients, > e.g., by analyzing the DHCP logs, but this is not what we really want. > > Regards > Henning Fehrmann > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf From geoff at galitz.org Sun Aug 12 09:28:42 2007 From: geoff at galitz.org (Geoff Galitz) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <20070809141520.GA605@gretchen.aei.uni-hannover.de> References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> Message-ID: <977968EF24624B2E8EB54B432E1B1AB0@geoffFS> Is the "send message to install server" actually needed. I don't know your setup. I have made netbootable DOS images to do firmware updates, but without any networking in the DOS image. I wrote the image to load any needed hardware drivers, have the firmware updater directly in the image, run the updater from an autoexec.bat file and then reboot. All automatic Woolah! Updated nodes. -geoff ----- Original Message ----- From: "Henning Fehrmann" To: Sent: Thursday, August 09, 2007 4:15 PM Subject: [Beowulf] BIOS > Hello, > > we are interested in flashing a BIOS image and in manipulating the NVRAM > of the motherboard > automatically. > > Unfortunately, using certain vendors, the access to the NVRAM is not > straightforward. > These vendors are offering DOS tools only, to write in the NVRAM, hence, > we have to boot > a DOS image and here starts the trouble. > > Optimally, using the DOS environment does following things: > * flashes the BIOS > * sets the NVRAM > * sends a message to the install server > > The last point is necessary to prepare pxeboot for the installation > process. > It also means, we need networking under DOS. > In particular, we are looking for a DOS-DHCP client. Everything needs to > be packed on > a 2,9M floppy image. > > Has somebody experiences with this? > > In the worst case, the DOS environment is working autonomously and the > install server is 'guessing' > whether the BIOS is flashed or not on the clients, > e.g., by analyzing the DHCP logs, but this is not what we really want. > > Regards > Henning Fehrmann > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > From carsten.aulbert at aei.mpg.de Sat Aug 11 23:07:51 2007 From: carsten.aulbert at aei.mpg.de (Carsten Aulbert) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> Message-ID: <46BEA3B7.4010806@aei.mpg.de> Hi Robert, hi all Robert G. Brown wrote: > On Thu, 9 Aug 2007, Henning Fehrmann wrote: >> Has somebody experiences with this? > > Sure. You can PXE-boot DOS (which doesn't need to fit on a floppy sized > image, actually). Last time I looked, there were some bootable DOS > images freely available on the net -- google turns up e.g. > > http://www.bootdisk.com/bootdisk.htm > > pretty readily. So create a PXE bootable remote-mountable partition and > pop the BIOS flash program on that, and write a suitable autoexec.bat. > Terminate the image in the batch file with the mandatory reboot, and set > up suitable DHCP toggles so that you start the flash by hand, then it > defaults to a kickstart install, then it defaults to a local disk boot, > in that order. > Thanks for the link. In principle we have everything working already that way, but want to "excel" a bit more: (1) Right now we use memdisk from the syslinux/isolinux family to boot the dos image. Booting an exact floppy image works fine, but for some part in (2) we might need more space than a 2,88 MB floppy or its extended pendant gives to us. Thus we are currently trying to boot a hd image which sems to be a bit trickier than a simple floppy image (getting boot code, partition table right for example). (2) We want to have some feedback from the process and don't want to have an automatic reboot after a possible failure because in the worst case this might "brickify" a node. Once I had the problem, that automatic BIOS flashing worked, but one node - which looked similar but behaved differently - was not able to finish the flashing procedure successfully. Since I was monitoring the node I was able to redo the flashing with a different option [1]. Anyway, that's the reason why we want to include a dhcp client and some means, possibly a ssh or rsh client along with the needed packetdriver to the image and notify the server that way, that it successfully flashed the BIOS and set our custom settings correctly. Only after that the nodes should continue FAIing. But maybe we are just too cautious. Greetings Carsten PS: Anyone an idea, why my emails end up for moderators approval every time? I have just checked the settings, but I'm subscribed (with this from address) and everything looks fine for me. [1] I still don't know what wsa special to this node. All other nodes were happy to get the BIOS flashed, but this particular one needed a special switch from the AMI(?) flash tool. I don't really remember what was wrong since this was at the end of the past millennium ;) >> In the worst case, the DOS environment is working autonomously and the >> install server is 'guessing' >> whether the BIOS is flashed or not on the clients, >> e.g., by analyzing the DHCP logs, but this is not what we really want. > > I'm hoping that the process described above IS what you want. > > rgb > >> >> Regards >> Henning Fehrmann >> _______________________________________________ >> Beowulf mailing list, Beowulf@beowulf.org >> To change your subscription (digest mode or unsubscribe) visit >> http://www.beowulf.org/mailman/listinfo/beowulf >> > From jason.bishop at clustercorp.com Sun Aug 12 01:45:45 2007 From: jason.bishop at clustercorp.com (jason bishop) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> Message-ID: On Aug 11, 2007, at 8:44 PM, Robert G. Brown wrote: > > Sure. You can PXE-boot DOS (which doesn't need to fit on a floppy > sized > image, actually). Last time I looked, there were some bootable DOS > images freely available on the net -- google turns up e.g. > > http://www.bootdisk.com/bootdisk.htm > > pretty readily. So create a PXE bootable remote-mountable > partition and > pop the BIOS flash program on that, and write a suitable autoexec.bat. > Terminate the image in the batch file with the mandatory reboot, > and set > up suitable DHCP toggles so that you start the flash by hand, then it > defaults to a kickstart install, then it defaults to a local disk > boot, > in that order. I've had good luck with a slight variation on this. using a 32bit linux install, fire up dosemu with a pseudo hard drive set to a file. fdisk it, format it, sys it and copy everything you will need to it. shut down dosemu and gzip the file. you can then drop the file into your tftpboot dir and pxe boot machines from it. jason From rgb at phy.duke.edu Sun Aug 12 12:45:45 2007 From: rgb at phy.duke.edu (Robert G. Brown) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <46BEA3B7.4010806@aei.mpg.de> References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> <46BEA3B7.4010806@aei.mpg.de> Message-ID: On Sun, 12 Aug 2007, Carsten Aulbert wrote: > Thanks for the link. In principle we have everything working already > that way, but want to "excel" a bit more: No, no, no. You want to "ooffice" a little more...;-) > > (1) Right now we use memdisk from the syslinux/isolinux family to boot > the dos image. Booting an exact floppy image works fine, but for some > part in (2) we might need more space than a 2,88 MB floppy or its > extended pendant gives to us. Thus we are currently trying to boot a hd > image which sems to be a bit trickier than a simple floppy image > (getting boot code, partition table right for example). > > (2) We want to have some feedback from the process and don't want to > have an automatic reboot after a possible failure because in the worst > case this might "brickify" a node. Once I had the problem, that > automatic BIOS flashing worked, but one node - which looked similar but > behaved differently - was not able to finish the flashing procedure > successfully. Since I was monitoring the node I was able to redo the > flashing with a different option [1]. > > Anyway, that's the reason why we want to include a dhcp client and some > means, possibly a ssh or rsh client along with the needed packetdriver > to the image and notify the server that way, that it successfully > flashed the BIOS and set our custom settings correctly. Only after that > the nodes should continue FAIing. No, that's reasonable -- I just didn't understand. Autoexec.bat is dumb as a post in comparison even with /bin/sh, too. So it sounds like somebody else came up with a better recipe for booting a small partition and using dosemu -- that might give you better scripting and error recovery. Nowadays there are a variety of small linux images readily available on the web that you can burn to CD or wrap up as a netboot, I think, that include dosemu. > PS: Anyone an idea, why my emails end up for moderators approval every > time? I have just checked the settings, but I'm subscribed (with this > from address) and everything looks fine for me. It has to do with Don's two or three tier system of spam defense. There is something like a whitelist, a greylist, and a blacklist, and greylisted people are basically moderated. I don't know the algorithm he uses to move people from one to the other, but I'd guess a request and clean record spamwise might help. rgb > > [1] I still don't know what wsa special to this node. All other nodes > were happy to get the BIOS flashed, but this particular one needed a > special switch from the AMI(?) flash tool. I don't really remember what > was wrong since this was at the end of the past millennium ;) >>> In the worst case, the DOS environment is working autonomously and the >>> install server is 'guessing' >>> whether the BIOS is flashed or not on the clients, >>> e.g., by analyzing the DHCP logs, but this is not what we really want. >> >> I'm hoping that the process described above IS what you want. >> >> rgb >> >>> >>> Regards >>> Henning Fehrmann >>> _______________________________________________ >>> Beowulf mailing list, Beowulf@beowulf.org >>> To change your subscription (digest mode or unsubscribe) visit >>> http://www.beowulf.org/mailman/listinfo/beowulf >>> >> > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf > -- Robert G. Brown http://www.phy.duke.edu/~rgb/ Duke University Dept. of Physics, Box 90305 Durham, N.C. 27708-0305 Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu From coutinho at dcc.ufmg.br Sun Aug 12 16:12:52 2007 From: coutinho at dcc.ufmg.br (Bruno Coutinho) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: References: <20070809141520.GA605@gretchen.aei.uni-hannover.de> <46BEA3B7.4010806@aei.mpg.de> Message-ID: 2007/8/12, Robert G. Brown : > > On Sun, 12 Aug 2007, Carsten Aulbert wrote: > > > Thanks for the link. In principle we have everything working already > > that way, but want to "excel" a bit more: > > No, no, no. You want to "ooffice" a little more...;-) > > > > > (1) Right now we use memdisk from the syslinux/isolinux family to boot > > the dos image. Booting an exact floppy image works fine, but for some > > part in (2) we might need more space than a 2,88 MB floppy or its > > extended pendant gives to us. Thus we are currently trying to boot a hd > > image which sems to be a bit trickier than a simple floppy image > > (getting boot code, partition table right for example). > > > > (2) We want to have some feedback from the process and don't want to > > have an automatic reboot after a possible failure because in the worst > > case this might "brickify" a node. Once I had the problem, that > > automatic BIOS flashing worked, but one node - which looked similar but > > behaved differently - was not able to finish the flashing procedure > > successfully. Since I was monitoring the node I was able to redo the > > flashing with a different option [1]. > > > > Anyway, that's the reason why we want to include a dhcp client and some > > means, possibly a ssh or rsh client along with the needed packetdriver > > to the image and notify the server that way, that it successfully > > flashed the BIOS and set our custom settings correctly. Only after that > > the nodes should continue FAIing. > > No, that's reasonable -- I just didn't understand. Autoexec.bat is dumb > as a post in comparison even with /bin/sh, too. > It's dumb, but not so dumb. :-) Th syntax is crappy but it has this feature: http://www.robvanderwoude.com/errorlevel.html OBS: REM is a comment initiator like #. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20070812/03769775/attachment.html From beat at 0x1b.ch Sun Aug 12 20:41:05 2007 From: beat at 0x1b.ch (Beat Rubischon) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <46BEA3B7.4010806@aei.mpg.de> Message-ID: Hello! Am 12.8.2007 8:07 Uhr schrieb "Carsten Aulbert" unter : > Anyway, that's the reason why we want to include a dhcp client and some > means, possibly a ssh or rsh client along with the needed packetdriver > to the image and notify the server that way, that it successfully > flashed the BIOS and set our custom settings correctly. Only after that > the nodes should continue FAIing. Quite often, the flash tools even don't work when a extended memory manager like himem or emm386 is loaded - so you wouldn't have the chance to include a complete network stack. There are some basic TCP/IP stacks around. I remember XFS, this was a simple NFS client for DOS, the LANMAN Client and the Microsoft client which are located on a NT4 Server CD. Both provides access to a fileserver and are probably enough to store a semaphore file. More sophisticated staks were the IBM TCP/IP for DOS - I'm quite sure you wouldn't hve the chance to find the floppys anymore. It's probably the safest way to organize some students, give them a keyboard, a monitor and a memoy stick containing the flash files... Beat -- \|/ Beat Rubischon ( 0^0 ) http://www.0x1b.ch/~beat/ oOO--(_)--OOo--------------------------------------------------- Meine Erlebnisse, Gedanken und Traeume: http://www.0x1b.ch/blog/ From john.hearns at streamline-computing.com Mon Aug 13 01:05:58 2007 From: john.hearns at streamline-computing.com (John Hearns) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: References: Message-ID: <46C010E6.2020901@streamline-computing.com> Beat Rubischon wrote: > > It's probably the safest way to organize some students, give them a > keyboard, a monitor and a memoy stick containing the flash files... > Having been involved in this exercise several times, ie. updating and subequently resetting BIOS settings on large clusters, I agree with Beat. The only reliable way to do it is with several people, monitors and USB floppies or memory sticks. The problem (as you all know) isn't updating the BIOS, which can be done easily by PXE booting a DOS floppy image. It is the BIOS settings which are left afterwards - and I'm sepaking as someone who has tried capturing /dev/nvram settings and pushing them out to the updated nodes, which doesn't necessarily work. I would advise the original poster to read up on /dev/nvram - capture the /dev/nvram of a 'good' node in a file. Update a node via PXE, then when it is rebooted into Linux use cat goodfile > /dev/nvram A forlorn hope really. From hahn at mcmaster.ca Mon Aug 13 09:45:14 2007 From: hahn at mcmaster.ca (Mark Hahn) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <46C010E6.2020901@streamline-computing.com> References: <46C010E6.2020901@streamline-computing.com> Message-ID: > left afterwards - and I'm sepaking as someone who has tried capturing > /dev/nvram settings and pushing them out to the updated nodes, which doesn't > necessarily work. how does it fail? I'm guessing the issue is that there are LOTS more settings now than with the PC-AT (hypertransport frequency, etc). it would be most interesting to know where those are stored - perhaps even in the same flash as the bios itself? From john.hearns at streamline-computing.com Tue Aug 14 00:13:07 2007 From: john.hearns at streamline-computing.com (John Hearns) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: References: <46C010E6.2020901@streamline-computing.com> Message-ID: <1187075598.5401.2.camel@Vigor13> On Mon, 2007-08-13 at 12:45 -0400, Mark Hahn wrote: > > left afterwards - and I'm sepaking as someone who has tried capturing > > /dev/nvram settings and pushing them out to the updated nodes, which doesn't > > necessarily work. > > how does it fail? I'm guessing the issue is that there are LOTS more > settings now than with the PC-AT (hypertransport frequency, etc). > it would be most interesting to know where those are stored - perhaps > even in the same flash as the bios itself? the last time I tried using /dev/nvram in anger was with a cluster of MSI machines. As I remember, there was some subtlty with setting the serial console (we always configure machines to use a serial console). I can't remember the exact issue, but it meant that we had to do all 150 machines by hand. From carsten.aulbert at aei.mpg.de Sun Aug 12 22:42:41 2007 From: carsten.aulbert at aei.mpg.de (Carsten Aulbert) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: References: Message-ID: <46BFEF51.4010802@aei.mpg.de> Beat Rubischon wrote: > > It's probably the safest way to organize some students, give them a > keyboard, a monitor and a memoy stick containing the flash files... Might be true, but for 1000+ nodes, that's quite a thing to organize :) We will keep you posted, how we "solved" the problem. Thanks for all the suggestions. Carsten From carsten.aulbert at aei.mpg.de Mon Aug 13 00:21:01 2007 From: carsten.aulbert at aei.mpg.de (Carsten Aulbert) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <46C010E6.2020901@streamline-computing.com> References: <46C010E6.2020901@streamline-computing.com> Message-ID: <46C0065D.9030908@aei.mpg.de> John Hearns wrote: > > I would advise the original poster to read up on /dev/nvram - capture > the /dev/nvram of a 'good' node in a file. Update a node via PXE, then > when it is rebooted into Linux use cat goodfile > /dev/nvram > A forlorn hope really. The trouble with this is simply, that some modern BIOS store more information than others, especially in areas not accessible by /dev/nvram. SuperMicro has a few boards storing 256 byte(?) instead of he allowed 114 bytes. Also, at least in some of their A-series boards they seem to store the date of the last flash (or something related), thus even hacking the kernel module to read more data would not help much, since the md5 hash of each image will differ anyway. Thus one would have to reverse engineer where what is stored... quite a hassle. Cheers Carsten From jeff.johnson at wsm.com Mon Aug 13 13:26:17 2007 From: jeff.johnson at wsm.com (Jeff Johnson) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <200708131900.l7DJ0Asg017050@bluewest.scyld.com> References: <200708131900.l7DJ0Asg017050@bluewest.scyld.com> Message-ID: <46C0BE69.1050905@wsm.com> Bios updates on large clusters, wonderful way to spend a weekend... It is possible to use PXE to do bios updates and setting nvram. Success depends in part on your platform/motherboard manufacturer. Some of the manufacturers have a DOS utility that will dump the bios settings to a .bin file and the same utility can flash the .bin file to the motherboard as a single step, non-interactive and scriptable (autoexec.bat) process. If you have these utilities, a functional FreeDOS PXE image, remote power control over your cluster (IPMI or ip based PDUs) and serial console servers for your nodes it all works. I have updated 250 node clusters from across the country via an ssh tunnel in this way. The best way I have found is to update the bios on one node. Manually clear and reconfigure bios settings for your requirements. Dump the nvram using the DOS nvram utility provided by the motherboard vendor. Then add the utility and .bin file to a PXE FreeDOS image and set the script to flash the bios then flash the nvram. Done right, it works like a charm. (caveat: you must pay *very close* attention to your configs, scripts, settings, etc before unleashing an automated process like this on an entire cluster). There are things that can be done within the Linux environment to tweak machine settings. Manually editing PCI registers and dumping /dev/nvram. Personally I would not rely on those methods. Manufacturers of processors and motherboards are putting a fair amount of "windage" in the BIOS and hidden, non editable BIOS registers these days. Hiding flaws, fixing errata, etc. If you use a bios editor from AMI, for example, you can see much more going on than the settings you are presented with. Only thing worse than manually updating a bios in a cluster is bricking an entire cluster doing it the wrong way. --Jeff beowulf-request@beowulf.org wrote: > how does it fail? I'm guessing the issue is that there are LOTS more > settings now than with the PC-AT (hypertransport frequency, etc). > it would be most interesting to know where those are stored - perhaps > even in the same flash as the bios itself? -- Best Regards, Jeff Johnson Vice President Engineering/Technology Western Scientific, Inc jeff.johnson@wsm.com http://www.wsm.com 5444 Napa Street - San Diego, CA 92110 Tel 800.443.6699 +001.619.220.6580 Fax +001.619.220.6590 "Braccae tuae aperiuntur" From ianbobisveck at gmail.com Tue Aug 14 03:53:36 2007 From: ianbobisveck at gmail.com (Tim Simon) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] Open source prime number application Message-ID: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> Hi I recently built a small cluster/beowulf, out of old pentium II and III's, installed MPI, and generally felt happy. However, I dont have any applications to run on it. I have learnt some C++, but I dont really want to know how to paralyze code yet - I am more interested in the admin/building side. I would like to know if there is any open source software that will run on a beowulf, which will do something like find prime numbers, or something simillar. I cant afford a commercial program. I am guessing that there is not "one size fits all" type thing - what fits your beowulf wont fit mine. Is there anything that can be easily made to fit? I have searched all over the net, and all i can find are educational or high research type applications. I just would like something reasonably simple, (I thought prime numbers but hey, anything is good). Any ideas? I am running Red Hat FC4. Tim From dkondo at lri.fr Mon Aug 13 08:28:13 2007 From: dkondo at lri.fr (Derrick Kondo) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] [PCGRID08] CFP for Workshop on Desktop Grids and Volunteer Computing Systems Message-ID: <60ec14620708130828k43e9dfe7u7acaed9a3421a61@mail.gmail.com> CALL FOR PAPERS Second Workshop on Desktop Grids and Volunteer Computing Systems (PCGrid 2008) held in conjunction with the IEEE International Parallel & Distributed Processing Symposium (IPDPS) April 18, 2008 Miami, Florida, U.S.A. web site: http://pcgrid.lri.fr Desktop grids and volunteer computing systems (DGVCS's) utilize the free resources available in Intranet or Internet environments for supporting large-scale computation and storage. For over a decade, DGVCS's have been one of the largest and most powerful distributed computing systems in the world, offering a high return on investment for applications from a wide range of scientific domains (including computational biology, climate prediction, and high-energy physics). While DGVCS's sustain up to PetaFLOPS of computing power from hundreds of thousands to millions of resources, fully leveraging the platform's computational power is still a major challenge because of the immense scale, high volatility, and extreme heterogeneity of such systems. The purpose of the workshop is to provide a forum for discussing recent advances and identifying open issues for the development of scalable, fault-tolerant, and secure DGVCS's. The workshop seeks to bring desktop grid researchers together from theoretical, system, and application areas to identify plausible approaches for supporting applications with a range of complexity and requirements on desktop environments. Last year's workshop was a great success (see the past program here: http://pcgrid07.lri.fr/program.html). We invite submissions on DGVCS topics including the following: - DGVCS middleware and software infrastructure (including management) - incorporation of DGVCS's with Grid infrastructures - DGVCS programming environments and models - modeling, simulation, and emulation of large-scale, volatile environments - resource management and scheduling - resource measurement and characterization - novel DGVCS applications - data management (strategies, protocols, storage) - security on DGVCS's (reputation systems, result verification) - fault-tolerance on shared, volatile resources - peer-to-peer (P2P) algorithms or systems applied to DGVCS's With regard to the last topic, we strongly encourage authors of P2P-related paper submissions to emphasize the applicability to DGVCS's in order to be within the scope of the workshop. The workshop proceedings will be published through the IEEE Computer Society Press as part of the IPDPS CD-ROM. ###################################################################### IMPORTANT DATES Manuscript submission deadline: October 15, 2007 Acceptance Notification: December 21, 2007 Camera-ready paper deadline: January 28,2008 Workshop: April 18, 2008 ###################################################################### SUBMISSIONS Manuscripts will be evaluated based on their originality, technical strength, quality of presentation, and relevance to the workshop scope. Only manuscripts that have neither appeared nor been submitted previously for publication are allowed. Authors are invited to submit a manuscript of up to 8 pages in IEEE format (10pt font, two-columns, single-spaced). The procedure for electronic submissions will be posted at: http://pcgrid.lri.fr/submission.html ##################################################################### ORGANIZATION General Chairs Franck Cappello, INRIA, France Gilles Fedak, INRIA, France Program Chair Derrick Kondo, INRIA, France Program Committee David Anderson, University of California at Berkeley, USA Artur Andrzejak, Zuse Institute of Berlin, Germany Filipe Araujo, University of Coimbra, Portugal Henri Bal, Vrije Universiteit, The Netherlands Zoltan Balaton, SZTAKI, Hungary Henri Casanova, University of Hawaii at Manoa, USA Abhishek Chandra, University of Minnesota, USA Frederic Desprez, INRIA, France Rudolf Eigenmann, Purdue University, USA Renato Figueiredo, University of Florida, USA Fabrice Huet, University of Nice Sophia Antipolis, France Peter Kacsuk, SZTAKI, Hungary Arnaud Legrand, CNRS, France Mario Lauria, Ohio State University, USA Virginia Lo, University of Oregon, USA Grzegorz Malewicz, Google Inc., USA Fernando Pedone, University of Lugano, Switzerland Kevin Reed, World Community Grid, USA Olivier Richard, ID-IMAG, France Arnold L. Rosenberg, University of Massachusetts Amherst, USA Mitsuhisa Sato, University of Tsukuba, Japan Luis Silva, University of Coimbra, Portugal Alan Sussman, University of Maryland, USA Michela Taufer, University of Delaware, USA Douglas Thain, University of Notre Dame, USA Bernard Traversat, SUN Inc., USA From john.hearns at streamline-computing.com Wed Aug 15 15:44:51 2007 From: john.hearns at streamline-computing.com (John Hearns) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] Open source prime number application In-Reply-To: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> References: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> Message-ID: <1187217901.6330.2.camel@Vigor13> On Tue, 2007-08-14 at 20:23 +0930, Tim Simon wrote: > Hi > > > I recently built a small cluster/beowulf, out of old pentium II and > III's, installed MPI, and generally felt happy. However, I dont have > any applications to run on it. > > I have learnt some C++, but I dont really want to know how to paralyze ^^^^^^^^^ > code yet - I believe the term here is "Freudian slip". > I am more interested in the admin/building side. The madness will pass. Give it twenty or thirty years. From deadline at eadline.org Wed Aug 15 17:14:04 2007 From: deadline at eadline.org (Douglas Eadline) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] Open source prime number application In-Reply-To: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> References: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> Message-ID: <47062.192.168.1.1.1187223244.squirrel@mail.eadline.org> I think they found all the prime numbers already :))) To impress friends check out (parallel rendering): http://www.verrall.demon.co.uk/mpipov/ I believe seti@home and folding@home can use clusters (google for them) Then there is also parallel genetic algorithms. some coding needed but an interesting use for extra cycles. http://www-fp.mcs.anl.gov/CCST/research/reports_pre1998/comp_bio/stalk/pgapack.html There are others, google around. If you want to learn about MPI, check out this tutorial (or grab one of the MPI books): http://www.clustermonkey.net//content/category/5/13/32/ Or, for more general information, check out http://www.clustermonkey.net//content/category/5/14/32/ -- Doug > Hi > > > I recently built a small cluster/beowulf, out of old pentium II and > III's, installed MPI, and generally felt happy. However, I dont have > any applications to run on it. > > I have learnt some C++, but I dont really want to know how to paralyze > code yet - I am more interested in the admin/building side. > > I would like to know if there is any open source software that will > run on a beowulf, which will do something like find prime numbers, or > something simillar. I cant afford a commercial program. > > I am guessing that there is not "one size fits all" type thing - what > fits your beowulf wont fit mine. Is there anything that can be easily > made to fit? I have searched all over the net, and all i can find are > educational or high research type applications. I just would like > something reasonably simple, (I thought prime numbers but hey, > anything is good). > > Any ideas? > > I am running Red Hat FC4. > > > Tim > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > > !DSPAM:46c3799f188308298414181! > -- Doug From gmpc at sanger.ac.uk Thu Aug 16 01:39:52 2007 From: gmpc at sanger.ac.uk (Guy Coates) Date: Sat May 10 01:06:17 2008 Subject: [Beowulf] BIOS In-Reply-To: <46C010E6.2020901@streamline-computing.com> References: <46C010E6.2020901@streamline-computing.com> Message-ID: <46C40D58.10006@sanger.ac.uk> John Hearns wrote: > Beat Rubischon wrote: >> >> It's probably the safest way to organize some students, give them a >> keyboard, a monitor and a memoy stick containing the flash files... >> > Having been involved in this exercise several times, ie. updating and > subequently resetting BIOS settings on large clusters, I agree with Beat. > The only reliable way to do it is with several people, monitors and USB > floppies or memory sticks. Or spend money on "proper" server hardware. IBM provide their advanced setting utility: http://publib.boulder.ibm.com/infocenter/toolsctr/v1r0/index.jsp?topic=/com.ibm.xseries.tools.doc/config_tools_asu.html and HP have their smartstart scripting toolkit: http://h18004.www1.hp.com/products/servers/management/toolkit/index.html which allows you to automate the twiddling of BIOS settings. Don't leave home without em. I'm sure the other tier 1 vendors have similar products, but those are the two I've used in anger. Cheers, Guy -- Dr. Guy Coates, Informatics System Group The Wellcome Trust Sanger Institute, Hinxton, Cambridge, CB10 1HH, UK Tel: +44 (0)1223 834244 x 6925 Fax: +44 (0)1223 496802 -- The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE. From nvigier at mandriva.com Thu Aug 16 02:16:13 2007 From: nvigier at mandriva.com (Nicolas Vigier) Date: Sat May 10 01:06:18 2008 Subject: [Beowulf] openmosix-kernel-2.6 In-Reply-To: <200708080939.48716.csamuel@vpac.org> References: <012601c7d929$704bf0a0$f6339780@libra.cc.rochester.edu> <200708080939.48716.csamuel@vpac.org> Message-ID: <20070816091613.GA17700@mandriva.com> On Wed, 08 Aug 2007, Chris Samuel wrote: > On Wed, 8 Aug 2007, A Lenzo wrote: > > > I am installing OpenMosix right now, and found that the kernel for > > 2.6 is in beta.? But this beta was released in late 2006 and I > > don't see anything newer.? > > http://sourceforge.net/forum/forum.php?forum_id=715406 > > # Moshe Bar, openMosix founder and project leader, has announced plans > # to end the openMosix Project effective March 1, 2008. > [...] > # openMosix source will remain on SourceForge indefinitely, frozen as > # of March 1st, 2008. The openMosix website will remain open until > # March 1st, 2008 and the openMosix-Devel List will close as of > # December 1, 2007. > > It's probably time to start looking somewhere else, maybe start > porting your codes to distributed memory models like MPI. Kerrighed could be an alternative : http://www.kerrighed.org/ I think it is not really ready for production yet, but it is being actively developed. regards, Nicolas From rgb at phy.duke.edu Thu Aug 16 10:08:42 2007 From: rgb at phy.duke.edu (Robert G. Brown) Date: Sat May 10 01:06:18 2008 Subject: [Beowulf] Open source prime number application In-Reply-To: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> References: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> Message-ID: On Tue, 14 Aug 2007, Tim Simon wrote: > I would like to know if there is any open source software that will > run on a beowulf, which will do something like find prime numbers, or > something simillar. I cant afford a commercial program. > > I am guessing that there is not "one size fits all" type thing - what > fits your beowulf wont fit mine. Is there anything that can be easily > made to fit? I have searched all over the net, and all i can find are > educational or high research type applications. I just would like > something reasonably simple, (I thought prime numbers but hey, > anything is good). Writing your own is good. Hunting for primes is actually something that will parallelize decently simply because the Sieve of Erasthones for a proposed number N only requires that you try all the primes found up to N/2. Therefore a collection of nodes can contain and share all the primes found up to N-1, and distribute the testing of N, N+2, N+4, N+6... N+M (obviously skipping all even numbers) as long as N+M < 2N. For a small number M of nodes, if you precompute and load all the primes less than M -- trivially done -- then you're in business. You will have a few longer term problems. A single processor can sieve all the unsigned int primes from 0-(2^32-1) out fairly quickly anyway. To go beyond this, you'll need to use symbolic division instead of binary computer arithmetic, I think. You'll also run into storage/memory problems as you start to get a significant number of primes in your running table. But it is a fun problem, for sure. Go for it. Beyond that, there are a number of programs people use to play with or demonstrate a beowulf's speedup. The "funnest" is any of the rubberbandable Mandelbrot set exploration tools parallelized on top of MPI or PVM -- makes nifty graphics. It isn't quite as cool as it used to be because Moore's Law has overwhelmed the computational difficulty of the task. When I started in this business, it might have taken minutes to compute a rubberbanding down into the MS, depending on where one was (and how deep one had to go on all those pixels to terminate). Parallelize that on sixty or so nodes and it drops DRAMATICALLY to seconds. Now CPUs are so fast that a SINGLE CPU can rubberband down in a second or two, and networks haven't kept pace so that computing the pixels in a single thread might actually be faster than splitting them. So speedup is a bit less dramatic, but still very cool. rgb > I am running Red Hat FC4. Hmmm, might at least TRY 6 or 7. > > > Tim > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf > -- Robert G. Brown http://www.phy.duke.edu/~rgb/ Duke University Dept. of Physics, Box 90305 Durham, N.C. 27708-0305 Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu From peter.st.john at gmail.com Thu Aug 16 13:10:47 2007 From: peter.st.john at gmail.com (Peter St. John) Date: Sat May 10 01:06:18 2008 Subject: [Beowulf] Open source prime number application In-Reply-To: References: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> Message-ID: Tim, I thought about this some. I don't have a cluster, but I can program in C; you have a cluster, but don't want to program too much. It's possible we can help each other. A toy application I thought of is finding numbers that can written as a sum of two cubes in two different ways (there's a famous story about Ramanujan recognizing the four-digit number of a taxicab as "the smallest number than can be expressed as a sum of two cubes in two distinct ways"). So I had this plan. I went to wiki and got the source of an MPI "hello world" application, http://en.wikipedia.org/wiki/Message_Passing_Interface Then I wrote a C program to take a range of numbers, say 1000 to 1999, and find the numbers in that interval that have the taxicab quality (it turns out that's what such numbers are called now!). Since I don't have the MPI library or a cluster I can't test the integrated thing, so at the moment all I have is the wiki example (which just fills a buffer with "I am node #" for later reporting), which presumably is an OK example of MPI, and my own code (which just does arithmetic) which I tested myself. So if you wanted, you could try and integrate these, and see if you can find bigger reults by compiling for 64 bit arithmetic. My program wastes a huge amount of redundant calculation; it's only virtue is to split the memory required among nodes. So it computes x^3 + y^3 for silly huge ranges of x and y, at each node, but only stores results for comparisons in limited ranges which can be split up among nodes. I was disappointed at first because I only got 1729 (which was Ramanujan's number, the smallest), and 4,104: C:\PeteStJohn\Experiments\Ramanujan\Debug>ramanujan Deubg: i = 0 DEBUG: HIT: 01729 = 12^3 + 1^3, 01729 = 10^3 + 9^3 DEBUG: HIT: 04104 = 16^3 + 2^3, 04104 = 15^3 + 9^3 Deubg: i = 1000 DEBUG: i = 1588 is too big. Findrama made 2 hits Winner 4104: = 16 + 2 = 15 + 9 but I checked, putting those two numbers, 1729 and 4104, into the Online Encyclopedia of Integer Sequences http://www.research.att.com/~njas/sequences/?q=1729%2C+4104&language=english&go=Search, and that got me the "Taxi Cab Sequence" and the next value is 13,832. My program is naive, using an exhaustive and redundant search, with only 32 bit, so I get stuck when 1588 is too big becaues it's cube is bigger than about 4 billion, the extent of a 32 bit int. Also I didn't take the time even to accommodate the signum bit. I suggest you look at the wiki link. If you want to hack that code (which could be confusing because the address of something in this node's memory may not make sense when passed to some other node, but the MPI library makes some accommodation) let me know and I'll send you my C program, to call from inside that Wiki program. You might start by just running the wiki example, and see if it works and what you have to do to make it work. If that seems like fun then we can try doing math with it. I think I'll integrate them myself, but I wouldn't be able to test it directly. If you think this toy project is the kind of thing you could use let me know. Maybe some day you will run my genetic algorithm app, which is not a toy, for me, and I won't need a cluster :-) Well, here. It's not that big a program so I'll just paste it in. Serious software engineers may avert their eyes. // FindRama // Toy parallelizable math application // Pete St.John 8/2007 // #include #include #include #define BIGGEST 4000000000 // sloppy way to deal with 32-bit limitation struct pair { long x; long y; }; // a pair of integers; the sum of their cubes matters to us. struct winner { long win; struct pair first; struct pair second; }; // any pair you want to keep and report, e.g. the largest summand found in the range. int findrama(int myid, long z1, long z2, struct winner *winnerp); // findrama finds numbers which are sums of cubes in two distince ways, // e.g. 1729 = 12^3 + 1^3 but also = 10^3 + 9^3 // "myid" is the hypothetical node number of the MPI instance that would invoke this // z1 and z2 are the range of numbers to search, e.g. 1729 might be found // between 1000 and 19999; // winner is the "best" result found, which in this example is the largest. int main(int argc, char **argv) { // I'm not doing much in this main. We want to use the wiki MPI example // main to call "findrama" with a range of numbers, perhaps based on myid; e.g. // node 1 does z = 1 to 1999, node 2 does 2000 to 2999, etc, based on the number // of nodes you have and the largest arithmetic you can do. int myid; int hits; struct winner mywinner; myid = 0; hits = findrama(myid, 1, 10000, &mywinner); printf("Findrama made %d hits\n", hits); if(hits < 0) { printf("Error, probably malloc error.\n"); return 0; } printf("Winner %d:\n", mywinner.win); printf("= %d, %d\n", mywinner.first.x, mywinner.first.y); printf("= %d, %d\n", mywinner.second.x, mywinner.second.y); return 0; } int findrama(int myid, long z1, long z2, struct winner *winnerp) { struct pair *p; long range; long i, j, k; int hits; long bigz, z; long xi, xj; long xsum; //struct pair newpair; struct winner mywinner; bigz = 0; hits = 0; range = (z2 - z1); p = malloc( range * sizeof(struct pair)); // // malloc should return a pointer to a range of allocated memory // large enough for "range" pairs, and pair takes up space for two long integers. // if(!p) { fprintf(stderr, "Error: unable to malloc at myid = %d\n", myid); return -1; } // in the zth offset we will store the pair x, y st x^3 + y^3 = z^3 // for z in the range from z1 <= z < z2 // zero out for(i=0; i < range; i++) { p[i].x = 0; p[i].y = 0; } //z2cube = z2 * z2 * z2; for(i = 0; i < z2; i++) { xi = i*i*i; if(xi > BIGGEST) { printf("DEBUG: i = %d is too big.\n", i); break; } // debug if(i%1000 == 0) { printf("Deubg: i = %d\n", i); } for(j = 0; j <= i; j++) { xj = j*j*j; xsum = xi + xj; if(xsum > z2) { // we've exceeded our range break; } for(k = 0; k< range; k++) { z = z1 + k; if(z == xsum) { if(p[z].x == 0 && p[z].y == 0) { // found this sum of cubes for the first time p[z].x = i; p[z].y = j; } else { // we have discovered a number that // can be written as a sum of two cubes // in two distince ways. hits++; printf("DEBUG: HIT:\n %05d = %d^3 + %d^3,\n %05d = %d^3 + %d^3\n", z, i, j, z, p[z].x, p[z].y ); mywinner.win = z; mywinner.first.x = i; mywinner.first.y = j; mywinner.second.x = p[z].x; mywinner.second.y = p[z].y; } } } } } winnerp->win = mywinner.win; winnerp->first.x = mywinner.first.x; winnerp->first.y = mywinner.first.y; winnerp->second.x = mywinner.second.x; winnerp->second.y = mywinner.second.y; return hits; } Peter On 8/16/07, Robert G. Brown wrote: > > On Tue, 14 Aug 2007, Tim Simon wrote: > > > I would like to know if there is any open source software that will > > run on a beowulf, which will do something like find prime numbers, or > > something simillar. I cant afford a commercial program. > > > > I am guessing that there is not "one size fits all" type thing - what > > fits your beowulf wont fit mine. Is there anything that can be easily > > made to fit? I have searched all over the net, and all i can find are > > educational or high research type applications. I just would like > > something reasonably simple, (I thought prime numbers but hey, > > anything is good). > > Writing your own is good. Hunting for primes is actually something that > will parallelize decently simply because the Sieve of Erasthones for a > proposed number N only requires that you try all the primes found up to > N/2. Therefore a collection of nodes can contain and share all the > primes found up to N-1, and distribute the testing of N, N+2, N+4, > N+6... N+M (obviously skipping all even numbers) as long as N+M < 2N. > > For a small number M of nodes, if you precompute and load all the primes > less than M -- trivially done -- then you're in business. > > You will have a few longer term problems. A single processor can sieve > all the unsigned int primes from 0-(2^32-1) out fairly quickly anyway. > To go beyond this, you'll need to use symbolic division instead of > binary computer arithmetic, I think. You'll also run into > storage/memory problems as you start to get a significant number of > primes in your running table. > > But it is a fun problem, for sure. Go for it. > > Beyond that, there are a number of programs people use to play with or > demonstrate a beowulf's speedup. The "funnest" is any of the > rubberbandable Mandelbrot set exploration tools parallelized on top of > MPI or PVM -- makes nifty graphics. It isn't quite as cool as it used > to be because Moore's Law has overwhelmed the computational difficulty > of the task. When I started in this business, it might have taken > minutes to compute a rubberbanding down into the MS, depending on where > one was (and how deep one had to go on all those pixels to terminate). > Parallelize that on sixty or so nodes and it drops DRAMATICALLY to > seconds. > > Now CPUs are so fast that a SINGLE CPU can rubberband down in a second > or two, and networks haven't kept pace so that computing the pixels in a > single thread might actually be faster than splitting them. So speedup > is a bit less dramatic, but still very cool. > > rgb > > > I am running Red Hat FC4. > > Hmmm, might at least TRY 6 or 7. > > > > > > > > Tim > > _______________________________________________ > > Beowulf mailing list, Beowulf@beowulf.org > > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > > > > -- > Robert G. Brown http://www.phy.duke.edu/~rgb/ > Duke University Dept. of Physics, Box 90305 > Durham, N.C. 27708-0305 > Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu > > > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20070816/caa7e732/attachment.html From peter.st.john at gmail.com Thu Aug 16 14:18:33 2007 From: peter.st.john at gmail.com (Peter St. John) Date: Sat May 10 01:06:18 2008 Subject: [Beowulf] Open source prime number application In-Reply-To: <2ad0f9f60708161352w249e1ff1r5b4fbbb607bd5329@mail.gmail.com> References: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> <2ad0f9f60708161352w249e1ff1r5b4fbbb607bd5329@mail.gmail.com> Message-ID: Ssssh. I'm trying to take over Tim's cluster. peter On 8/16/07, Jack C wrote: > > Peter, > > You can always install MPI on a single host to test your code, even if you > don't have a cluster. You can even run multple threads on that single host, > it just won;t have the speedup that multiple hosts would. > > -Jack Carrozzo > > On 8/16/07, Peter St. John wrote: > > > > Tim, > > I thought about this some. I don't have a cluster, but I can program in > > C; you have a cluster, but don't want to program too much. It's possible we > > can help each other. > > > > A toy application I thought of is finding numbers that can written as a > > sum of two cubes in two different ways (there's a famous story about > > Ramanujan recognizing the four-digit number of a taxicab as "the smallest > > number than can be expressed as a sum of two cubes in two distinct ways"). > > > > So I had this plan. I went to wiki and got the source of an MPI "hello > > world" application, http://en.wikipedia.org/wiki/Message_Passing_Interface > > > > > > Then I wrote a C program to take a range of numbers, say 1000 to 1999, > > and find the numbers in that interval that have the taxicab quality (it > > turns out that's what such numbers are called now!). > > Since I don't have the MPI library or a cluster I can't test the > > integrated thing, so at the moment all I have is the wiki example (which > > just fills a buffer with "I am node #" for later reporting), which > > presumably is an OK example of MPI, and my own code (which just does > > arithmetic) which I tested myself. So if you wanted, you could try and > > integrate these, and see if you can find bigger reults by compiling for 64 > > bit arithmetic. > > > > My program wastes a huge amount of redundant calculation; it's only > > virtue is to split the memory required among nodes. So it computes x^3 + y^3 > > for silly huge ranges of x and y, at each node, but only stores results for > > comparisons in limited ranges which can be split up among nodes. > > > > I was disappointed at first because I only got 1729 (which was > > Ramanujan's number, the smallest), and 4,104: > > > > C:\PeteStJohn\Experiments\Ramanujan\Debug>ramanujan > > Deubg: i = 0 > > DEBUG: HIT: > > 01729 = 12^3 + 1^3, > > 01729 = 10^3 + 9^3 > > DEBUG: HIT: > > 04104 = 16^3 + 2^3, > > 04104 = 15^3 + 9^3 > > Deubg: i = 1000 > > DEBUG: i = 1588 is too big. > > Findrama made 2 hits > > Winner 4104: > > = 16 + 2 > > = 15 + 9 > > > > but I checked, putting those two numbers, 1729 and 4104, into the Online > > Encyclopedia of Integer Sequences http://www.research.att.com/~njas/sequences/?q=1729%2C+4104&language=english&go=Search > > , and that got me the "Taxi Cab Sequence" and the next value is 13,832. > > My program is naive, using an exhaustive and redundant search, with only 32 > > bit, so I get stuck when 1588 is too big becaues it's cube is bigger than > > about 4 billion, the extent of a 32 bit int. Also I didn't take the time > > even to accommodate the signum bit. > > > > I suggest you look at the wiki link. If you want to hack that code > > (which could be confusing because the address of something in this node's > > memory may not make sense when passed to some other node, but the MPI > > library makes some accommodation) let me know and I'll send you my C > > program, to call from inside that Wiki program. > > > > You might start by just running the wiki example, and see if it works > > and what you have to do to make it work. If that seems like fun then we can > > try doing math with it. > > > > I think I'll integrate them myself, but I wouldn't be able to test it > > directly. If you think this toy project is the kind of thing you could use > > let me know. Maybe some day you will run my genetic algorithm app, which is > > not a toy, for me, and I won't need a cluster :-) > > > > Well, here. It's not that big a program so I'll just paste it in. > > Serious software engineers may avert their eyes. > > > > > > // FindRama > > // Toy parallelizable math application > > // Pete St.John 8/2007 > > // > > > > #include > > #include > > #include > > > > > > #define BIGGEST 4000000000 > > // sloppy way to deal with 32-bit limitation > > > > struct pair > > { > > long x; > > long y; > > }; > > // a pair of integers; the sum of their cubes matters to us. > > > > struct winner > > { > > long win; > > struct pair first; > > struct pair second; > > }; > > // any pair you want to keep and report, e.g. the largest summand found > > in the range. > > > > int findrama(int myid, long z1, long z2, struct winner *winnerp); > > // findrama finds numbers which are sums of cubes in two distince ways, > > // e.g. 1729 = 12^3 + 1^3 but also = 10^3 + 9^3 > > // "myid" is the hypothetical node number of the MPI instance that would > > invoke this > > // z1 and z2 are the range of numbers to search, e.g. 1729 might be > > found > > // between 1000 and 19999; > > // winner is the "best" result found, which in this example is the > > largest. > > > > > > int main(int argc, char **argv) > > { > > // I'm not doing much in this main. We want to use the wiki MPI example > > // main to call "findrama" with a range of numbers, perhaps based on > > myid; e.g. > > // node 1 does z = 1 to 1999, node 2 does 2000 to 2999, etc, based on > > the number > > // of nodes you have and the largest arithmetic you can do. > > > > int myid; > > > > int hits; > > > > struct winner mywinner; > > > > myid = 0; > > > > hits = findrama(myid, 1, 10000, &mywinner); > > > > printf("Findrama made %d hits\n", hits); > > > > if(hits < 0) > > { > > printf("Error, probably malloc error.\n"); > > return 0; > > } > > > > printf("Winner %d:\n", mywinner.win); > > printf("= %d, %d\n", mywinner.first.x, mywinner.first.y); > > printf("= %d, %d\n", mywinner.second.x, mywinner.second.y); > > > > return 0; > > } > > > > int findrama(int myid, long z1, long z2, struct winner *winnerp) > > { > > struct pair *p; > > long range; > > long i, j, k; > > int hits; > > long bigz, z; > > long xi, xj; > > long xsum; > > > > //struct pair newpair; > > struct winner mywinner; > > > > bigz = 0; > > > > hits = 0; > > > > range = (z2 - z1); > > p = malloc( range * sizeof(struct pair)); > > // > > // malloc should return a pointer to a range of allocated memory > > // large enough for "range" pairs, and pair takes up space for two long > > integers. > > // > > > > if(!p) > > { > > fprintf(stderr, "Error: unable to malloc at myid = %d\n", myid); > > return -1; > > } > > // in the zth offset we will store the pair x, y st x^3 + y^3 = z^3 > > // for z in the range from z1 <= z < z2 > > > > // zero out > > for(i=0; i < range; i++) > > { > > p[i].x = 0; > > p[i].y = 0; > > > > } > > > > //z2cube = z2 * z2 * z2; > > > > for(i = 0; i < z2; i++) > > { > > xi = i*i*i; > > > > if(xi > BIGGEST) > > { > > printf("DEBUG: i = %d is too big.\n", i); > > break; > > } > > > > // debug > > if(i%1000 == 0) > > { > > printf("Deubg: i = %d\n", i); > > } > > > > for(j = 0; j <= i; j++) > > { > > xj = j*j*j; > > xsum = xi + xj; > > > > if(xsum > z2) > > { > > // we've exceeded our range > > break; > > } > > > > for(k = 0; k< range; k++) > > { > > z = z1 + k; > > > > if(z == xsum) > > { > > if(p[z].x == 0 && p[z].y == 0) > > { > > // found this sum of cubes for the first time > > p[z].x = i; > > p[z].y = j; > > } > > else > > { > > // we have discovered a number that > > // can be written as a sum of two cubes > > // in two distince ways. > > hits++; > > > > printf("DEBUG: HIT:\n %05d = %d^3 + %d^3,\n %05d = %d^3 + %d^3\n", > > z, i, j, z, p[z].x, p[z].y > > ); > > mywinner.win = z; > > mywinner.first.x = i; > > mywinner.first.y = j; > > mywinner.second.x = p[z].x; > > mywinner.second.y = p[z].y; > > } > > } > > } > > } > > } > > winnerp->win = mywinner.win; > > winnerp->first.x = mywinner.first.x; > > winnerp->first.y = mywinner.first.y; > > winnerp->second.x = mywinner.second.x; > > winnerp->second.y = mywinner.second.y; > > > > > > > > return hits; > > } > > > > Peter > > > > > > > > > > On 8/16/07, Robert G. Brown wrote: > > > > > > On Tue, 14 Aug 2007, Tim Simon wrote: > > > > > > > I would like to know if there is any open source software that will > > > > run on a beowulf, which will do something like find prime numbers, > > > or > > > > something simillar. I cant afford a commercial program. > > > > > > > > I am guessing that there is not "one size fits all" type thing - > > > what > > > > fits your beowulf wont fit mine. Is there anything that can be > > > easily > > > > made to fit? I have searched all over the net, and all i can find > > > are > > > > educational or high research type applications. I just would like > > > > something reasonably simple, (I thought prime numbers but hey, > > > > anything is good). > > > > > > Writing your own is good. Hunting for primes is actually something > > > that > > > will parallelize decently simply because the Sieve of Erasthones for a > > > > > > proposed number N only requires that you try all the primes found up > > > to > > > N/2. Therefore a collection of nodes can contain and share all the > > > primes found up to N-1, and distribute the testing of N, N+2, N+4, > > > N+6... N+M (obviously skipping all even numbers) as long as N+M < 2N. > > > > > > For a small number M of nodes, if you precompute and load all the > > > primes > > > less than M -- trivially done -- then you're in business. > > > > > > You will have a few longer term problems. A single processor can > > > sieve > > > all the unsigned int primes from 0-(2^32-1) out fairly quickly anyway. > > > To go beyond this, you'll need to use symbolic division instead of > > > binary computer arithmetic, I think. You'll also run into > > > storage/memory problems as you start to get a significant number of > > > primes in your running table. > > > > > > But it is a fun problem, for sure. Go for it. > > > > > > Beyond that, there are a number of programs people use to play with or > > > demonstrate a beowulf's speedup. The "funnest" is any of the > > > rubberbandable Mandelbrot set exploration tools parallelized on top of > > > MPI or PVM -- makes nifty graphics. It isn't quite as cool as it used > > > to be because Moore's Law has overwhelmed the computational difficulty > > > > > > of the task. When I started in this business, it might have taken > > > minutes to compute a rubberbanding down into the MS, depending on > > > where > > > one was (and how deep one had to go on all those pixels to terminate). > > > Parallelize that on sixty or so nodes and it drops DRAMATICALLY to > > > seconds. > > > > > > Now CPUs are so fast that a SINGLE CPU can rubberband down in a second > > > or two, and networks haven't kept pace so that computing the pixels in > > > a > > > single thread might actually be faster than splitting them. So > > > speedup > > > is a bit less dramatic, but still very cool. > > > > > > rgb > > > > > > > I am running Red Hat FC4. > > > > > > Hmmm, might at least TRY 6 or 7. > > > > > > > > > > > > > > > > > > Tim > > > > _______________________________________________ > > > > Beowulf mailing list, Beowulf@beowulf.org > > > > To change your subscription (digest mode or unsubscribe) visit > > > http://www.beowulf.org/mailman/listinfo/beowulf > > > > > > > > > > -- > > > Robert G. Brown http://www.phy.duke.edu/~rgb/ > > > Duke University Dept. of Physics, Box 90305 > > > Durham, N.C. 27708-0305 > > > Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu > > > > > > > > > _______________________________________________ > > > Beowulf mailing list, Beowulf@beowulf.org > > > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf > > > > > > > > > > > > _______________________________________________ > > Beowulf mailing list, Beowulf@beowulf.org > > To change your subscription (digest mode or unsubscribe) visit > > http://www.beowulf.org/mailman/listinfo/beowulf > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20070816/c75a2f49/attachment.html From peter.st.john at gmail.com Thu Aug 16 14:53:40 2007 From: peter.st.john at gmail.com (Peter St. John) Date: Sat May 10 01:06:18 2008 Subject: [Beowulf] Open source prime number application In-Reply-To: <2ad0f9f60708161451o2e271728l60ace3e8b0d66246@mail.gmail.com> References: <58abb5d10708140353v7fae09cbr4498b1283f004c02@mail.gmail.com> <2ad0f9f60708161352w249e1ff1r5b4fbbb607bd5329@mail.gmail.com> <2ad0f9f60708161451o2e271728l60ace3e8b0d66246@mail.gmail.com> Message-ID: actually I'm ambitious to build a small one myself, why I lurk here, but haven't committed to a specific plan yet. I really ought to get started with just a couple of heterogenous clunkers sitting around my place. Will be edifying. Peter On 8/16/07, Jack C wrote: > > Haha ok, too bad you didn't know me a year ago when i had one with nothing > to do on it... > > -Jack Carrozzo > > On 8/16/07, Peter St. John < peter.st.john@gmail.com> wrote: > > > > Ssssh. I'm trying to take over Tim's cluster. > > peter > > > > > > On 8/16/07, Jack C wrote: > > > > > > Peter, > > > > > > You can always install MPI on a single host to test your code, even if > > > you don't have a cluster. You can even run multple threads on that single > > > host, it just won;t have the speedup that multiple hosts would. > > > > > > -Jack Carrozzo > > > > > > On 8/16/07, Peter St. John wrote: > > > > > > > > Tim, > > > > I thought about this some. I don't have a cluster, but I can program > > > > in C; you have a cluster, but don't want to program too much. It's possible > > > > we can help each other. > > > > > > > > A toy application I thought of is finding numbers that can written > > > > as a sum of two cubes in two different ways (there's a famous story about > > > > Ramanujan recognizing the four-digit number of a taxicab as "the smallest > > > > number than can be expressed as a sum of two cubes in two distinct ways"). > > > > > > > > So I had this plan. I went to wiki and got the source of an MPI > > > > "hello world" application, http://en.wikipedia.org/wiki/Message_Passing_Interface > > > > > > > > > > > > Then I wrote a C program to take a range of numbers, say 1000 to > > > > 1999, and find the numbers in that interval that have the taxicab quality > > > > (it turns out that's what such numbers are called now!). > > > > Since I don't have the MPI library or a cluster I can't test the > > > > integrated thing, so at the moment all I have is the wiki example (which > > > > just fills a buffer with "I am node #" for later reporting), which > > > > presumably is an OK example of MPI, and my own code (which just does > > > > arithmetic) which I tested myself. So if you wanted, you could try and > > > > integrate these, and see if you can find bigger reults by compiling for 64 > > > > bit arithmetic. > > > > > > > > My program wastes a huge amount of redundant calculation; it's only > > > > virtue is to split the memory required among nodes. So it computes x^3 + y^3 > > > > for silly huge ranges of x and y, at each node, but only stores results for > > > > comparisons in limited ranges which can be split up among nodes. > > > > > > > > I was disappointed at first because I only got 1729 (which was > > > > Ramanujan's number, the smallest), and 4,104: > > > > > > > > C:\PeteStJohn\Experiments\Ramanujan\Debug>ramanujan > > > > Deubg: i = 0 > > > > DEBUG: HIT: > > > > 01729 = 12^3 + 1^3, > > > > 01729 = 10^3 + 9^3 > > > > DEBUG: HIT: > > > > 04104 = 16^3 + 2^3, > > > > 04104 = 15^3 + 9^3 > > > > Deubg: i = 1000 > > > > DEBUG: i = 1588 is too big. > > > > Findrama made 2 hits > > > > Winner 4104: > > > > = 16 + 2 > > > > = 15 + 9 > > > > > > > > but I checked, putting those two numbers, 1729 and 4104, into the > > > > Online Encyclopedia of Integer Sequences http://www.research.att.com/~njas/sequences/?q=1729%2C+4104&language=english&go=Search > > > > , and that got me the "Taxi Cab Sequence" and the next value is > > > > 13,832. My program is naive, using an exhaustive and redundant search, with > > > > only 32 bit, so I get stuck when 1588 is too big becaues it's cube is bigger > > > > than about 4 billion, the extent of a 32 bit int. Also I didn't take the > > > > time even to accommodate the signum bit. > > > > > > > > I suggest you look at the wiki link. If you want to hack that code > > > > (which could be confusing because the address of something in this node's > > > > memory may not make sense when passed to some other node, but the MPI > > > > library makes some accommodation) let me know and I'll send you my C > > > > program, to call from inside that Wiki program. > > > > > > > > You might start by just running the wiki example, and see if it > > > > works and what you have to do to make it work. If that seems like fun then > > > > we can try doing math with it. > > > > > > > > I think I'll integrate them myself, but I wouldn't be able to test > > > > it directly. If you think this toy project is the kind of thing you could > > > > use let me know. Maybe some day you will run my genetic algorithm app, which > > > > is not a toy, for me, and I won't need a cluster :-) > > > > > > > > Well, here. It's not that big a program so I'll just paste it in. > > > > Serious software engineers may avert their eyes. > > > > > > > > > > > > // FindRama > > > > // Toy parallelizable math application > > > > // Pete St.John 8/2007 > > > > // > > > > > > > > #include > > > > #include > > > > #include > > > > > > > > > > > > #define BIGGEST 4000000000 > > > > // sloppy way to deal with 32-bit limitation > > > > > > > > struct pair > > > > { > > > > long x; > > > > long y; > > > > }; > > > > // a pair of integers; the sum of their cubes matters to us. > > > > > > > > struct winner > > > > { > > > > long win; > > > > struct pair first; > > > > struct pair second; > > > > }; > > > > // any pair you want to keep and report, e.g. the largest summand > > > > found in the range. > > > > > > > > int findrama(int myid, long z1, long z2, struct winner *winnerp); > > > > // findrama finds numbers which are sums of cubes in two distince > > > > ways, > > > > // e.g. 1729 = 12^3 + 1^3 but also = 10^3 + 9^3 > > > > // "myid" is the hypothetical node number of the MPI instance that > > > > would invoke this > > > > // z1 and z2 are the range of numbers to search, e.g. 1729 might be > > > > found > > > > // between 1000 and 19999; > > > > // winner is the "best" result found, which in this example is the > > > > largest. > > > > > > > > > > > > int main(int argc, char **argv) > > > > { > > > > // I'm not doing much in this main. We want to use the wiki MPI > > > > example > > > > // main to call "findrama" with a range of numbers, perhaps based > > > > on myid; e.g. > > > > // node 1 does z = 1 to 1999, node 2 does 2000 to 2999, etc, based > > > > on the number > > > > // of nodes you have and the largest arithmetic you can do. > > > > > > > > int myid; > > > > > > > > int hits; > > > > > > > > struct winner mywinner; > > > > > > > > myid = 0; > > > > > > > > hits = findrama(myid, 1, 10000, &mywinner); > > > > > > > > printf("Findrama made %d hits\n", hits); > > > > > > > > if(hits < 0) > > > > { > > > > printf("Error, probably malloc error.\n"); > > > > return 0; > > > > } > > > > > > > > printf("Winner %d:\n", mywinner.win); > > > > printf("= %d, %d\n", mywinner.first.x, mywinner.first.y); > > > > printf("= %d, %d\n", mywinner.second.x, mywinner.second.y); > > > > > > > > return 0; > > > > } > > > > > > > > int findrama(int myid, long z1, long z2, struct winner *winnerp) > > > > { > > > > struct pair *p; > > > > long range; > > > > long i, j, k; > > > > int hits; > > > > long bigz, z; > > > > long xi, xj; > > > > long xsum; > > > > > > > > //struct pair newpair; > > > > struct winner mywinner; > > > > > > > > bigz = 0; > > > > > > > > hits = 0; > > > > > > > > range = (z2 - z1); > > > > p = malloc( range * sizeof(struct pair)); > > > > // > > > > // malloc should return a pointer to a range of allocated memory > > > > // large enough for "range" pairs, and pair takes up space for two > > > > long integers. > > > > // > > > > > > > > if(!p) > > > > { > > > > fprintf(stderr, "Error: unable to malloc at myid = %d\n", myid); > > > > return -1; > > > > } > > > > // in the zth offset we will store the pair x, y st x^3 + y^3 = z^3 > > > > // for z in the range from z1 <= z < z2 > > > > > > > > // zero out > > > > for(i=0; i < range; i++) > > > > { > > > > p[i].x = 0; > > > > p[i].y = 0; > > > > > > > > } > > > > > > > > //z2cube = z2 * z2 * z2; > > > > > > > > for(i = 0; i < z2; i++) > > > > { > > > > xi = i*i*i; > > > > > > > > if(xi > BIGGEST) > > > > { > > > > printf("DEBUG: i = %d is too big.\n", i); > > > > break; > > > > } > > > > > > > > // debug > > > > if(i%1000 == 0) > > > > { > > > > printf("Deubg: i = %d\n", i); > > > > } > > > > > > > > for(j = 0; j <= i; j++) > > > > { > > > > xj = j*j*j; > > > > xsum = xi + xj; > > > > > > > > if(xsum > z2) > > > > { > > > > // we've exceeded our range > > > > break; > > > > } > > > > > > > > for(k = 0; k< range; k++) > > > > { > > > > z = z1 + k; > > > > > > > > if(z == xsum) > > > > { > > > > if(p[z].x == 0 && p[z].y == 0) > > > > { > > > > // found this sum of cubes for the first time > > > > p[z].x = i; > > > > p[z].y = j; > > > > } > > > > else > > > > { > > > > // we have discovered a number that > > > > // can be written as a sum of two cubes > > > > // in two distince ways. > > > > hits++; > > > > > > > > printf("DEBUG: HIT:\n %05d = %d^3 + %d^3,\n %05d = %d^3 + > > > > %d^3\n", > > > > z, i, j, z, p[z].x, p[z].y > > > > ); > > > > mywinner.win = z; > > > > mywinner.first.x = i; > > > > mywinner.first.y = j; > > > > mywinner.second.x = p[z].x; > > > > mywinner.second.y = p[z].y; > > > > } > > > > } > > > > } > > > > } > > > > } > > > > winnerp->win = mywinner.win; > > > > winnerp->first.x = mywinner.first.x; > > > > winnerp->first.y = mywinner.first.y; > > > > winnerp->second.x = mywinner.second.x; > > > > winnerp->second.y = mywinner.second.y; > > > > > > > > > > > > > > > > return hits; > > > > } > > > > > > > > Peter > > > > > > > > > > > > > > > > > > > > On 8/16/07, Robert G. Brown wrote: > > > > > > > > > > On Tue, 14 Aug 2007, Tim Simon wrote: > > > > > > > > > > > I would like to know if there is any open source software that > > > > > will > > > > > > run on a beowulf, which will do something like find prime > > > > > numbers, or > > > > > > something simillar. I cant afford a commercial program. > > > > > > > > > > > > I am guessing that there is not "one size fits all" type thing - > > > > > what > > > > > > fits your beowulf wont fit mine. Is there anything that can be > > > > > easily > > > > > > made to fit? I have searched all over the net, and all i can > > > > > find are > > > > > > educational or high research type applications. I just would > > > > > like > > > > > > something reasonably simple, (I thought prime numbers but hey, > > > > > > anything is good). > > > > > > > > > > Writing your own is good. Hunting for primes is actually > > > > > something that > > > > > will parallelize decently simply because the Sieve of Erasthones > > > > > for a > > > > > proposed number N only requires that you try all the primes found > > > > > up to > > > > > N/2. Therefore a collection of nodes can contain and share all > > > > > the > > > > > primes found up to N-1, and distribute the testing of N, N+2, N+4, > > > > > N+6... N+M (obviously skipping all even numbers) as long as N+M < > > > > > 2N. > > > > > > > > > > For a small number M of nodes, if you precompute and load all the > > > > > primes > > > > > less than M -- trivially done -- then you're in business. > > > > > > > > > > You will have a few longer term problems. A single processor can > > > > > sieve > > > > > all the unsigned int primes from 0-(2^32-1) out fairly quickly > > > > > anyway. > > > > > To go beyond this, you'll need to use symbolic division instead of > > > > > binary computer arithmetic, I think. You'll also run into > > > > > storage/memory problems as you start to get a significant number > > > > > of > > > > > primes in your running table. > > > > > > > > > > But it is a fun problem, for sure. Go for it. > > > > > > > > > > Beyond that, there are a number of programs people use to play > > > > > with or > > > > > demonstrate a beowulf's speedup. The "funnest" is any of the > > > > > rubberbandable Mandelbrot set exploration tools parallelized on > > > > > top of > > > > > MPI or PVM -- makes nifty graphics. It isn't quite as cool as it > > > > > used > > > > > to be because Moore's Law has overwhelmed the computational > > > > > difficulty > > > > > of the task. When I started in this business, it might have taken > > > > > minutes to compute a rubberbanding down into the MS, depending on > > > > > where > > > > > one was (and how deep one had to go on all those pixels to > > > > > terminate). > > > > > Parallelize that on sixty or so nodes and it drops DRAMATICALLY to > > > > > seconds. > > > > > > > > > > Now CPUs are so fast that a SINGLE CPU can rubberband down in a > > > > > second > > > > > or two, and networks haven't kept pace so that computing the > > > > > pixels in a > > > > > single thread might actually be faster than splitting them. So > > > > > speedup > > > > > is a bit less dramatic, but still very cool. > > > > > > > > > > rgb > > > > > > > > > > > I am running Red Hat FC4. > > > > > > > > > > Hmmm, might at least TRY 6 or 7. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Tim > > > > > > _______________________________________________ > > > > > > Beowulf mailing list, Beowulf@beowulf.org > > > > > > To change your subscription (digest mode or unsubscribe) visit > > > > > http://www.beowulf.org/mailman/listinfo/beowulf > > > > > > > > > > > > > > > > -- > > > > > Robert G. Brown http://www.phy.duke.edu/~rgb/ > > > > > > > > > > Duke University Dept. of Physics, Box 90305 > > > > > Durham, N.C. 27708-0305 > > > > > Phone: 1-919-660-2567 Fax: 919-660-2525 > > > > > email:rgb@phy.duke.edu > > > > > > > > > > > > > > > _______________________________________________ > > > > > Beowulf mailing list, Beowulf@beowulf.org > > > > > To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > Beowulf mailing list, Beowulf@beowulf.org > > > > To change your subscription (digest mode