High-Performance Linux Clustering 129
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."
Imagine (Score:5, Funny)
*ducks*
Imagine (Score:5, Interesting)
Re:Imagine (Score:2)
Re:Imagine (Score:2)
Re:Imagine (Score:2)
Re:Imagine (Score:2)
(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).
Geek (Score:5, Interesting)
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?
Re:Geek (Score:3, Interesting)
Re:Geek (Score:1, Funny)
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 eith
Re:Geek (Score:2)
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.
Re:Geek (Score:2)
Re:Geek (Score:2)
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.
Re:Geek (Score:5, Informative)
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 [exit1.org]
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
Re:Geek (Score:1)
Doesn't matter. Just slap a "Type-R" sticker on it and you'll have the world's largest artifically inflated e-penis.
Re:Geek (Score:2)
Somehow I think, despite my collection of such systems, that it's not entirely practical to assemble that cluster.
Re:News? (Score:2, 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.
Advice: Don't use Itaniums for Linux cluster (Score:5, Interesting)
You can't even run Java on them.
Re:Advice: Don't use Itaniums for Linux cluster (Score:3, Informative)
What do you mean? I thought 1.4.2 and up had support for Itanium. Check this white paper [sun.com] (search for Itanium). Are their claims false, or are you running and older version of the JRE?
Re:Wrong (Score:1)
Proof (Score:1, Interesting)
Link [hp.com]
Re:Proof (Score:2, Informative)
Re:Proof (Score:2)
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 i
Re:Proof (Score:1)
Re:Proof (Score:4, Funny)
Funny (Score:1)
Guess not. We'll have to get a computer from 1994 to do that.
Re:Proof (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.
Re:Advice: Don't use Itaniums for Linux cluster (Score:2)
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
Re:Advice: Don't use Itaniums for Linux cluster (Score:2)
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.
I'm sorry but you're clueless (Score:1)
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.L
Re:I'm sorry but you're wrong (Score:2)
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
Re:I'm sorry but you're wrong (Score:2)
Re:I'm sorry but you're wrong (Score:2)
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!
Re:I'm sorry but you're clueless (Score:1)
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
You are absolutely clueless (Score:2, Informative)
---
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 a
Re:You are absolutely clueless (Score:2)
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.
Not to fear... (Score:1)
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
Smokin Crack.. (Score:3, Interesting)
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 k
Re:Advice: Don't use Itaniums for Linux cluster (Score:2)
The TeraGrid has several large IA-64 clusters (mostly running SuSE Linux); as far as I know, Java works just fine on them.
Re:Advice: Don't use Itaniums for Linux cluster (Score:1)
Re:Advice: Don't use Itaniums for Linux cluster (Score:2)
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.
So easy today (Score:1, Redundant)
Imagine! (Score:1, Interesting)
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?
Re:Imagine! (Score:5, Informative)
Re:Imagine! (Score:2)
Re:Imagine! (Score:3, Informative)
By components I mean software, since hardware is basically just a bunch of servers (or desktops), with optionally faster than commodity n
Re:Imagine! (Score:2)
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).
Re:Imagine! (Score:3, Interesting)
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
Re:Imagine! (Score:2)
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
Mod him redundant (Score:2)
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/libra
Re:Mod him redundant (Score:2)
A Thought (Score:3, Interesting)
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?
Re:A Thought (Score:2)
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!
Re:A Thought (Score:2)
You'll have to at least brush off most of that sulphur first...
Re:A Thought (Score:1)
Re:A Thought (Score:3, Interesting)
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 [seasonic.com] ).
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
Re:A Thought (Score:4, Interesting)
Re:A Thought (Score:2)
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 VMWar
This hasn't been my experience (Score:5, Interesting)
Re:This hasn't been my experience (Score:1)
Regards,
Steve
Re:This hasn't been my experience (Score:2)
Re:This hasn't been my experience (Score:2)
Re:This hasn't been my experience (Score:3, 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
Re:This hasn't been my experience (Score:1)
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 maintainan
Re:This hasn't been my experience (Score:2)
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?
Re:This hasn't been my experience (Score:2)
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
Re:This hasn't been my experience (Score:2)
Don't forget this low power hardware. (Score:4, Informative)
I'm wanting to build one of these, but I really don't need it. Time may change that.
Aggregate.org (Score:5, Informative)
article sort of misleading on mpp/cluster (Score:5, Informative)
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.
Re:article sort of misleading on mpp/cluster (Score:1)
Re:article sort of misleading on mpp/cluster (Score:1)
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
Re:article sort of misleading on mpp/cluster (Score:2)
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
Re:article sort of misleading on mpp/cluster (Score:1)
Re:article sort of misleading on mpp/cluster (Score:2)
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 netw
Re:article sort of misleading on mpp/cluster (Score:2)
Not to pick at Big Blue (Score:5, Interesting)
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.
Re:Not to pick at Big Blue (Score:2)
Re:Not to pick at Big Blue (Score:1)
Re:Not to pick at Big Blue (Score:1)
Try making a separate home partition during the install. You'll end up with a borked kickstart server due to the
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 se
Rocks Clusters (Score:5, Informative)
Rocks [rocksclusters.org] 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 [sunsource.net] (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.
Re:Rocks Clusters (Score:2)
Re:Rocks Clusters (Score:1)
8 billion records (Score:1)
Speaking of clusters (Score:2)
For those interested, there is a new website on clusters called ClusterMonkey [clustermonkey.net]. It just got started and has plenty of good free content (and more is coming).
Cluster in a box (Score:1)
http://orionmulti.com/ [orionmulti.com]
Why SMP & Vector Processing Aren't Options (No (Score:3, Informative)
[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?
Re:Why SMP & Vector Processing Aren't Options (Score:2)
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?"
Re:Why SMP & Vector Processing Aren't Options (Score:2)
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, "gr
Propogate these views (Score:1)
my experience (Score:3, Interesting)
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.
left out application-level clusters (Score:2)
The sp2 was originally intended for scientific computing, but then most were sold as giant database servers. Around 1996 (I think) db2 also su
IBM Shuns OpenVMS? (Score:1)
These two are the Holy Grail of clustering capabilities. Um, no wonder IBM didn't mention them. And only the grey-haired
Probably too late for discussion now that it's... (Score:1)
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 c
Re:Probably too late for discussion now that it's. (Score:1)
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!
Re:Probably too late for discussion now that it's. (Score:1)
Re:Beowulf Clusters (Score:3, Funny)
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 wor
Re:Serious Requst - Want to biuld SQL cluster (Score:2)
Re:Serious Requst - Want to biuld SQL cluster (Score:1)
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