Ask Slashdot: "Be" is for Beowulf?
PhiberOptik asks: "Considering that
BeOS is so adept at
handling high I/O and network bandwidth, whould it make a
good OS for a Beowulf cluster? I know that since BeOS is
not open-source it would be harder to have applications
made, but they would be easier to maintain; as BeOS has a
standard set. Any ideas?" Could this be done? What OS
characteristics are necessary for a Beowulf cluster?
BeOS is designed as a single user, desktop interface platform - sorta like windows. Out of the box you would not be able to do things like remote execution of commands, or even login remotely - something that would hamper such attempts. Besides, you would have every box running a gui and all the other things that it was *designed* to run. In addition the libraries and software for that have to be written separately, you could not just port existing UNIX clustering API easily. And finally consider the cost of licenses for a 100 machine cluster
-- Anton
(hey ytinasni)
1st post?
Proprietary is not the opposite of standard.
There are a number of proprietary implementations of Unix that comply with the POSIX standard.
Take note that Linux is not POSIX certified.
I have yet to see moderation here done well. This is an excellent example... an intelligent, informative post, with a bad title. If it had been titled anything else, it probably would have gotten a 2, for being informative. Yet the post was both informative and had a subject that was off topic. Obviously the current moderation format is unable to deal with such subtlety... Wasn't it Neal Stephenson who wrote that intelligence is the ability to deal with subtlety?
At any rate, I'm of the opinion that the poster has every right to be dissapointed with the current moderation format. The moderators have been chosen to help self-police a community which prides itself on individualism, intelligence and creativity. Yet as far as I can tell, all the moderators have managed to do is kiss up to celebrities, harass ACs, and mangle situations like this.
The same logic would be mostly correct. As it stands today, there is no denying that Linux excels primarily as a server platform and BeOS is a particularily good client platform. The two compliment each other particularily well. Be could do a lot worse than making BeOS run well with Linux as a server.
First of all, why would you want a Beowulf cluster of Be machines? The only thing I can think of that you would need any kind of clustering for BeOS is for distributed rendering, and most major studios just write their own software for handing off bits to Lightwave, etc..
Other than that, forget it, your dual-400MHz P2 is more CPU than you'll ever need, running BeOS. Hell, with personalStudio 1.0 from Adamation, you can do real-time video effects with _ONE_ 300MHz cpu.
I have a 400MHz P2 and I've never been able to use all the processor, other than mp3 encoding direct from cd.
--M
Please stop lying. The Linux kernel is very generally very modular, especially with respect to filesystem/device drivers/network stacks.
Yes. It was offtopic. If you do not know why, go find a clue.
Debugging threads is a nightmare, anyway.
Why on earth would you want to do DSM in software anyway? It might be an interesting experiment, but:
Heck, I stoop to pick up 5 cents. I once spent several minutes breaking a $10 roll or quarters out of the ice once (it was actually $9.75, one coin was missing).
If that $2500 is american (which I suspect), that would get me another three dual celery boxen. I just got one (similar to the sub 1k dual celeron on TCU, minus a few bits I already had) last week for $1655NZD (about $800USD due to tax). As you say, that $2500 is not in the slightest bit trivial.
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
My 386dx33 w/16M does a beautiful job as a ipmasq gateway. Mind you, that's for a phone modem, not a cable modem. I seem to max out at 500-600kBps, but I'm not sure if the cpu can't keep up of if it's the harddrives (they're old and slowish, 600-700kBps).
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
Fine, you can waste your money if you want to (so long as I'm not working for you). I can't and won't stop you (hopefully, I'll get some of it:).
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
Closed source s/w has to be well documented or you will almost never be able to get anywhere with it; you can't look at the source to see how to use a function. Open source s/w can get away without docs because they are, for the most part, redundant (though even a synopsys of what's where, or a diagram or two, would be a big help).
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
My Tulip (040) runs just fine under BeOS...
Posted by SmashPHASE:
I may have gotten this wrong, but last year
(october orso) I had some conversations with some BeOS represtatives at a fair and from what
they demonstrate and what they where telling me,
I got the impression that BeOS has is dedicated purpose for being a creative multimedia platform
(OS) just like Novell has it's purpose of being a Networking plantform (OS).
I thought BeOS was no match for Linux( being a multi-purpose OS), did I get it wrong?
Why, yes, I believe it could.
.sig around here. Hard to believe, but some of the regulars are a little protective of the guy.
.sig.
Call me crazy, but maybe trying to make Rob Malda look stupid is the wrong thing to be doing with your
Equally bad would be 'Alan Cox - you are what you eat' and 'Linus fscks penguins.'
If you want to be taken seriously, get a new
Mine's not that great, but it's not flamebait.
Don Negro
Don Negro
Perl 6 will give you the big knob. -- Larry Wall
Please inform me how GUY makes a computer slower. If you are sitting in front of computer, dragging/resizing windows using 32bit pixel depth, yes, then the GUI slows the computer down. If you aren't using GUI, it should not take any CPU (except for OpenGL screensavers :) from the rest of the system, unless the system design is serisously flawed.
Besides, you can shut down BeOS GUI and use telnet/bash only...
J.
I was (trying to) replying to the "Beowulf/GUI"...
Oh well...
J.
Give it a rest. You deliberately (I hope) provoked the moderators with a First Post subject line. Not to mention your comment was all of one sentence: 'It uses so it should be easy to port'. That kind of post is uninformative and the /. equivalent of aol'rs "me too!"
_damnit_
_damnit_
It's my job to freeze you. -- Logan's Run
The information in your quote consists of: "Beowulf is based on PVM and MPI, I forget which, maybe both..." How informative is that, eh? You could have looked it up to be sure if you weren't concerned with First Post status and wanted to inform the /. community.
Incidently, from the Beowulf Programming overview: "The Beowulf distribution includes several programming environments (all developed elsewhere) and development libraries as individually installable
packages. PVM, MPI, and BSP are all available. SYS-V--style IPC and p-threads are also supported."
_damnit_
_damnit_
It's my job to freeze you. -- Logan's Run
Read the Beowulf website. The specific reason why
NASA went with a free OS in the first place was
that it's typically necessary to make
modificiations in the OS in order to get decent
performance. Computational clustering like Beowulf
stresses systems in a fairly unique way, and most
general purpose OS's don't rise to the challenge.
BeOS may be a great OS, but I suspect even Gasse
himself wouldn't be surprised if it didn't meet
Beowulf needs perfectly, and consequently required
some mods.
sigs are a waste of space
Beowulf clustered applications (along with COWs and many other distributed systems) are developed using mainly MPI or p-threads. There is almost no good reason to use PVM except to support legacy code.
And of the two, MPI is generally vastly superior to p-threads because (IIRC) MPI is a higher level implementation which provides communication routines that are optimized for each particular hardware implementation (depending on the version/implementation of MPI). For example,
the actual implementation of MPI_Reduce() will vary depending on whether the nodes are in a shared/non-shared memory environment -- in a non-shared environment (eg. a Beowulf cluster), MPI uses a tree-method in order to distribute the data among the nodes in parallel.
Anyways, the point is that MPI is really just a communications specification (Message Passing Interface) with language bindings (C and Fortran). What you really want is a set of client/server daemons that _implement_ MPI.
Okay, I'm done with the conch now.
Odds of being killed by lightning and winning the lottery in the same day: 1 in 2^55
Yes, a DEC Tulip card worked fine in R4.0, but wouldn't work in 4.0 anymore. I took a 3Com 905B from my other machine which worked just fine.
Does anyone have any numbers on BeOS performance. As those of us old enough to vote know, every commercial OS vendor signs their own praises:
This means that the new release is either faster than an old one, or that it seems faster due to increasing CPU speeds.
Utterly meaningless in most cases. Maybe they include some primitive, closed web-server?
Could mean many things.
They've coded in hardware acceleration for at least two chipsets, support 32-bit color and they have some new widget type hacked into one of their "control-panels".
After conducting numerous comparitive tests, they found one test which, under certain (silly) circumstances, does indeed outdo the competition.
Production is the only true benchmark.
/* MAGIC THEATRE
ENTRANCE NOT FOR EVERYBODY
MADMEN ONLY */
Compliant means it runs POSIX programs.
Certified means that a standards organization has OFFICIALLY DECLARED that it runs POSIX programs. This is usually expensive. Good testing isn't cheap, and standards organizations are often profit based. Apparently this hasn't been done for Linux yet.
I don't know which organization handles the POSIX trademark. (service mark? copyright?)
the program for BeOS is called SockHop, read the overview to learn more about it. Sure programs have to be written for SockHop, but it looks powerful
--
http://www.beroute.tzo.com
"Science will win because it works." - Stephen Hawking
Do the words "First Post" ring a bell? Even if it's just in the jovial fashion I took it for (as it must have really been the 15th or 20th) someone glancing through the post subjects would automatically label you troll. If I were a moderator just now I might have knocked you down as well. There are some things you just don't joke about on here and expect much sympathy about.
However, Maya's code base was designed to be portable across OSs and CPUs [thus Maya/NT], and in fact may still have a little bit of MacOS support in it. Now, since I left they may have added all sorts of non-portable cruft, but I doubt it.
Just throwing in my 2 cents..
Reid
[ReidNews]
The technology formerly known as "Wolfpack" (now NT Enterprise Cluster Server, or something like that) is intended for high availability (failover, etc). NT high performance clustering has been done, however. See, especially the "NT SuperCluster" at UIUC. There are a couple versions of MPI available for NT. I know of four, two no-longer-supported-but-still-available academic versions and two commercial versions derived from the academic versions. MPI-Pro (from MPI Software Technology, Inc.) and PateNT (from Genias) are the two commercial verions. Don't recall URLs, but MPI-Pro is advertised in Linux Journal, and if you're really curious, we all know how to use a search engine.
Christopher A. Bohn
cb
Oooh! What does this button do!?
Technically, you could not build a Beowulf from BeOS -- the definition that Don Becker, Tom Sterling, et.al., provide for "What is a Beowulf?" is that it must have a free OS (Linux, *BSD, other) so that, if need be, optimizations to the OS can be made. ... The limiting factor is getting interprocess communication libraries.
That said, there's no reason you couldn't set up a "Cluster of Workstations" (COW) which is basically what you're thinking of -- it's been done with Solaris, NT,
Christopher A. Bohn
cb
Oooh! What does this button do!?
Considering that Beowulf is based on PVM and MPI, I forget which, maybe both, it should not be too difficult once those are ported.
What does the fact that an operating system not being open source have to do with the ability to write applications for it? Just because something isn't open source doesn't mean it is any harder to develop for. I find developing under BeOS pretty easy, as a matter of fact. Nobody says you *have* to use the B class structure layed out for you. Prime examples would be the dozens of UNIX applications ported to the BeOS (ssh being a biggie).
I also don't see why you need to have a "single set" of software for an OS for use with Beowulf. I'd think you could handle installing the same software in your given cluster, and I don't know of software for Beowulf that people are wanting to distribute in a binary-only fashion. Do such beasts exist?
Don't get me wrong, I'm a Be fan, and I run it on my home box for weeks (sometimes while doing Linux technical support ;), but I don't see how it would be even as good as Linux for Beowulf purposes.
-josh
it is, however, POSIX compliant.
what does it take to become "certified", as you put it?
------------------------------------------
Reveal your Source, Unleash the Power. (tm)
It costs a lot of money to go through the certification process...
RateVegas.com - Vegas Reviews
In practice, you can set up clusters on just about any system that supports both multithreading and networking. YMMV.
Um, the boxes that you are clustering will probably cost enough to make $50-$60 utterly insignificant, even if you use cheap celeries. My cost estimate for building a cluster of my own was about $400 US per node for just hardware (still haven't done it yet, in case you were wondering).
True. However, depending on the application, workarounds could suffice. A scheme that I speculated about would have a "lock memory region" command that you would call before accessing a data structure, that paged it in from the remote box that it was stored on if necessary, and also handled coherence. You would unlock it when you were finished with it. This would have substantial overhead, but for many classes of problem it would be adequate.
Similarly, for many classes of problem just a set of distributed clients with their own memory spaces would work. It all depends on what you are trying to do.
I've heard other people report problems with this chipset too. Send in a bug report to Be (check their web page). They'll either revise it themselves (if it was an internally written driver) or get the contractor to revise it if it was something that they paid for.
Re. the NE2000 compatible card, in principle that should work with the "NE2000" setting. In practice, who knows.
From a purely diagnostics point of view, I'd suggest trying each of the cards individually, to see if having the two cards in at once is causing problems (the uninitialized card may be causing bus or IRQ contention).
That assumes that you want to run the OS itself as a shared process. If all you want is a distributed application, this isn't necessary (though kernel support of shared memory helps, as another poster pointed out).
I was here before the present moderation system was in place. It wasn't pretty. While some posts are unjustly moderated down (or up), the vast majority of moderation that I've seen has been deserved.
In this case - I agree that it was an informative post. However, the moderator that marked it down didn't agree. If other moderators think that it was informative, it will be marked up again.
Last but not least, the moderators are the _readers_. Read the moderator guideline documents, and the articles on the subject. If you browse slashdot regularly, and post, you _will_ get moderator access now and then. The whole "all moderators are corrupt" view looks a bit strained in this light.
How a GUI makes the computer slower:
A GUI usually consists of many processes and each process may contain any number of threads. Besides the memory that these GUI processes/threads uses (most of which will get swapped to disk as they not used for long periods of time), they also have an entry in the process table. Ideally you would hope that the OS would only have to check the process table entries for these GUI processes/threads to see that they are sleeping during a context switch. However, because GUI's are message based they often contain timers/signals/etc that demand small amounts of CPU time (ie a screen saver timer). To make it worse, a timer/signal-handler may be in a process that has been swapped to disk thus causing a page-fault (which causes an interrupt, swapping of disk to memory, decrement of PC, etc). So really, even if a GUI seems like it is idle, it isn't and it is using valuable resources.
\forall code \in C, \frac{\Delta readability(code)}{\Delta t} < 0
It was a useful comment! morons.
-lx
Well, assuming that you aren't trying to use them both at once, the other things you should try are turning off 'pnp enabled os' in you bios, and uh, well, other than that they should work. I've gotten both a tulip and a pci ne2000 to work in be with no problem (setup in under 2 mins :)
-lx
There are some special purpose applications where an OS can make a real difference. Traditional operating systems, for example, have trouble keeping up when there are a lot of tiny chunks of data that need to be processed by user-level server processes (one of the reasons why routing, logging, and nfsd are in the kernel). There are some operating systems specifically designed for such applications, but they have to make other trade-offs. And I don't see this being an issue with Beowulf applications.
Marketeers like to make claims about one system being a lot faster than another (c.f. Windows NT vs. Linux), but in practice, I find those are pretty meaningless.
For Beowulf in particular, given that it's being developed with Linux and given that the people on the project know very well how to hack the Linux kernel and networking code, even if there were a bottleneck in some release of Linux, it's a good bet that it would get fixed really quickly. How much effort do you think Be Inc. is going to invest in addressing performance problems for distributed scientific computing, given that their target market is desktop multimedia?
BeOS!!! by the way BeOS rocks I used Suse for five months and BeOS rocks way more. It's faster. And POSIX complient just like linux. any posix command line app can be used on BeOS
As per the subject line. Not to be interpreted as some crazy pro-BeOS zealot, but BeOS runs without a problem on my machine, which was built specifically for running the BeOS (all the hardware in it was certified on the Be compatability list).
Without knowing the details of your system, I'd suggest that you remove any cards that aren't supported under the BeOS to see if that fixes your stability problem. It isn't an ideal solution, especially if you're dual-booting, but if you don't have the need to boot into another OS for a while you might want to give it a shot.
Actually BEOS ships with a telnet server, so you *can* login remotely. BeOS is not a multi user OS though, so most of the services associated with a multi user environment are missing.
There is SockHop for BeOS.
Programs have to be written specificaly for SockHop and use its base class instead of BLooper (Be's basic thread + event loop class) SockHop also uses a set of classes to handle routing of BMessages between threads.
It wouldn't be a Beowulf Cluster, because they run on Linux. Doesn't BeOS have a native GUI, this would be an overhead. Linux has the advantage in that you can disable everything except what you need to optimize available CPU time. I think that Beowulf-type clusters will remain on the Linux kernels, possibly xxxBSD.
You are absolutely wrong. Be has a telnet server, and the GUI is not an essential component of _any_ application. Many things are done with bash scripts.
The fact that a system has a GUI does not make the use of this GUI a precondition for any application.
Why has this been labelled "Flamebait". The original claim as it stands is "BeOS has a standard set." My question is "A standard set of what?" That's not flamebait, that's genuine confusion.
---
Put Hemos through English 101!
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
I know that since BeOS is not open-source it would be harder to have applications made, but they would be easier to maintain; as BeOS has a standard set.
A standard set of what? If you are talking about system calls, I wouldn't call Linux "non-standard". In any case, "proprietary" is the opposite of "standard".
---
Put Hemos through English 101!
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Be supports telnet "Out of the box" so both remote execution of commands and remote login are possible, it is designed as a single user OS, but it does have those two capablites.
As a Beowulf OS it is most likely not the direction that Be would want to go. Other than render farming there are not many multimedia applications that would benifit from clustering. That is the main design goal of Be, to be the media OS.
What part of "moderator" isn't clear. If they posted everything, you would've gotten the link I submitted to the Klingon porn site.
Everything you read anywhere is pushed through some subjective filtering. We read slashdot because we share tastes with the moderators and appreciate their choice of articles.
BeOS is as much a general purpose OS as Linux.
Multimedia is a niche they chose because they feel that to have a good story, they need focus. The same logic would call Linux a server platform.
Take a look at "www.compactnet.com" - this is a cluster in a box, using a parallel PCI backplane to aggregate performance and processing power.
Widgets Of Webdom.
Since I've put together one of these things, I thought I'd comment.....
The majority of the problems we like to solve are not the "embarrisingly parallel" problems like rendering frames of animation or bits of a single scene in a 3D picture. CFD (Computational Fluid Dynamics) applications (along with most other engineering apps) is matrix algebra intensive. Imagine matrices too large to fit into the RAM of a single processor (1e6 x 1e6 of 32-bit fp valuese, say). We divide this matrix up into sub-matrices and put the parts on the various nodes of the cluster. When we want to do matrix-vector multiplication there has to be a fair amount of communication for that to happen.
The point is that we require two things, high memory bandwidth (good cache helps here, but not enough), and low network latency. With fast ethernet the costs (in time) of sending one byte of data between two machines is nearly the same as 1k byte.
We don't particularly care about the OS as long as it stays out of the way. If the networking latency under BeOS is bad, then it's a bad OS for the cluster. If Be is constantly doing stuff in the backgroud, then it's a bad operating system for clusters.
There's nothing stopping anyone from porting MPI and giving it a try though.........
Yes...I am a rocket scientist.
Open-source software isn't any easier to develop per se, if you're a single programmer developing never-before-seen software. However, OSS does have the advantages of code-sharing, which (IMHO) makes it easy to build upon already existing apps, in order to get exactly what you want. It's great that the BeOS API is incredibly well documented and that they include tons of sample code, but can you take somebody else's app, modify it, and re-publish it freely, to allow somebody else to do the same thing? That's what this guy was talking about. I like the fact that I could write a little app, toss it into the net, and 2 weeks later, get a copy of my old app modified (hopefully improved) by a total stranger who thought it looked cool.
My main argument was that open source isn't always better software and OSS stuff like GTK, etc aren't instantly easier to write for. Every comment I have read written by BeOS coders say that they find it to be one if not the easiest OS ever made to write code for.
---Got Coffee?---
"I know that since BeOS is not open-source it would be harder to have applications made"
What makes you think that open-source software is any easier to develop? Be has documented the entire BeOS API and provides tons of sample code on every CD they sell. If you subscribe to the Be developer newsletter then they usually send more sample code plus tutorials in every issue. Don't get me wrong, I am not anti-linux. I do question the logic behind GPL'ing apps all the time. As a person trying to learn C++, I want to be able to make money off of the app itself... not supporting it. OSS has its place, and it is definitely got an impressive list of apps. However we need moderation because an all OSS world is no different than an all closed source world.
---Got Coffee?---
Well, you can use multiple network cards, but it makes the network run slower, not faster, hence the Mindcraft debacle. So I guess multiple NIC's aren't critical to a Beowulf.
Of course, the new threaded TCP/IP stack is now in the development version, so Linux should soon excell at benchmarks, and it might help cluster apps too.
My first suspicion would be that the cards aren't supported -- though the hardware support list includes them, so a) maybe they're not what you think they are (i.e. are you certain of them), or b) there's a hardware conflict on your PCI bus (or somewhere else) that Linux works around but is blocking Be? I don't know enough technical info on hardware to know why this might happen, but I've heard it can.
Good luck!
It seems to me that BeOS would be a little too big use as a clustering type OS. With the GUI and all.
A more efficient solution, in my mind, would be to enable BeOS workstations (which are great mutimedia machines) to distribute loads on a Linux Beowulf cluster.
Granted, I'm likely overlooking some things here. But just off the top of my head, it seems that it would be easier to utilize what's already there rather than starting another big project to add Beowulf clustering capabilities to BeOS.
Yes, no?
You can't create a Beowulf Cluster using the BeOS. Putting aside the fact that the definition of a Beowulf cluster means that it runs on Linux, Linux alone will not be able to run on a Beowulf either. Certain security issues and kernal issues have to be resolved before it can run over a parallel processing computer.
"Extreme Linux" is a commercial release of a version of Linux that was adapted to run over parallel processing systems.
In order for the BeOs to be used in a parallel processing computer system, the developers would have to change the OS to run on that type of computer system.
And I agree it would be a good idea, because of its bandwidth capabilities.
And if Microsoft can come out with a parallel processing software to run behind NT, then anyone can. Don't believe it's true? Do a search on the M$ site for "Wolfpack". Nice name...wonder where they ripped that one off of...
"Imagination is the only weapon in the war against reality." -Jules de Gautier