Slashdot Mirror


High-Performance Linux Clustering

An anonymous reader writes "High Performance Computing (HPC) has become easier, and two reasons are the adoption of open source software concepts and the introduction and refinement of clustering technology. This first of two articles discusses the types of clusters available, uses for those clusters, reasons clusters have become popular for HPC, some fundamentals of HPC, and the role of Linux in HPC."

129 comments

  1. Imagine by commodoresloat · · Score: 4, Funny
    Single-processor implementations of this!

    *ducks*

    1. Re:Imagine by Anonymous Coward · · Score: 0

      Ah, but does it run Windows?

    2. Re:Imagine by rdoger6424 · · Score: 0, Troll

      Windows Rocks! Linux sucks! I Love DRM! *ducks, then flees country*

      --
      "Hello 911? I just tried to toast some bread, and the toaster grew an arm and stabbed me in the face!"
    3. Re:Imagine by kiore · · Score: 1

      Why do I have a mental picture of someone making a cluster by running multiple copies of Linux under Xen?

    4. Re:Imagine by Eunuchswear · · Score: 1

      Why bother imagining it, just do it.

      (Linux OpenSSI have been run with multiple virtual nodes under UML, the current Debian version of OpenSSI supports Xen for the same thing - it's an easy way of debugging the cluster system without needing lots of machines).

      --
      Watch this Heartland Institute video
    5. Re:Imagine by seweso · · Score: 0

      I just created a cluster of 20 colinux servers! It seems to work just like a zero-cpu implementation :P

    6. Re:Imagine by daBass · · Score: 1

      No, you are just using a chip designed to be a GPU as CPU. :)

    7. Re:Imagine by temojen · · Score: 1

      No, you're using it as an ASIC, which it is.

  2. Geek by mysqlrocks · · Score: 4, Interesting

    With Linux and other freely available open source software components for clustering and improvements in commodity hardware, the situation now is quite different. You can build powerful clusters with a very small budget and keep adding extra nodes based on need.

    Yea, I'd like to build one but I'm not sure what I'd use it for. Does that mean I'm a geek?

    1. Re:Geek by donkeyoverlord · · Score: 3, Interesting

      Use it to crack some password withCisilia.

    2. Re:Geek by Anonymous Coward · · Score: 1, Funny

      geek (gk) pronunciation
      n. Slang.

            1.
                        1. A person regarded as foolish, inept, or clumsy.
                        2. A person who is single-minded or accomplished in scientific or technical pursuits but is felt to be socially inept.
            2. A carnival performer whose show consists of bizarre acts, such as biting the head off a live chicken.

      No, it would seem, unless you either
      a) build it as a replacement for your friends or
      b) took it on the road and used it to perform mind control on chickens

    3. Re:Geek by mysqlrocks · · Score: 1

      b) took it on the road and used it to perform mind control on chickens

      Well, with a powerful enough cluster I'm sure I could simulate the inner workings of a chickens mind. Well not exactly mind control, it could help predict and manipulate the behaviour of chickens. I'm sure there would be some scientific use in this besides, of course, biting the heads off of chickens.

    4. Re:Geek by temojen · · Score: 1

      A real geek would know what to use it for.

    5. Re:Geek by burnin1965 · · Score: 4, Informative

      Do you watch DVDs? Do you dream of squeezing all your DVDs onto a harddrive and streaming them to a media PC attached to your TV?

      You could copy the DVDs at ~8GB each to some large harddrives or you could transcode them to much smaller formats with all the garbage removed and go from ~8GB/movie to less than 4GB/movie. But to do this you need lots of processing power. A cluster works very good for this and the software is already there for you:

      http://www.exit1.org/dvdrip/doc/cluster.cipp

      For the cost of some overpriced Dell crap video editing PC you could build a decent diskless cluster. Who needs harddrives, monitors, video cards, keyboards, mice, etc. At least more than one set. ;)

      burnin

    6. Re:Geek by DigitalHammer · · Score: 1

      Yea, I'd like to build one but I'm not sure what I'd use it for. Does that mean I'm a geek?

      Doesn't matter. Just slap a "Type-R" sticker on it and you'll have the world's largest artifically inflated e-penis. :)

    7. Re:Geek by thc69 · · Score: 1

      I'd like to build a cluster consisting entirely of 486 and Pentium I machines, each with RAM between 4mb and 32mb, to use as a single desktop PC equivelant to a 3ghz machine with 1gb RAM...

      Somehow I think, despite my collection of such systems, that it's not entirely practical to assemble that cluster.

      --
      Procrastination -- because good things come to those who wait.
    8. Re:Geek by mysqlrocks · · Score: 1

      A real geek would know what to use it for.

      I can think of a hundred things to use it for. The only problem is that none of them have any practical application to my life.

  3. Obligatory by bclark · · Score: 0, Redundant

    But does it run...
    Imagine a Beow...

    Ahem. My apologies.

  4. News? by Cave_Monster · · Score: 0, Troll

    How is this article news? Expect to see regular articles that link to TLDP and *NIX man pages soon on slashdot.

    1. Re:News? by chinakow · · Score: 1, Offtopic

      damn, feeding the troll.

      This is "Stuff that matters."

      And for fucks sake, if you aren't happy with slashdot, the door is right over there, don't let it hit you on the ass on the way out.

  5. Beowulf Clusters by Scoria · · Score: 0, Redundant

    from the beowolf-jokes-deserve-redundant-mods dept.

    I've heard that Beowulf clusters can offer some level of redundancy. Maybe this is just Slashdot moderation imitating life.

    What else can we learn from Slashdot moderation, I wonder? ;-)

    --
    Do you like German cars?
    1. Re:Beowulf Clusters by Hosiah · · Score: 2, Funny
      What else can we learn from Slashdot moderation, I wonder?

      Economics? I know every time I get mod points, it's like I'm racing the clock. "Oh, God, four left to spend in two hours! Uh, OK, this threads should need some modding. This post...fudge, it's maxed out! OK, this post...is this worth moderation? Isn't it? Is it? OK, *this* post...it's a troll, I'll...no, wait, somebody got it already...!" I end up blowing them away on frivilous mods or wasting them and letting them expire, I don't know which is worse. All I know is, I never have them when I see something really crying out for moderation.

      Kind of like the value of dollars in an inflationary spiral.

    2. Re:Beowulf Clusters by Anonymous Coward · · Score: 0

      I fucking love Slashdot!

  6. Advice: Don't use Itaniums for Linux cluster by Work+Account · · Score: 5, Interesting

    We spent $849,000 on an Itanium cluster and have recently found ourselves SOL since it's a dying architecture.

    You can't even run Java on them.

    --

    If you "get" pointers add me as a friend (116)!
  7. So easy today by michelcultivo · · Score: 1, Redundant

    Cluster is very easy to implement today because there is a lot of software that can configure itself and connect to cluster nodes like OpenMosix

  8. Something's amiss by Anonymous Coward · · Score: 0
  9. Re:Advice: Don't use Itaniums for Linux cluster by Anonymous Coward · · Score: 0

    Just curious why are you SOL? You have the cluster, linux will run on it and you need it to do calculations presumably? So you have the processor power now and you will have that processor power. Tomorrow of course something better may come along, but that's always the case.

  10. two words: by s388 · · Score: 0, Redundant

    ibook. hive.

    xgrid, baby.

    i've already computed the meaning of life, with a few of my buddies.

    1. Re:two words: by Anonymous Coward · · Score: 0

      i've already computed the meaning of life, with a few of my buddies.

      Why did you do that? Anyone could tell you it's 42. The real problem is what is the question?
    2. Re:two words: by Anonymous Coward · · Score: 0

      42

  11. Imagine! by Comatose51 · · Score: 1, Interesting
    Imagine a Beowulf Clus... oh.

    Jokes aside, when people say Linux cluster, do they usually mean Beowulf? Or are there other clusters and how do they compare? How difficult is it to setup a Beowulf cluster?

    --
    EvilCON - Made Famous by /.
    1. Re:Imagine! by maswan · · Score: 4, Informative
      Beowulf is a specific project/software for doing clusters. In reality, it is not that popular. There are lots of different "whole clustering solutions", and beowulf is one of those. Even more common in the HPC world is probably homegrown solutions, based on common components.

      /MattiasWadenstein - HPC sysadmin during weekdays

    2. Re:Imagine! by Comatose51 · · Score: 1

      Thanks. By components, you mean software components or hardware? What are some of these common components? What I'm trying to get at is if there is some way of kick starting a cluster computing project other than Beowulf (or I assume that's why it's well known), even if it means you have to do some in house development?

      --
      EvilCON - Made Famous by /.
    3. Re:Imagine! by burnin1965 · · Score: 2, Interesting

      There are other cluster solutions, i.e. http://warewulf.lbl.gov/pmwiki/

      But you can also roll your own. I did mine with Fedora by taking a fresh Fedora install, duplicating the common parts into a common NFS share, duplicating the distinct parts into a template and subsequent node NFS shares, compiled a custom NFSroot Fedora kernel, then setup a DHCP and TFTP server for the diskless nodes to PXE boot from.

      burnin

    4. Re:Imagine! by burnin1965 · · Score: 1

      There are other cluster solutions, i.e. http://warewulf.lbl.gov/pmwiki/

      But you can also roll your own. I did mine with Fedora by taking a fresh Fedora install, duplicating the common parts into a common NFS share, duplicating the distinct parts into a template and subsequent node NFS shares, compiled a custom NFSroot Fedora kernel, then setup a DHCP and TFTP server for the diskless nodes to PXE boot from.

      burnin

    5. Re:Imagine! by maswan · · Score: 2, Informative
      Well, other than beowulf, there is NPACI(sp?) Rocks and a few others like that. I don't have personal experience with those though, so I've probably missed alot. Then you have the turn-key ready cluster from a vendor type of ready clusters. There you pay IBM or Penguin Computing or whoever to do all this for you before startup, of course, then the maintenance is up to you.


      By components I mean software, since hardware is basically just a bunch of servers (or desktops), with optionally faster than commodity network and some stuff like that. The optional parts depend on what kind of applications that you run.


      The most important cluster components are a base operating system and a batch scheduler like torque or slurm. There are also communications libraries (MPI and friends) and optimised math routines (matrix calculations, FFTs, etc) for some application types.


      Then we have the administrative side, where it isn't that specific to HPC clusters, but a general matter for anyone that is handling a large number of similar machines. You want to have an automatic installation method, not answer 25 questions on the console every time you need to reinstall or add a node. You want to have a convenient way of synchronising configuration and settings. You want a distributed shell to run one command on all/many/several nodes without lots of arrow up and command line editing.


      This should be familiar to both cluster admins and admins of server farms or large deployments of desktops too. Automate repetitive tasks, choose tools that reduces the maintenance burden, etc.

      /Mattias Wadenstein

    6. Re:Imagine! by Anonymous Coward · · Score: 0

      It is very easy to setup a Linux HPC cluster. There are several projects out there for example:

      http://www.rocksclusters.org/ (Rocks guys do a great job of simplifying the process. I highly recommend this one if you are new to Linux Clusters)

      http://warewulf.lbl.gov/pmwiki/ - Warewulf cluster toolkit. Not as easy to use as Rocks but some very cool features and very flexible for different kinds of Linux Clusters.

      http://oscar.openclustergroup.org/ - Oscar Toolkit is popular as well. I can't comment on it much since I haven't tried it.

    7. Re:Imagine! by cloudmaster · · Score: 1

      In addition/supplement to what the other poster mentioned, there's Oscar: http://oscar.openclustergroup.org/ and there's the C3 stuff: http://www.csm.ornl.gov/torc/C3/index.html. There's also ROX, which we're not using (not because it's bad, but because we used something else, and I can't find a URL now anyway).

      We're using parts of those first two systems here, combined with some in-house stuff (which we're planning to release when it reaches an acceptable maturity level).

  12. A Thought by Crusader7 · · Score: 3, Interesting

    Okay, so I'd really enjoy trying something like the clustered model, just for academic kicks, but a relevant question comes to mind, at least for me.

    Where do people get the commodity systems cheap enough to be able to play around with this? I hardly want to spend two thousand bucks on some old P2s just to play around. Anyone have some hot tips where you can find real cheap (dare I dream... free) commodity systems to build a low-end cluster for kicks?

    Also, I'm a Windows guy by trade. Will making a Linux cluster make me instantly cool? :)

    1. Re:A Thought by whiteranger99x · · Score: 1

      Also, I'm a Windows guy by trade. Will making a Linux cluster make me instantly cool? :)

      No, that makes you a geek....of course, that means you're in good company here ;)

      As far as spending 2k on some P2's, the biggest concern I would have is power consumption for all those machines...but hell, let em rip! :)

      --
      Join the TWIT army now!
    2. Re:A Thought by Mad+Merlin · · Score: 1
      Also, I'm a Windows guy by trade. Will making a Linux cluster make me instantly cool? :)

      You'll have to at least brush off most of that sulphur first...

    3. Re:A Thought by MDGordon · · Score: 1

      The club I belong to on my college campus built a Mosix cluster awhile back. It was one of our major projects. The way we got our computers was mostly by donation (due to the fact that we were academic in nature.) Really, all the computers we got were basically going into the garbage, so we say we picked them out of the garbage. From what I hear though, that's not all that uncommon or unbelievable. Take a look around perhaps and ask around.

    4. Re:A Thought by burnin1965 · · Score: 2, Interesting

      linux cluster on the cheap:

      Go with a diskless cluster.
      Buy all in one motherboards, video, ethernet.
      Cases are pretty cheap, but you can save by creating a custom rack solution.
      Spend a little extra on 80% efficiency power supplies ( http://www.seasonic.com/co/index.jsp ).

      with that route you could build a decent little cluster for under $2k (USD).

      Will it make you cool, doubt it, but the path to the solution will teach you many lessons.

      burnin

    5. Re:A Thought by Procyon101 · · Score: 3, Interesting

      I make it known to friends and relatives I will set up their new computers in exchange for taking their old ones off their hands... I transfer the data over, make sure it's configured, etc... then take my new cluster node home. :) I get some pretty nice systems this way, since running XP on less than 1 Ghz/512 MB ram is pretty painful nowdays people upgrade in droves.

    6. Re:A Thought by Timbotronic · · Score: 1
      If you just want to try clustering out, try using virtual machine software such as VMWare Workstation. Every VM instance you run is a node in your cluster.

      I've used VMWare very successfully to test a site which was to be hosted on physically load balanced servers. We needed to know that if a node failed, or a user was redirected to another server in the cluster, that their session information would be retrievable without the need to logon again.

      It worked perfectly. The other nice thing about using VMWare was we only needed to configure the one instance and then clone it. Just make sure you've got heaps of RAM and a fast processor. Dual or multi-core CPUs are even better.

      --

      One of these days I'm moving to Theory - everything works there

  13. This hasn't been my experience by composer777 · · Score: 4, Interesting

    From everything I've seen, MOSIX is having some issues right now. Unfortunately, MOSIX is one of the easiest, most flexible ways to set up an HPC, and ever since they forked, development has been slow. I did research about 2 months ago to look into setting up a small MOSIX cluster with a few computers. My main goal was to get my feet wet in setting up a cluster using a few desktop and laptop computers. I figured that setting up a cluster with my Athlon 64 x2, Athlon 64 3500+, and a few laptops would speed up compile times by quite a bit. But, it appears that the 2.6 version of MOSIX is still beta and won't support the kernel I need for my Athlon 64 x2 (versions before 2.6.9 don't support powernow with the x2, and also tend to be flaky). So, I have the choice of running a cluster with slower PC's, or waiting for better support. If you look at the year on some of those whitepapers, only one was written this year, and I'd be willing to bet they are describing how to use MOSIX with the 2.4 kernel, not 2.6. I finally gave up on the idea, as running the latest kernel is more important to me.

    1. Re:This hasn't been my experience by LnxAddct · · Score: 1

      For distributed compiling use distcc.
      Regards,
      Steve

    2. Re:This hasn't been my experience by photon317 · · Score: 2, Informative


      MOSIX is really more of a halfway-point between a traditional cluster and a "single system image" sort of cluster. Unfortunately, some aspects of clustered computing are still extremely difficult to abstract away into an ssi type of implementation. I had hoped over the years that the MOSIX work would get folded in with mainstream Linux's NUMA scheduling and memory allocation, essentially treating non-local cpu and memory resources (other nodes) like a second layer of NUMA with even less connectivity than local NUMA nodes have. Throw in a truly distributed redundant filesystem (ala the google filesystem that we don't know all the details about), and we could really begin to approach the concept of turning large-scale local and even distributed clusters into truer single system images. But the kinds of fundamental work that needs to be done to get these things rolling hasn't even started, so I don't expect it to happen anytime soon. Aside from all that clustering and kernel work, there would have to be some evolutionary changes in how we write code, and in the languages we write it in, in order to smoothly take advantage of the dynamic availability and locality of resources easily.

      For now, your best bet is to construct your HPC linux cluster as a high-speed network of interconnected but independant Linux machines using a network topology that suits the class of problems you face and how easily the problem can be broken into loosely coupled peices, and then code the "clustering" aspect into your application code itself, usually working off of libraries like MPI.

      --
      11*43+456^2
    3. Re:This hasn't been my experience by Anonymous Coward · · Score: 0

      -1, Needs Paragraph Breaks

    4. Re:This hasn't been my experience by Donny+Smith · · Score: 1

      I mean, what do you expect?
      First, it sounds like you don't really need a cluster (speeding up compile times - do you really do that much compiling?). If you did, you wouldn't use laptops.
      Second, there are both commercial and professionally supported open source solutions for compile farms - why don't you rather buy the right software (or support) and instead focus on coding or other tasks?

    5. Re:This hasn't been my experience by composer777 · · Score: 1

      Thanks, I've been there, done that. Distcc works fairly well, but there was some other stuff I wanted to do in addition to compiling the kernel which I didn't mention. I work in bioinformatics, and quite a bit of the software I write scales nicely across multiple processors, so I wanted to see how well it would run on a mosix cluster. I figured that it could help speed up some of my testing when I am working at home. We already have clusters at work, I was mainly wanting to set it up as a learning experience, and if it sped up some of the multiprocessing tasks that I do, then great.

    6. Re:This hasn't been my experience by composer777 · · Score: 1

      I just thought I would add, distcc also breaks gdb, which is a pretty big drawback if you ask me (it doesn't produce debug executables properly). However, my guess is that compiling code on a cluster that is set up with MOSIX probably would produce debug executables properly, since gcc would just see it as one big machine, rather than using a distcc front-end.

    7. Re:This hasn't been my experience by composer777 · · Score: 1

      I expect it to work.

      We use pbs at work, and our bladecenter has several hundred processors, which is nice, but you have to share, and sometimes I like to work at home. Unfortunately, working remotely doesn't always work that well, since some of the applications we use to view the finished data are X11 apps that are rendering to large bitmaps, so running them over the net doesn't work that great. So, my solution so far has been to set up my own pipeline at home, and wait a couple of hours when I am testing my code.

      At home, I have an athlon 4800+, athlon 3500+, pentium 4 1.8 ghz laptop, mac laptop, and a pentium M laptop. Distributing this work across my network could cut testing time in half. Depending on how easy it was to set up, I was planning on buying a few extra athlon 3500's. Again, not "serious" useage, but the fact that the mosix people are struggling to support 2.6 makes the above article misleading at best.

    8. Re:This hasn't been my experience by kwalker · · Score: 1

      I'm curious. Are you talking about MOSIX or OpenMOSIX? You mentioned the fork, but not which branch (Or both?) you were looking at. I've got a small (much smaller than yours) cluster of computers at home and on my Project List is investigating an OpenMOSIX cluster since most of my machines sit idle and it would be nice to use the extra CPU cycles and RAM for various things.

      --
      ... And so it comes to this.
    9. Re:This hasn't been my experience by mce · · Score: 1
      The key problem OpenMOSIX has for me right now, is that threaded applications do not migrate.

      That's a real killer if your number 1 CPU eater is called Matlab, if Matlab uses a separate thread for nothing else than its licensing heartbeat (it does so by default), and if you can't afford the number of licenses you'd have to buy (check out the commercial prices for Matlab: they're horrible (we could easily buy our current cluster hardware several times over with nothing else than our annual Matlab maintainance expense)) in case you disable the separarate thraed (which is technically possible, in which case Matlab does indeed nicely migrate).

      And no, Octave does not cut it as a Matlab replacement for our purposes. If only it did...

  14. Re:Advice: Don't use Itaniums for Linux cluster by sho222 · · Score: 3, Informative

    You can't even run Java on them.

    What do you mean? I thought 1.4.2 and up had support for Itanium. Check this white paper (search for Itanium). Are their claims false, or are you running and older version of the JRE?

  15. Don't forget this low power hardware. by Erris · · Score: 3, Informative
    Cool, IBM on software. Add that to this hardware from a year ago and you are off to the races. Of course, you could just build the system as designed. Performance does not have to suck electricity and heat your home.

    I'm wanting to build one of these, but I really don't need it. Time may change that.

    --
    DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
  16. Aggregate.org by PAPPP · · Score: 5, Informative

    For some very good information on F/OSS based clustering, check out aggregate.org. They have really neat ideas, that are reasonably well doccumented and freely implementable/usable. I built a little cluster (AFAPI on a WAPERS switch) with them for my highschool senior project, and it was a great experence.

  17. article sort of misleading on mpp/cluster by flaming-opus · · Score: 5, Informative

    Though mpp's are kind of like clusters, and the boundary between the two is vague, I think there's definately a distinction. In many MPPs, nodes share access to memory, just at a performance penalty. Often the scientific binary is written using a message-passing tool like MPI, but the OS is often run with direct memory access. Definately from a systems-administration point of view, an mpp is different from a cluster. In an MPP you don't have 4000 root hard drives and 4000 power supplies to replace when they break. An mpp may be like a (fast) cluster from the programmer's point of view, but they are a lot simpler to deploy and manage. (Blue Gene, xt3, altix)

    I also contest some of the distinctions drawn about vector processor systems. The two vector systems currently on the market, the cray X1 and the NEC SX-8 are clusters. Each node just happens to be a vector-smp. The earth simulator is a 640 node cluster of 8-way SMP boxes, where each of the processors in the smp is a vector cpu. However, the predominant programming method even on these boxes is with explicite message passing like MPI. Co-array fortran and Unified Parallel C are faster, but slow to catch on.

    Good summary of the common case though.

    1. Re:article sort of misleading on mpp/cluster by Anonymous Coward · · Score: 0

      Not just misleading on mpp/cluster. Also dated with respect to Amdahl's law.

      William Camp, a center director (http://www.cs.sandia.gov/), from Sandia National Laboratories, says that "contrary to Amdahl's expectation, we can routinely" do better. He also says that "Amdahl neglected the overhead due to communications". From a talk found at http://www.blu.org/meetings/2003/11/NovBlu.pdf and qualified a little more in http://www.top500.org/corner/articles/article_15.p hp.

    2. Re:article sort of misleading on mpp/cluster by scoobrs · · Score: 1

      It's very nice to see someone who gets it. One of the more interesting links off the article is Sandia's reevaluation of Amdahl's Law. If you read Sandia's other research involving the Red Storm project, they point out that Amdahl's Law doesn't have to be as big a killer as previously thought on truly massive systems when paired up with a system that has good balance in memory, network, and processor bandwidth. Most clusters have drastically worse balance than custom MPPs and it causes many algorithms to suffer. The problem has to match the computer or your cluster will never solve it. For example, a problem that requires excessive message passing won't run well on Blue Gene, which has 1/22nd the network bandwidth of Red Storm. The real advantage of Blue Gene is in low power and tight packaging. There's a common misunderstanding that Linpack numbers = real performance. Unless your company gets paid everytime Linpack ends, you can't judge the value of an HPC system by the top 500. For many problems, the Earth Simulator is still winning.

      --
      -Those who would give up essential liberty to purchase temporary safety deserve neither. -Ben Franklin
    3. Re:article sort of misleading on mpp/cluster by David+Greene · · Score: 1
      In many MPPs, nodes share access to memory, just at a performance penalty.
      These are typically called Distributed Memory systems. Each node and CPU can address any memory in the machine, but locality is visible to the programmer.

      Unfortunately, there's no standard taxonomy for HPC systems. I tend to think of MPPs as a tightly-coupled machine with lots of processors. They can support shared-memory, distributed-memory, and message-passing programming models. Some have all three, others just one or two.

      A cluster is a different beast. It has orders of magnitude less memory bandwidth, making it very good for computationally intensive codes and extremely poor on codes with lots of communication.

      Linpack/Top 500 is a terrible way to compare systems. HPCC is somewhat less bad. Some HPCC benchmarks like GUPS are very good at straining the memory/communications systems and clusters will fall over very quickly. A cluster is a good low-end system but the term "HPC" doesn't really apply.

      I also contest some of the distinctions drawn about vector processor systems. The two vector systems currently on the market, the cray X1 and the NEC SX-8 are clusters. Each node just happens to be a vector-smp. The earth simulator is a 640 node cluster of 8-way SMP boxes, where each of the processors in the smp is a vector cpu. However, the predominant programming method even on these boxes is with explicite message passing like MPI. Co-array fortran and Unified Parallel C are faster, but slow to catch on.
      This part of the article makes it plain that the author really doesn't know much about HPC systems. A vector machine uses vector processors. That's it. It says nothing about whether the machine is a cluster or MPP and what kinds of programming models it supports (distributed memory, shared memory, etc.).

      The SX-6/8 and X1/X1E are not clusters. They have enormous memory bandwidth (a necessity on vector machines) and are distributed-memory machines. UPC and Co-Array Fortran run very well on them because the address reach of any one processor covers the whole machine and maps extremely well onto the GAS programming model.

      CAF is slated to be included in the Fortran 2008 standard. There are preliminary discussions about including UPC in an upcoming C standard, but it is a less mature language than CAF and still requires some work to hammer it out. HPC customers are very excited about both languages. GAS languages are very nice to use because they abstract the communication. MPI is different because it is geared toward large messages to reduce overhead. Some problems don't map to that paradigm at all.

      --

    4. Re:article sort of misleading on mpp/cluster by joib · · Score: 1


      This part of the article makes it plain that the author really doesn't know much about HPC systems. A vector machine uses vector processors. That's it. It says nothing about whether the machine is a cluster or MPP and what kinds of programming models it supports (distributed memory, shared memory, etc.).

      The SX-6/8 and X1/X1E are not clusters.


      Now that's a bit inconsistent. First you say that there's no agreed upon taxonomy of HPC systems, and then you blast the parent poster for not using YOUR definition of a cluster.

      Another AFAIK common definition of a cluster is a set of independent computers (each with its own memory, OS image etc.) connected via some network. By that definition, almost every machine on the top500 is a cluster, including the NEC and (I think) Cray vectors.


      They have enormous memory bandwidth (a necessity on vector machines) and are distributed-memory machines. UPC and Co-Array Fortran run very well on them because the address reach of any one processor covers the whole machine and maps extremely well onto the GAS programming model.


      BTW, IIRC according to NEC documents the recommended programming model for the SX-6 and SX-8 is a combination of OpenMP and MPI. In that sense it's no different than a normal "cluster of SMP:s". Don't know about the X1, though Cray's been making noise about CAF, for good reason I think.

    5. Re:article sort of misleading on mpp/cluster by scoobrs · · Score: 1

      There is no solid definition of what differentiates a cluster, but it's a bit misleading and confusing to refer to an architecture that doesn't have any of the characteristics of a traditional cluster as a cluster. Most clusters have a star or bus network topology of Infiniband, Myrinet, or Ethernet. An X1 uses a 3D torus of redundant, high-bandwidth links. Each node is a board in a backplane, not just a rackmount system. While defining a cluster as a machine where each node has its own OS is a convienient definition, that also includes things which clearly aren't true clusters like networks of workstations and many MPPs.

      --
      -Those who would give up essential liberty to purchase temporary safety deserve neither. -Ben Franklin
    6. Re:article sort of misleading on mpp/cluster by joib · · Score: 1


      There is no solid definition of what differentiates a cluster


      Exactly my point.


      but it's a bit misleading and confusing to refer to an architecture that doesn't have any of the characteristics of a traditional cluster as a cluster.


      But then, what are the traditional characteristics of a cluster? And why haven't those become the normal definition then?


      Most clusters have a star or bus network topology of Infiniband, Myrinet, or Ethernet. An X1 uses a 3D torus of redundant, high-bandwidth links.


      I don't think network topology is what defines a cluster. Consider the Scali Dolphin, which at least a few years ago was a relatively popular cluster interconnect. Depending on the model, it was a 1d, 2d or 3d torus. Or the SX-6/8, which uses a star topology with a crossbar switch.


      Each node is a board in a backplane, not just a rackmount system.


      Fair enough. So I agree the X1(E) is not a cluster then, perhaps "vector MPP" is more appropriate. But again, what about the SX-6/8? Each 8 CPU node is a separate cabinet, connected via the network switch. Starts to sound like a cluster to me.


      While defining a cluster as a machine where each node has its own OS is a convienient definition, that also includes things which clearly aren't true clusters like networks of workstations and many MPPs.


      Indeed. Given the lack of a solid definition, then perhaps one shouldn't go and label other people as idiots just because they use a slightly different definition of cluster? ;-)

    7. Re:article sort of misleading on mpp/cluster by flaming-opus · · Score: 1

      As I said, the distinction of cluster is a soft and squishy one. One must distinguish between a "commodity cluster" and a cluster. The Sx-8 (or sx-6, or earth simulator) uses 8-cpu shared-memory bus nodes, and connects them with the IXS crossbar switch. Alternately, one can get these nodes connected with hippi for a lower cost. While they support distributed memory operations, NEC suggests using message-passing methods between nodes, as this often performs the best. I don't know if this recommendation is based on the state of their libraries and compilers, or if the hardware limits shared-mem performance. ---- because they are capable of direct memory addressing, I would call these systems a vector-mpp. However, the fact that you can walk between the nodes* lends support to the cluster nomenclature.

      The Cray X1 is probably even less of a cluster, as you can't get a box with one node in it. However, again, it's a 4-way shared-bus SMP, with 32parallel interconnect ports. Again distributed memory is possible, and cray tends to encourage it, as it performs really well on these machines. The scalar processor on those machines is pretty slow, and everything is highly tuned to chugging through numbers, so you tend to get fairly high (10us) MPI latencies. The memory controllers are fast, and 32-way parallel, so writing memory, even remote memory, is really fast. From my point of view these are the least commodity-cluster style systems around. However, from the cray engineering lexicon, they actually are cluster like. The X1 is a derivative of the SV1 super-clusters. Compared to a T932, a X1 is a cluster. Thus the cray engineers, at least the old-school engineers, occasionally call it a cluster.

      We're really in violent agreement here, though I will challenge the statement that clusters have orders of magnitude less memory/interconnect bandwidth. Many do. The predominant cluster out there is gigabit ethernet connecting 2-way SMPs of xeons or opterons. They're cheap, and often get the job done quite well. However, some clusters are quite competitive performers. They are not as cheap as a rack of dells, but they are quite impressive. In the last few months I've worked on a cluster of 8-way IBM power4+ boxes using their federation switch. Fast! That's a 4GByte/s link and 50GB/s of memory bandwidth. And that's a last generation IBM cluster. Similarly the cray xd1 is a cluster of dual-opterons, with 13GB/s memory bandwidth per node, and 16GB/s interconnect bandwidth. Fast and a lot cheaper than a vector system.

      I also challenge the statement that clusters don't do "real" hpc. Why do all the national labs use big commodity-clusters? NCAR, boeing, NOAA, all the oil/gas customers? They don't solve every problem, but they solve quite a few, and quite inexpensively. I was recently at a oilpatch customer last week who deploys a new 64-cpu commodity-cluster EVERY WEEK. They have about 90 of them so far. For the really hard problems, you can't top a cray, but who wants to pay for one? I have, however, noticed a lot more big SMP boxes in the last year. The new IBM power5 bbb's (big-black-boxes) seem to be making a real come-back, and HP seems to finally have convinced people that Itanium is a reasonable replacement to pa-risc. That's just my observation though.

      * random trivia time. One of the requirements doe had for the cray red-storm (not the xt3 product, but the big custom job), was that you can split it 100%/0%, or 66%/33% either way secure/non-secure. The requirement states that a soldier carrying an M4 rifle must be able to march between the halves of the machine to establish that they are completely physically disconnected. Now you go out and build an interconnect mesh that is both high-speed and can be easily and quickly disconnected.

  18. Linux? by TheUnknownCoder · · Score: 0, Offtopic
    Let's take a look at EVERYTHING he said about clustering with Linux:
    With Linux [...] you can build powerful clusters with a very small budget and keep adding extra nodes based on need.br> The GNU/Linux operating system (Linux) has spurred the adoption of clusters on a large scale. Linux runs on a wide variety of hardware, and high-quality compilers and other software like parallel filesystems and MPI implementations are freely available for Linux. Also with Linux, users have the ability to customize the kernel for their workload. Linux is a recognized favorite platform for building HPC clusters.

    That's what to do to have your article /.ed: use Google Sets and make sure you include at least half a dozen on the first paragraph...

    --
    Uncopyrightable: The longest word you can write without repeating a letter.
  19. Wrong by Work+Account · · Score: 0

    That's the J2SE not the JRE.

    You cannot run Java apps on Itanium.

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:Wrong by LordoftheWoods · · Score: 1

      uhhhh.. j2se is just "Java 2 Standard Edition" which is an umbrella term for the JRE and the JDK. Am I missing something?

  20. Imagine by temojen · · Score: 4, Interesting

    Zero CPU implementations of this.

  21. Not to pick at Big Blue by Frumious+Wombat · · Score: 4, Interesting

    But their links could at least have mentioned OSCAR http://oscar.openclustergroup.org/ or my personal favorite, ROCKS http://www.rocksclusters.org/, as these are more prevalent than xCat systems.

    Personally, I like Rocks, as I ran three parallel architectures (i386/AMD64/IA64), on the same based distribution, just with each tuned to their particular processor. Comes with SGE and Myrinet support out of the box, and there are Rolls, i.e. custom software assemblages, for OpenPBS, for those who prefer it, as well as PVFS. It's easy to set up, and easy to administer, as the nodes are presumed to be interchangeable and disposable. When you reboot a node, it's obliterated and a fresh OS and supplementary package repository are laid down on a clean disk. No questions about version skew.

    They now have a custom roll to help you build a visualization wall, but I never had a chance to try that one. (try convincing your boss that you want 4 digital projectors and a big room to play with)

    The downside to the above distributions are that they presume batch-queue environments, which is appropriate for most of my work, but less so for many people trying to simulate owning an SMP, without paying SMP prices.

    Other people assure me that the current version of OSCAR is solid as well, but they seem to lag in the multiple architecture support area (Itanium is always behind), and don't current support AMD64 natively. On the other hand, they build on top of several RedHatish linuces, as opposed to Rocks where you get Centos (RHEL), period.

    --
    the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
    1. Re:Not to pick at Big Blue by ShawnX · · Score: 1

      Yeah, Rocks is nice a Cluster In a Box(tm) just install and an instant cluster will appear :-)

      --
      Everyone wants a Tux in their life.
    2. Re:Not to pick at Big Blue by Frumious+Wombat · · Score: 1

      Which is good, but then the users appear, which isn't so good.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
    3. Re:Not to pick at Big Blue by QuesarVII · · Score: 1

      Rocks definitely has its flaws though. It's documentation is lacking too.. especially in troubleshooting.

      Try making a separate home partition during the install. You'll end up with a borked kickstart server due to the /export/home automount to /home failing. So you reinstall

      Then you'll decide to add openpbs/torque after you've got your cluster up.. D'oh! That roll can only be installed during the initial install... so you reinstall again.

      Then you decide to make some changes to your systems.. say set up channel bonding. One day a power supply blows, you replace it, but when you power the node back up, the os gets automatically reinstalled blowing away all of your customizations.

      The best bet for clustering is a standard linux distro. I prefer either Gentoo, Suse, or Fedora. Diskless setups should be configured with a small initrd containing your root filesystem. /usr and stuff should be nfs mounted. For hard drives, use a backup restore tool like MCMS to install nodes.

      Set up rsh or ssh with passwordless host based authentication and set up some scripts to run commands on all of them. Then you can easily install software, etc on all nodes simultaneously. Set up whatever communication libs you need (mpi, pvm, etc) on all systems using your scripts and a nfs shared directory(either to share the program out, or just install from).

      Need a job scheduler? Fine, use your scripts and install it on everyone. Have a drive fail? Use your backup/restore tool to reimage a current system to the failed one. Now you have a easily customizable and maintainable cluster that is not tied to some other groups release schedule.

  22. Proof by Work+Account · · Score: 1, Interesting

    Some guy on an HP forum asks how to get Java code to run in his Web browser on Linux Itanium. Shock and awe follows as he's told you can't run an applet on his multi-thousand dollar 64-bit workstation.

    Link

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:Proof by BiggerIsBetter · · Score: 2, Informative

      That's a bugger, but still, web-browser applets != applications. If they offer the J2SE for Itanium, you should be good to go with anything other than browser applets. Java applications should run just fine, and even stand-alone applets should be runnable with the Java appletviewer.

      --
      Forget thrust, drag, lift and weight. Airplanes fly because of money.
    2. Re:Proof by sho222 · · Score: 3, Funny

      Yeah, ok, I'm confused. I naturally thought you were talking about running java application servers or the like on Itaniums. It didn't cross my mind that you bought nearly a million dollars in hardware to run applets in your browser.

    3. Re:Proof by Anonymous Coward · · Score: 1, Informative

      Some guy on an HP forum asks how to get Java code to run in his Web browser on Linux Itanium. Shock and awe follows as he's told you can't run an applet on his multi-thousand dollar 64-bit workstation.

      This is because that JDK / JRE for Linux Itanium does not have browser plugin yet. But it should run any Java apps seamlessly. This same thing happens on AMD64. That's not a big deal. For AMD64-ers, we look at Blackdown JDK. But for IA64, you're SOL.

    4. Re:Proof by moro_666 · · Score: 1

      omg dudes ... are you serious ?

      all the time i have been around java, j2se always came bundled with j2re (meaning i have not seen a j2se download that didn't contain j2re, probably because itself depends on it). have they really managed to create a j2se especially for titanium that doesnt have jre in it ? maybe they just dont make the jre package because nobody would need it ?

      if nothing else helps, run qemu on it and let qemu run the x86-32 java (actually this idea is even more terrible than it sounds, but it will work.)

      ps. first man in the thread, write three letters into your notebook ... AMD

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    5. Re:Proof by BiggerIsBetter · · Score: 1

      He's talking about the browser plugin that (normally) ships with the JRE (which ships with the J2SE). The JRE is there, but apparently nobody makes a JVM environment for Itanium that includes the plugin.

      --
      Forget thrust, drag, lift and weight. Airplanes fly because of money.
  23. Rocks Clusters by lheal · · Score: 4, Informative

    Rocks has a great system for making high-performance clusters from similar machines. A Rocks cluster consists of a front-end ("master") node and a bunch of compute nodes (and I think special-purpose nodes).

    The master gets a full Linux (RedHat-based) install. It's a NFS/DHCP/Kickstart server for the compute nodes, and runs whatever other services you want the compute nodes to use. The master has two network cards and acts as a firewall (NAT optional).

    The compute nodes boot via DHCP and Kickstart, downloading their kernel and whatever other OS files you want to their local disk. You decide how much NFS or local disk to use.

    Job queueing is handled by, e.g., Sun Grid Engine (an Open Source queueing package) or some other queueing software.

    Here's the neat thing: to make a change to a compute node setup, you change the Kickstart config and reboot all the compute nodes (as they finish whatever queued work they're doing, or immediately if you want). That makes the sysadmin's life easy, while still maintaining the speed of having the OS on the local disk.

    --
    Raise your children as if you were teaching them to raise your grandchildren, because you are.
    1. Re:Rocks Clusters by ShawnX · · Score: 1

      There is also a commercialized version of Rocks called Platform Rocks which is based on SDSC's Open Source release which provides enterprise support and provides other goodies. You can find it at http://www.platform.com/products/rocks/ -ShawnX

      --
      Everyone wants a Tux in their life.
    2. Re:Rocks Clusters by tuser · · Score: 1

      ...and "Scalable Rocks" which is put out by co-developers of NPACI Rocks (SDSC's open source release), Scalable Systems. It is provided by MCG in the U.S. Scalable Systems developed the SGE Roll, N1GE Roll, PVFS support, and Myrinet/Inifiniband/Quadrics/etc drivers.

  24. I, For One by Anonymous Coward · · Score: 0

    I, for one, welcome our HPC Linux clustering overlords.

  25. Re:Advice: Don't use Itaniums for Linux cluster by TheNetAvenger · · Score: 1

    You can't even run Java on them.

    And you would want to run a low performance non-scalable application development base on them why?

    Or you just purchased the HPC with hopes of getting good performance out of JAVA? :*)

    This is like saying, "We heated the syrup to 400 degrees F. so it would come out of the jar faster, but now realize this won't work cause the jar keeps breaking."

    Who in the heck would be trying to use something like JAVA on a HPC in the first place, and WHY?

    Do you realize how much performance you are losing by not picking a better suited development platform? Or even one that doesn't make solitare chunk on a 3ghz P4.

  26. 8 billion records by jawahar · · Score: 1

    How do I create a database of 8 billion records with 100k size each?

  27. Re:Advice: Don't use Itaniums for Linux cluster by Salis · · Score: 1

    I completely agree, but you'd be surprised how many scientists (computer scientists even!) will complain that XYZ algorithm is too computationally intensive...and then you find out they implemented it in Java.

    It's like "DUH!" C or Fortran. Pick one. Or C++, even. But Not Java.

    Of course, when you broach the topic, you will hear things like 'C is old. Fortran is older!' Wtf cares? It's F A S T.

    --
    Favorite /. tagline: "On the eighth day, God created FORTRAN." And it was good.
  28. You are absolutely clueless by Work+Account · · Score: 2, Informative

    I would wager you've never used Java. I say that not as an insult, but because you simply have yet to realize that a change made back in 1996 made the average piece of Java code run as fast as the average piece of C/C++ code.

    ---

    Five composite benchmarks listed below show that modern Java has acceptable performance, being nearly equal to (and in many cases faster than) C/C++ across a number of benchmarks.

    1. Numerical Kernels

    Benchmarking Java against C and Fortran for Scientific Applications
    Mark Bull, Lorna Smith, Lindsay Pottage, Robin Freeman,
    EPCC, University of Edinburgh (2001).

    The authors test some real numerical codes (FFT, Matrix factorization, SOR, fluid solver, N-body) on several architectures and compilers. On Intel they found that the Java performance was very reasonable compared to C (e.g, 20% slower), and that Java was faster than at least one C compiler (KAI compiler on Linux).

    The authors conclude, "On Intel Pentium hardware, especially with Linux, the performance gap is small enough to be of little or no concern to programmers."
    2.
    More numerical methods: SciMark2 scores

    R. F. Boisvert, J. Moriera, M. Phillipsen, R. Pozo,
    Java and Numerical Computing,
    Computing in Science & Engineering, 3(2):18-24, Mar.-Apr., 2001.

    SciMark includes a number of numerical codes. On a PIII/500, MFlops (higher is better):
    ibm jdk 1.3.0 84.5
    linux2.2 gcc (2.9x) -O6 87.1
    3.
    Still more numerical methods
    From the book Object-Oriented Implementations of Numerical Methods by Didier Besset (MorganKaufmann, 2001):

    Operation Units C Smalltalk Java
    Polynomial 10th degree msec. 1.1 27.7 9.0
    Neville Interpolation (20 points) msec. 0.9 11.0 0.8
    LUP matrix inversion (100 x 100) sec. 3.9 22.9 1.0

    4. Microbenchmarks (cache effects considered)

    Several years ago these benchmarks showed java performance at the time to be somewhere in the middle of C compiler performance - faster than the worst C compilers, slower than the best. These are "microbenchmarks", but they do have the advantage that they were run across a number of different problem sizes and thus the results are not reflecting a lucky cache interaction (see more details on this issue in the next section).

    These benchmarks were updated with a more recent java(1.4) and gcc(3.2), using full optimization (gcc -O3 -mcpu=pentiumpro -fexpensive-optimizations -fschedule-insns2...). This time java is faster than C the majority of the tests, by a factor of more than 2 in some cases... ... suggesting that java performance is catching up to or even pulling ahead of gcc at least.

    These test were mostly integer (except for an FFT).
    5.
    Microbenchmarks (cache effects not considered)
    In January 2004 OSNews.com posted an article, Nine Language Performance Round-up: Benchmarking Math & File I-O. These

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:You are absolutely clueless by CommieOverlord · · Score: 1

      Java performance was very reasonable compared to C (e.g, 20% slower),

      Right, except the entire point of high-performance computing is, well, high-performance. 20% means that a run that takes 5 days would now take 6. Or it means buying 120 computers instead of 100.

      Many users of HPC try to eek out every possible bit of speed. "If I use network card X instead of network card y it shaves 2% off the run-time!". 20% is massive to them.

  29. I'm sorry but you're clueless by Work+Account · · Score: 1

    You could be the best programmer in the world in FORTRAN or C but don't think that because of that you understand Java. The vast majority of complainers and those who knock Java haven't written a line of code in Java ever in their life. Their experience may be with an applet or two in the browser, if that.

    That being said, go read this article and then report back. I doubt you'll post because it's hard to dispute raw facts from an unbiased research team :)

    ---------------

    Performance of Java versus C++
    J.P.Lewis and Ulrich Neumann
    Computer Graphics and Immersive Technology Lab
    University of Southern California
    Jan. 2003
    updated 2004

    This article surveys a number of benchmarks and finds that Java performance on numerical code is comparable to that of C++, with hints that Java's relative performance is continuing to improve. We then describe clear theoretical reasons why these benchmark results should be expected.

    http://www.idiom.com/~zilla/Computer/javaCbenchmar k.html

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:I'm sorry but you're clueless by trurl7 · · Score: 1

      Thank you for the link. I enjoyed reading the paper. Very well written, and the shpiel about "psychology and mythology" in Comp Sci people was great.

      I couldn't help noticing thought:

      Your company shelled out close to a million on hardware. You use java, and the article does specifically discuss numeric benchmarks .... so either you're from the NSA, or (I think more likely) doing some kind of financial/market prediction/analysis.

  30. Speaking of clusters by deadline · · Score: 1

    For those interested, there is a new website on clusters called ClusterMonkey. It just got started and has plenty of good free content (and more is coming).

    --
    HPC for Primates. Read Cluster Monkey
    1. Re:Speaking of clusters by ShentarZ31 · · Score: 0

      Another good site is Supercluster.org. It has good free software on it for download. Torque and Maui are pretty good pieces of software.

  31. Cluster in a box by lithium100 · · Score: 1

    Anyone remember Transmeta? Well check out what they do now!

    http://orionmulti.com/

  32. Why SMP & Vector Processing Aren't Options (No by cmholm · · Score: 2, Informative
    I had originally posted this 'way back during the Ask Donald Becker call for comments. AFAIK, we never got a Donald Becker Replies, but life goes on. I should note that my shop is loaded to the gunwales with IBM clusters, some of the nodes for which are 32 cpu SMPs.

    [Donald's] work in making the "piles of PCs" approach to high performance computing a reality with Beowulf has been responsible for vastly expanding the construction and use of massively parallel systems. Now, viturally any high school - never mind college - can afford to construct a system on which students can learn and apply advanced numerical methods.
    In retrospect, however, it would seem that the obvious cost benefits of Beowulf very nearly killed the development and use of large SMP and vector processing systems in the US. My understanding of the situation is this:

    * Before Beowulf, academics had a very hard time getting time on hideously expensive HPC systems.

    * When Beowulf started to prove itself, particularly with embarrassingly parallel problems using MPI, those academics who happened to sit on DARPA review panels pushed hard to choke off funding for other HPC architectures, promising that they could make distributed memory parallel systems all singing, all dancing, and cheap(er).

    * They couldn't really deliver, but in the meantime, Federal dollars for large shared memory and vector processing systems vanished, and the product lines and/or vendors with it.... at least in the US.

    * Eight years later, only Fujitsu and NEC make truly advanced vector systems [top500.org], and Cray is only now crawling back out of the muck to deliver a new product. Evidently someone near the Beltway needs a better vector machine, and Congress ain't paying for anything made across the pond.


    Cutting to the chase, did [Donald Becker] advance a "political" stand among [his] peers within the public-funded HPC community, or [was he] just trying to get some work done with the budget available at NASA?

    --
    Luke, help me take this mask off ... Just for once, let me butterfly kiss you with my own eyes.
  33. Re:I'm sorry but you're wrong by Salis · · Score: 1

    I'm sorry, but you're wrong.

    Java performance depends entirely on the JVM. If the JVM sucks, then the Java program runs slow. The JVM may be good on PIV x86, but what about Power series? What about Itanium? Clusters don't often use x86's because they consume lots of power and require lots of cooling. And new computing architectures require ... a new JVM! So when the Cell processors are available for scientific computing, C and Fortran compilers will be written to take advantage of their amazing capabilities. How quickly do you think a JVM will be available??

    I read the website you cited and lot of the reasons for its 'Java is faster than C!' aren't true. Most of the reasons why Run-time compilation are complete BS. A good Fortran/C compiler will do the _exact same thing_. The website doesn't convince me. It has too few benchmarks and does not provide the code it uses. Not impressed.

    So, for scientific computing, Java is still not the answer.
    And, I'm not alone. If Java was faster, then don't you think IBM/Intel/SGI/HP would create nice JVMs on all of their HPC systems with nice development environments. They don't.

    --
    Favorite /. tagline: "On the eighth day, God created FORTRAN." And it was good.
  34. You obviously haven't used Java either by Anonymous Coward · · Score: 0
  35. Re:Why SMP & Vector Processing Aren't Options by deadline · · Score: 1
    Cutting to the chase, did [Donald Becker] advance a "political" stand among [his] peers within the public-funded HPC community, or [was he] just trying to get some work done with the budget available at NASA?

    C. None of the above. Clusters are about economics and the effect commodity hardware has on the market. Don did what any good engineer does, "he asks what if?"

    --
    HPC for Primates. Read Cluster Monkey
  36. Re:Advice: Don't use Itaniums for Linux cluster by Anonymous Coward · · Score: 0

    Odd, on both my $30K Itanium2 box and my $850K Itanium2 box I have both the IBM and BEA JREs installed. The link that you supply downthread is for a request for a web browser plugin. I'm sorry but there's no fucking reason for you to need to run a web browser on a $850K cluster of enterprise-class hardware.

  37. Not to fear... by Kadin2048 · · Score: 1

    Don't worry, Debian will support it. :)

    Although I'm being slightly humorous, I really do appreciate this aspect of Debian, and I was a little sad (although I realize it was completely necessary) when they finally got around to dropping some of the lesser-used architectures. But it is nice to know that if I ever get a masochistic urge to run Linux on a Motorola 68LC040 that I know right where to get it.

    I think IA64 will probably linger around for a while. Eventually it will just become a question of how much effort you or your company want to put into compiling your own code, once people stop building binaries for it off the shelf. I also don't know much about the applicability of a desktop OS like Debian to a clustered system, so maybe it's of no consequence at all in your situation.

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  38. Smokin Crack.. by tempest69 · · Score: 2, Interesting
    We spent $849,000 on an Itanium cluster and have recently found ourselves SOL since it's a dying architecture.

    You can't even run Java on them.

    ok, Where to begin...

    First, spending a million bucks on a machine that doesnt meet your needs. I hope there is an accountant ready to spank someone over this.

    Second, using Java in a massivly parallel fashion.. Last I knew there wasnt a MPI or PVM port that used Java, plus it kinda defeats the purpose of having big hardware running a slower language(yes I know compiled java can be fast, but Nowhere like near metal C ).

    Third, Giving up on a hellfire machine.... Really dont Boo-hoo that you cant make it run java, open a book, code some C++ and make the thing work. If you have a problem for it to solve, then solve it, heck use a cross compiler to translate your java core over to c-c++ if you feel the urge. Itanium is a brutally fast architecture, and until it's mips/watts ratio drops well below the norm, your buisness case for scrapping it is going to be tough.

    Storm

  39. E-mail for the world by Anonymous Coward · · Score: 0

    How about a HPC running Zimbra http://www.zimbra.com/ ... e-mail for the masses!

  40. Re:Why SMP & Vector Processing Aren't Options by joib · · Score: 1

    Nah, it's all about using the right tools for the job.

    Clusters are a good thing, as they provide a very cost-effective platform for running codes with modest communication requirements. Just like running a communication-intensive code on a cluster will limit performance, running a code with little communication on a "real" supercomputer is a waste of money.

    The sad thing about the current "HPC crisis" is not the rise of clusters, but the use of clusters for tasks which they are ill suited for (typically, "grand challenge" tasks).

    The crucial thing is to have an appropriate balance, so that the tasks which really need a "real" supercomputer can get one, and other tasks can run on clusters.

  41. Serious Requst - Want to biuld SQL cluster by Anonymous Coward · · Score: 0

    Hi
    This article could not have been posted at a better time!!
    I want to build a cluster to host a highly redundant SQL database.
    It would have 250ish users so performance is not too major an issue, however, it needs to be solid (5 9s uptime) as I dont wont to be fixing this thing on weekends.
    Has anyone got a "real world" guide to implimenting this?

    Our situation is this:
    We have a lot of old Dell 1300 servers (10 or so). 4x9Gb HDDs and 384Mb Ram.
    I want to run a shared calendar for 49 remote sites.
    I need to have it reliable. I cant do this with windows (the cost of software alone will kill this project dead).

    So, help me Obi Slashdot Kenobi, you really are my only hope!!

    1. Re:Serious Requst - Want to biuld SQL cluster by adam872 · · Score: 1

      It depends on which database you are using. With Oracle, you generally use RAC (Real Application Cluster), which is termed "shared everything". That is, the database storage and connects are shared between the compute nodes of the database. Message passing happens between the nodes to maintain consitency of the database, particularly in the event of one or more machines going down for maintenance or a hard crash. This used to be called Oracle Parallel Server (OPS) and necessitated the use of raw devices, rather than filesystems and was pretty ugly to manage. It worked bloody well though. However, you could lose all bar one of your nodes and have the database still completely available.

      DB2 and SQLSERVER use a "shared nothing" approach, where the database storage and computing power are partitioned among the various nodes, so each system stores a different part of the database (Oracle can also do this via the use of a master node and DB links). However, you could theoretically lose part of your database if one of the nodes goes down (somebody correct me if I'm wrong here). The benefit is very good scalability, however, as you distributed the load over many nodes.

      MySQL offers a clustering option that appears to rely on replication to maintain consistency and redundancy. They say that you can lose a node and keep going. How many transactions are lost between replication intervals is unknown to me.

      So the question is: what application are you running and what database are you going to run it on? You basic requirements above are eminently doable on a number of products, but it depends on your performance and failover needs. You need to consider also the admin complexity of any solution. If you have to monitor partitioning and replication logs and don't have good tools to manage it, you can spend a lot of time managing that! I personally prefer the shared disk and a small number of large machines to distribute load and provide fault tolerance at the same time. Added to that, I want the database to handle all of it and abstract it away from the O/S and hardware, so I don't have to worry about it. YMMV though....

    2. Re:Serious Requst - Want to biuld SQL cluster by chez69 · · Score: 1

      if you really want 5 9's uptime, that you know will work, you'll have to pay some $'s for it. good hardware, good software (not necessarily oracle, can be free too). don't go cheap if this database is for something important. The hardware is the most important part of the cluster.

      we have 5 9's uptime on two load balanced pSeries unix machines connected to a nice pSeries database server (with a hot backup), expensive as crap but we never have to touch them. The machines can take a beating, unlike your old pcs with 300 megs of ram.

      --
      PHP is the solution of choice for relaying mysql errors to web users.
  42. Re:Advice: Don't use Itaniums for Linux cluster by kst · · Score: 1

    Why can't you run Java?

    The TeraGrid has several large IA-64 clusters (mostly running SuSE Linux); as far as I know, Java works just fine on them.

  43. Propogate these views by TarrySingh · · Score: 1

    from a business point of view. And try to sell it across the Business Community, Companies are still cn windows. They need to not just encourage such endeavours(frm their high towers) but also adapt them in order to help Small Scale and Medium Scale businesses take full advantage of HPC on Linux.

    --
    Scott McNealy to Michael: "Suck my Sun!" Michael Dell to Scott : "Lick my Dell!"
  44. my experience by netjiro · · Score: 3, Interesting

    I have deployed several clusters throughout the years, mainly for research in academic environments and small companies, and I can say that clustering makes a lot of things soo much easier.

    Diskless SSI clustering makes maintainance a breeze, and ensures that all systems are always in sync and up to date. All nodes can run the same system image, whether they are servers, dedicated compute nodes, or regular desktop machines.
    Of course you can still have local hard disks if you want, and for some apps it is recommended, but the system boots from the servers nontheless.

    OpenMosix dynamic distribution makes it possible to use heterogenous hardware, and handles highly dynamic computational load quite well. The applications just wander off to whatever physical machine will run them the fastest.
    This also makes simple parallel implementations of code a lot simpler, just fork and forget, and you will pay a small overhead for the benefit of having good load-balancing automagically.

    Dymanic distribution also makes it possible to use regular desktops as cluster nodes along with the dedicated compute nodes.
    Need windows dualboot on some nodes? no problem, when you shut them down do boot windows, the processes that used to run on those machines just migrate to another node. When you go back to linux, processes come back.

    Need explicit parallelism? no probs, MPI / PVM etc works fine together with the dynamic distribution and complements it for applications that are already well parallelized.

    Scaling? This has never been an issue as long as the network infrastructure is up to speed. A decent 100mb or gigabit system has proven to be good enough for just about everything I've seen.

    High availability? How about having several servers that can run hot or cold spare for each other, and which can function as compute nodes as well... Nice when a server MB catches fire (yes, I've had that, and lost as much as a few minutes of work time, (the time for someone to walk to the server room, unplug the smoking machine and restart a running (cold spare) backup server). Most of the people at the lab didn't even notice the hickup.)

    Batch/job queues? no probs, use sun grid engine, write your own, or whatever. simple as cake.

    I have mainly used gentoo linux for the flexibility and ease of maintainance and I can highly recommend it. It is all fairly simple to implement on gentoo. Just read up on gentoo system administration, pxelinux, tftp, openmosix, and whatever you feel you need to use it for.

    The main problem right now is the lack of good openmosix support for 2.6 series of kernels. But I'm sure that some or all of this can be built with any or all of the other dynamic distribution systems out there.

    If you have off-list questions please contact me at my nick at gmail.com.

  45. Straight from the Supercomputer FAQ by Anonymous Coward · · Score: 0

    What makes a supercomputer?

    The fastest, most powerful machine to solve a problem today.
    Generally credited to Sid Fernbach and George Michael and others

    What if I qualify that with "cost?" ["for the cheapest"]

    Then, it's not a supercomputer. Period.

    http://groups.google.com/group/comp.sys.super/brow se_frm/thread/93f8fec7407d662/d130c603031cf3b3?lnk =st&q=super+computer+faq+quote&rnum=2#d130c603031c f3b3

  46. Mod him redundant by Donny+Smith · · Score: 1

    How did this get modded interesting? It is REDUNDANT.

    A moronic question (the answer is in the fucking article) that wasted other reader's time and created nothing but glut (since the answer is at the URL given in the story - http://www-128.ibm.com/developerworks/linux/librar y/l-cluster1/).

    1. Re:Mod him redundant by Comatose51 · · Score: 1

      Modding my question up was probably the wrong thing to do but I don't think it was a redundant or even a moronic question since many of us have absolutely no experience or knowledge about clustering, other than hearing "Beowulf" being repeated over and over here. Given that, the question asks if Beowulf is the dominant cluster in the Linux world and if there are others, how do they compare? I don't see where in the article these questions are answered. Given that the first real reply to my question was modded up +4 informative, I think there were other readers who were also interested as well. Not all of us are cluster or Linux experts.

      --
      EvilCON - Made Famous by /.
  47. Re:Advice: Don't use Itaniums for Linux cluster by halleluja · · Score: 1
    We spent $849,000 on an Itanium cluster and have recently found ourselves SOL since it's a dying architecture.
    I will make your frustation go away and pay you $849.00!!
  48. Biased IBM rubbish by Anonymous Coward · · Score: 0

    HPC hardware falls into three categories:

            * Symmetric multiprocessors (SMP)
            * Vector processors
            * Clusters



    Ignoring NUMA is unacceptable in an overview such as this. I guess I was expecting a decent article.

  49. Don't forget Linux Networx by Anonymous Coward · · Score: 0

    Linux Networx is an entire company providing HPC solutions using Linux.
    http://www.lnxi.com/

  50. left out application-level clusters by kpharmer · · Score: 1

    Ten years ago Informix supported MPP configurations in which it would sit on top of MPP servers like the IBM SP2 (Deep Blue - the chess computer). In this configuration you'd have 20-200 separate nodes, each with its own memory & disk and Informix would be responsible for spreading its data across the nodes, running a query across nodes, and joining the results.

    The sp2 was originally intended for scientific computing, but then most were sold as giant database servers. Around 1996 (I think) db2 also supported this kind of clustering.

    Today the SP2 is no longer sold, but IBM supports the ICE configuration for db2 - in which you put together 5,10,200 blade servers, each with fibre connection to disk, and local memory. Then db2 handles queries spread across all blades. And of course, you don't have ot use blades - you can use desktops, or whatever. And it supports windows, aix, linux, solaris, etc. Informix still supports this kind of clustering as well.

    Oracle now supports clustering over linux with RAC. It's more expensive, and doesn't scale as high, but probably is better at failover. And I think the teradata server (unix variant os & dbms) is also an mpp. At least it used to be.

    Anyhow, I'd be surprised if there are as many scientific applications of clusters in production as there are databases.

  51. IBM Shuns OpenVMS? by Spinlock_1977 · · Score: 1

    OpenVMS clustering, arguably the most mature and most flexible clustering available, was somehow omitted from IBM's view of the clustering universe. Why didn't they address hot/hot[/hot[/hot...]] configurations? How about Single System Image (every member boots from the same system disk) configurations? (These two are not mutually exclusive).

    These two are the Holy Grail of clustering capabilities. Um, no wonder IBM didn't mention them. And only the grey-haired /.ers remember VMS anyway.

    --
    - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  52. Re:Advice: Don't use Itaniums for Linux cluster by Anonymous Coward · · Score: 0

    yes, kst, it does, in fact, run java just fine. It's part of CTSS if I recall correctly.

  53. Funny by Work+Account · · Score: 1

    I thought with $849,000 worth of the best computers we'd be able to on a rare instance when needed use one of the idle ones to run something a 486 with Netscape 3.0 could run.

    Guess not. We'll have to get a computer from 1994 to do that.

    --

    If you "get" pointers add me as a friend (116)!
  54. Re:I'm sorry but you're wrong by cloudmaster · · Score: 1

    Intel *does*, however, make a C compiler and a Fortran compiler, as well as an MPI implementation. They all work pretty darned nicely on a cluster of Itaniums. Granted, I'm not getting the java compiler to work right now (I seem to have gcj on here), but then, I'm not positive that I even installed the whole Java setup since I don't really care about Java on this (or any) cluster. :)

  55. Re:I'm sorry but you're wrong by Salis · · Score: 1

    *Exactly*. And Intel's C/Fortran compiler is F A S T. (I use it on Itaniums as well. Not that Itaniums are all that fast, but who cares if you have 100+ of them. ;) )

    For Linux, the Fortran compiler is also free right now (as in beer, for non-commercial use), which allows me to code and test from home on my x86 and then recompile it on Itanium. Easy!

    --
    Favorite /. tagline: "On the eighth day, God created FORTRAN." And it was good.
  56. Re:Advice: Don't use Itaniums for Linux cluster by toofast · · Score: 1

    I wouldn't call Itanium a dying architecture.

    We run a cluster of dual Itanium 2 servers and they work great - Java servers and all. They can handle massive loads compared to Xeon-based servers they replace.

  57. Probably too late for discussion now that it's... by austinpoet · · Score: 1

    off the front page.

    My company (and me specifically) designed/built/runs a Windows 2000 cluster. It's not as affordable as a linux cluster, but our simulation engine is a windows-only product and there does not exist anything close for other platforms (I wish!!!). We have a huge efficiency rating with our in-house designed cluster system. A simulation that takes 8 minutes on a single serial processor takes less than 1 minute on an 8 computer cluster. Yes, you read that right, we are more efficient in a cluster than on a serial system.

    It comes from how the simulation work is designed certainly, and then it comes down to available addressable memory. In a single 32bit system (under win2k) we can access ~2-3gb of memory for our simulation work. When we approach that limit for a single simulation, we see an incredible slow down due to swapping. By clustering the work, not only do we get the multiple processors working together to complete the simulation faster, but we use less memory per processor, eliminating (limiting) any HD swap slow down.

    Eventually I suspect that 128bit systems will remove that inherent problem, we have simulations that easily take 16+gb of memory to complete that we just can't run on a single system. Until then, clusters are the way to go.

  58. Re:Probably too late for discussion now that it's. by QuesarVII · · Score: 1
    Eventually I suspect that 128bit systems will remove that inherent problem, we have simulations that easily take 16+gb of memory to complete that we just can't run on a single system. Until then, clusters are the way to go.


    You can currently get up to 32G of ram on a dual opteron, 64 on a quad, or 128 on an 8way. This is using 4g (expensive) dimms. 2g dimms are much cheaper nowadays though, and 16/32/64 are still respectable numbers!
  59. Re:Probably too late for discussion now that it's. by austinpoet · · Score: 1

    well, that's true but accessing that amount of memory, via a windows program, is not likely for any single processor in the SMP scenarios that you describe above. 128GB but its 16 per processor and not shared afaik... I don't do much on more than 2processor boxes