In The Works: Windows For Supercomputers
Robert Accettura writes "According to ZDNet, Microsoft may be feeling threatened by Linux gaining ground in the High Performance Computing (HPC) arena. As a result, they have formed a HPC group to bring windows to these systems. It makes a mention of how clustered computing may be a target. I guess the only thing better than crashing 1 computer at a time is crashing an entire room full at once."
Is it just me or does the notion of a GUI on high performance computers sound at bit pointless. I thought the point of HPC was to crunch masses of numbers - not something joe average will want to do any time soon. So what's the point of a pretty (and resource hungry) windows interface?
Coincidence? Of course not, this has been a strategy since the days of BASIC. Microsoft copies all the good ideas. Of course, it makes a bad and buggy copy, but, hey, that's what a marketing dept is here for, right?
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
All we need now is a BSOD joke and I'd swear that everytime I read Slashdot it induces a timewarp back to 1998.
Avantslash - View Slashdot cleanly on your mobile phone.
This action from Microsoft is proof positive that they are taking notice of the recent accomplishments of Linux and are trying to counter them with strides of their own in areas that are not their specialty. If nothing else then this is positive for everyone because not only will Linux continue to improve and develop on its own but now both MS and Linux will develop to compete with one another making the overall user computer using experience better for everyone involved. I know everything MS does is looked down upon by the /. majority but this really should be seen as "a good thing".
Please do not let scientific accuracy interfere with the intended humourous/interesting/insightful value of this comment
The same as ever - whenever Windows is mentioned, lots of wisecracks about crashing is posted. Did you imagine they'd port Win95 or Win3.11 to HPC? Duh. They'll port something like WinXP or W2K3, and guess what - those are quite stable OS'es. Of course you CAN make them unstable, but that goes for PenguinWare as well...
Ah well, I better put on my flamesafe suit - I forgot to criticize Microsoft...
Black holes are where God divided by zero
Why in the world would someone want to run a bloated GUI based operating system on hardwared designed specifically to provide services (servers) to it's customers? Unix is great in this aspect as (at least for the most part) running xdm and serving up a graphical interface was intended primarily for end users requiring execution of applications in multiple windows. Unix servers used to NOT run xdm (or any graphical engine) for the purpose of streamlining and providing efficiency and better utilization of system resources. Windows (even in the current Win2003) is far too large for use in a high performance computing environment. Bill my man ... get a clue ... windows isn't for everything!
I find it naturally that MS tries its luck in the HPC world, but windows surely does not fit the bill.
Thomas S. Iversen
Most supercomputer users aren't going to want to plonk down literally millions of dollars in software licences to Microsoft - they'd rather be spending this money on either plugging in more hardware or on building and refining their analysis engine.
What could MS conceivably offer that would counter this?
Please man -
;)
get your facts straight.
First off, the whole GUI environment didn't originally come from Apple (Lisa, or anything else) - it came from Xerox PARC.
your second statement, is nothing but a very good business strategy. Give the users what they want.
your third statement - is unsupported. Do you really think that they JUST NOW started working on this?
and finally - your last statement - simple rebut: Oh yeah, I've never EVER come across any buggy Macintosh/Unix/Linux,(insert OS name here) etc. code. Bugs are natural - we are human, and make mistakes. But at least they do make efforts at patching/new version more often then not.
Ya know, nothings perfect. But no worries here. Your points are typical.
If I had a penny for everyone that bitched about the problems in the world, or in software and did anything about fixing them, I'd totally be a billionaire.
On the other hand, if I had a dollar for every time I saw someone go after a bug and try and fix it, I'd be near broke.
Thanks for the penny.
Well, I guess it's time for everybody else to abandon this space, because Microsoft has it all covered.
Well I agree with you. I do think it more likely that Microsoft would at the very least turn off the graphical part of Windows, remove it completely, or possibly re-write it from scratch.
What I really don't understand is why it would be necessary or smart to brand such a product as Windows at all. Windows means graphical user interface, and the way it's presented ties quite closely to desktop use. It definitely doesn't mean the remote administration that's likely to be required for an HPC, and trying to remotely administer a Windows box is usually quite clumsy compared with a unix box unless you drop a lot of the traditional Windows UI stuff that's often so tied into its operation.
When I think of Windows, and I don't think I'm alone, one of the first impressions that comes to mind is a relatively klunky monolithic GUI-dependant operating system that spends a lot of time drawing pretty front-end pictures. This almost certainly isn't an accurate picture of what's actually happening all the time and it's not to say that Windows couldn't be adjusted to work in other ways. But it's a first impression.
You can at least argue that the graphical side of things is good for usability on the desktop (even though usability realistically takes a lot more than pretty pictures), but why on earth would Microsoft want to continue that image into an HPC market? Surely they have completely different customers in that market with different goals that likely don't include chewing processor time on pretty pictures for the UI.
To me at least, it'd make much more sense for Microsoft to simply create a new operating system here from scratch (or buy a company or whatever they do), and call it something that's not Windows. It could be Microsoft HPC Server, for instance, and be completely independent from Windows. Microsoft can then claim that their new OS specialises in HPC tasks, and it'll also give them an independent OS product to push in the future if either it or MS Windows collapses.
The kernel doesn't necessarily need a GUI. However, as it stands, there's an awful lot on Windows that cannot be done on the command line and must be done on the GUI. For example, with the standard Windows install, it is not possible to change the computer name from the command line without downloading a utility to allow you to do it. It is not possible to kill a process from the command line without getting a Resource Kit utility from Microsoft. It is not possible to add or remove a network service (not a system service - I'm talking about the services you add in the network connection control panel, things like file and print sharing services) and after days of Googling I've still not found a way of installing or uninstalling one of these services using the command line.
Windows is fine as a desktop OS (even if issues like this make automated rollouts a bear) but is inappropriate for the server since there are so many things that can only be done trivially through the GUI.
Oolite: Elite-like game. For Mac, Linux and Windows
Windows has come a long way since you knew you'd see the blue screen of death twice before lunch. On decent hardware it's very stable.
Denying the current stability of Windows is no different than Bill and Co. denying the stability and power of Linux. It's pointless and it makes you look out of touch.
Agile Artisans
Works for me, and hundreds of thousands of others.
Looks can be deceiving. Or CAN they?
A lot of people seem to be concentrating on the "windows crashes a lot" idea. That's not quite a fair judgement of windows anymore. The only time I've had problems with Windows 2000 and above is poorly written drivers, or anti-virus software. As long as you choose hardware with proven drivers and don't run anti-virus software (firewall it and run minimal services and no IE) Windows should be very stable.
With that said, I think there's other problems with windows as a supercomputing cluster. The first I can think of is lack of a low-bandwidth interface. Linux you can ssh into and get results, control processes, etc. Windows requires a high bandwidth terminal services. In other words it's harder to control remotely.
Other people have brought up the licensing costs, but I'm sure MS would offer huge deals just to get their foot in the door.
I think the biggest problem is just historical and cultural though. The scientific community has a 30 year history with Unix, is familiar with programming in that environment, and has a lot of legacy code that's written for it. They just aren't going to take to a windows environment easily at all.
AccountKiller
The problem is this. Some people, like yourself, have no problems with Windows, and it works great. Some people, like my girlfriend, have Windows installations that crash all the time. So yes, Windows can be perfectly stable, if you're lucky. (I should also point out that shutting the machine down at night shouldn't count; decent computers have sleep modes and never have to be rebooted just to make them stop using electricity.)
With Linux or OS X or whatever, you don't have this kind of inconsistency. Basically everybody who uses them, ignoring people who run experimental kernels or unsupported drivers, never has them crash, even when the computers are up for months at a time. You don't have to be lucky or do anything special. Yes, Windows is better, but it still has a long way to go. When my girlfriend's PC stops crashing a couple of times a week (running XP) then I'll reconsider.
Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
It seems that most people here don't know the following:
There is already a kind of high performance Windows server - it's called Windows 2000 Datacentre, it runs on boxes like the HP superdome mainly for bigassed databases. In general these servers are treated like mainframes - they aren't rebooted - they don't need to be!
You don't need to have direct access to the GUI of a windows box in order to use it. Usually you connect using an RDP client, a la X server.
Even mainframes have a local console and these are offen GUI in nature, it doesn't mean that the machines are slow.
Please stop this mindless microsoft bashing - bash them if they deserve it, but as this product isn't available yet, it seems a bit premature to slag it off.
...I install HPC Windows. We run a few SGIs, our biggest being the SGI Origin 3000. We'll probably shift to either a Linux Beowulf cluster or Apple G5 Xserve cluster in the future, since the type of problems we need to solve don't typically need a single image machine using ccNUMA. I doubt Microsoft will be coming up with anything that will be able to run as a large single image for some time now and by then the competition would have moved forward even more. This is Windows HPC Vaporware so competitors will waste time and divide their resources trying to be Windows HPC compatible on their hardware. They did it with Windows NT in the beginning when they supported MIPS, PowerPC, Alpha.... The best strategy would be to ignore Windows HPC, but I know there is a gullible hardware manufacturer born everyday that will buy into Microsoft's sales pitch.
Sure, there are x86 clusters. But there are also an awful lot of IBM supercomputers using Power chips, HP supercomputers using PA-RISC, heck even Apple clusters using PowerPC, SGI machines, Sun supercomputer nodes, and so on. There are a large number of strange and mysterious chips built explicitly for supercomputing that would never be seen in any other kind of use. There are also a large number o different interconnect technologies.
Since Windows is a closed source operating system, are Microsoft volunteering to port Windows HPC to whatever architecture you happen to come up with? What about the bugs that occur when they write this port? How long is it going to take to get Windows stable on an unusual architecture if only Microsoft can change the source but only you can do the testing?
At least with a custom kernel or Linux you can work on the system yourself until it's up and running, and if you're in the business of installing and running clusters/supercomputer, you can probably afford to pay programmers to write an operating system for nodes in that cluster/supercomputer.
Last I heard, the Windows NT 5.x kernel (2000, XP, 2003) was not even endian-clean any more, let alone portable to RISC or VLIW architectures. Why do you think it's has taken Microsoft so long to port to x86-64 and Itanium?
Or are Microsoft going to "mandate" that we use x86 processors for all our cluster needs in the future?
Not to fan the flames, but get real. I run a homebrew GNU/Linux box (still a 2.4 kernel, I'm lazy) at home, and XP at work. At work I can get almost a week out of a boot before Windows chokes on itself and needs to restart. At home, the local power grid and my lack of a UPS determines how often I restart.
Sure, Win2000 and XP are more stable than 95/98 or the travesty that was ME. So it has "come a long way". But let's not be silly and try to call it as stable as GNU/Linux. One crash a week, hell, even if it were once every six months, still seems pretty unstable to me. If that's an "out of touch" point of view, so be it. An OS shouldn't just decide it's had enough and flake out; I don't care how long it's been running.
Anywho, clustering something even the tiniest bit unstable just seems like a funny idea to me. We've all seen Windows behavior when too much stuff is open or a flaky driver has impaired its ability to operate, things gradually failing, the cursor suddenly trapped in just a portion of the screen, swap thrashing as though it were a sign of the apocolypse... The mental picture of racks and racks full of convulsing, imploding Windows boxen when somebody fires up the wrong version of Quicktime is just priceless.
OK, I stand corrected on the tasklist.exe/taskkill.exe utilities. The main thrust of my point still stands - there are many things that are trivial to do on an SSH session on many non-Windows operating systems that can only be done via the GUI on Windows, such as the aforementioned network service installation/configuration (netsh won't do it, unfortunately - I thought I was onto a solution by using netsh dump to save the settings in a text file, but it's about the only part of the configuration it seems *unable* to be able to manipulate).
For changing the computer name you must either write your own program to do it in C or VB, or download a utility to do it. Same goes for adding things like new network adapters - you need to use separate tools that come with a Microsoft resource kit. These are things that should be trivially possible from the command line in a default install, but they don't even come with Windows Server 2003 let alone XP Pro.
Then, another issue for servers. If you're writing a program that takes input from multiple sources - let's say, a socket, a named pipe, and a serial port, and some weird USB device. To process data on these three streams you must have different code to handle and dispatch input on each one - select() for sockets, PeekNamedPipe for named pipes, WaitCommEvent for serial ports, and probably some vendor specific thingy if you've got some custom USB device. On proper server operating systems, the API is consistent enough that all this input is presented in the same way and you can use select() for all four streams, reducing the complexity of your server program and therefore the possibility of bugs, and cutting out the need for four threads (and the potential race conditions if you make a programming error) and only needing a single thread to look for stuff happening. It's as if the people writing different parts of Windows didn't talk to each other when doing it, and each had to independently come up with a new way of doing it. There are other examples where the API could have been made much simpler and more consistent.
Since the original version of NT was incompatible with DOS anyway, and DOS had to be emulated, Microsoft could have swept away all the cruft when they made NT - but instead they insisted on making something even more kludgy. Don't even get me started on the NT GINA (I had to write one) and the appalling lack of documentation. We had a very expensive (ca. $40,000 US) support contract with Microsoft so we could get support when writing our GINA (we had to write a total replacement due to the nature of the system we were contracted to build). We ended up talking one to one with NT developers - but guess what, the person who'd written this stuff had since left and it was more or less undocumented even inside Microsoft. We ended up having to almost reverse-engineer the MS GINA to find out what was going on to make our GINA set the right stuff on login.
I'm sorry, but when faced with stuff like this, all I can conclude is Windows isn't designed or meant to be a server OS, regardless of how Microsoft markets it. It's fine as a desktop OS (I use it on the desktop daily) but that's where it should stay. A Macintosh, the quintessential desktop system, has an OS more suitable for servers these days.
Oolite: Elite-like game. For Mac, Linux and Windows
Perhaps Microsoft should form a group of people to work on changes necessary to Windows to get it to run on HPC?
Oh, right... that's what this fucking slashdot article is about.
Ironically, the word ironically is often used incorrectly.
The problem is this. Some people, like yourself, have no problems with Windows, and it works great. Some people, like my girlfriend, have Windows installations that crash all the time. So yes, Windows can be perfectly stable, if you're lucky. (I should also point out that shutting the machine down at night shouldn't count; decent computers have sleep modes and never have to be rebooted just to make them stop using electricity.)
With Linux or OS X or whatever, you don't have this kind of inconsistency. Basically everybody who uses them, ignoring people who run experimental kernels or unsupported drivers, never has them crash, even when the computers are up for months at a time. You don't have to be lucky or do anything special. Yes, Windows is better, but it still has a long way to go. When my girlfriend's PC stops crashing a couple of times a week (running XP) then I'll reconsider.
I think it has more to do with the quality of the hardware than windows itself. On my old compaq computer, windows crashed all the time. On the machine that I built, windows is very stable. The difference is that I know what hardware is in the case and I trusted the hardware before I put it in.
Both XFree86 and KDE were unstable on my old compaq machine as well. I had no problems with the kernal though.
OS X is built to run on Apple's hardware so they don't have to worry as much about 3rd party hardware. Most all Linux users that I know build their own machines and know what hardware is supported by linux and what is not.
I may be off here but that is my take on it.
Not everything is analogous to cars. Car analogies rarely work.
Especially if you have old or weird hardware, e.g. an Aureal sound card.
I have had entire clusters go down due to OS error.
As a Linux advocate I would appreciate it if we could all just focus on promoting Linux rather than putting down other operating systems. Constant attacks against Windows are completely unnecessary; attacks against Linux from MS are necessary for them because that is SOP for MS, but two evils do not make a good. We don't have to be like them. We don't have to use FUD as a tactic.
I don't even understand why this article has been posted here in the first place. The only possible reactions it could have drawn given the context are fear and loathing. If the audience response is predictably going to be overwhelmingly negative, why post in the first place? Is the posting of this sort of article equivalent to an Orwellian "2 minutes hate" session? Was any constructive discussion expected?