Yes, but is much closer to the original statement (before the clustering and SGI silliness) of 'Obviously you wouldn't want to run Linux on a massive 64 processor server'.
True.
Once you get to 32 way or above then the system is going to have to be carefully designed regardless of the operating system running on it.
I think the point is that more mature Unixes (combined with the right hardware) mean you don't have to put this sort of design into software even for relatively large numbers of processors.
For example, Sun sells 72-processor systems that can be used for general (not carefully designed) software such as general purpose multi-user use and commerce. I'm sure other Unix vendors do the same.
If you are running purely numeric (HPC) work, you usually want the operating system to provide very simple services and not get in the way too much. You aren't likely to be throwing lots of multiprocessor activity at the discs or network.
So, I think any suggestion that an operating system can scale to a large number of processors is meaningless unless it is clear what the scaling is for. HPC scaling is far easier than general-purpose work.
That's just marketing. It doesn't change what the computer actually is.
It shows what the computer is capable of doing. If the larger machines were suitable for running general-purpose applications SGI would certainly indicate that in the advertising.
Just in case you're curious, yes, I am a Christian, and also a scientist. (I just finished my undergrad junior year of physics, and I'm working at Fermilab for the summer.)
Very interesting - I wish you luck.
Additionally, one of my beliefs which results from my more basic Christian beliefs is that what I am called by God to do is to oppose, by means of decent arguments, atheism, specifically in academic and scientific communities.
Well, I love debate. I can begin to accept some sort of deity as proposed by Spinoza, but nothing more.
By the way, I am not saying that Occam's razor is always right! Personally, I find the idea of string-theory strings and branes to be far from simple (although they may turn out to be simple when we have the right point of view).
What does puzzle me is that they demand proof, and not simply arguments for, theism.
I'm beginning to see what you mean. I was assuming the discussion was about which of atheism or theism one should choose if there is no evidence, not about proof. Because, of course, you can't really prove anything.
Perhaps it is better to say that the argument is about having to 'justify' or 'back up' a choice, not prove it is correct.
Given two choices, we tend to choose the simplest. This does not prove anything, it is simply a useful way to think and live.
My point is, so is asking "prove there is an elephant".
Can I put this in a better way? What I mean is that, given the choice between the explanations 'my car runs on petrol', and 'my car runs on petrol and pink elephant pushing', if you chose the second explanation, you should definitely expect people to be surprised by it and for people to ask you lots of questions about why you chose it. You would not be entitled to say 'why aren't you asking all these questions to those who did not mention pink elephants'!
I would suggest that when atheists say 'prove it', what they really mean is that theists are the ones who have to justify their choice, not atheists, because theism is more complicated - it is the 'pink elephant' choice.
I don't mean any disrespect if you have beliefs; I am just trying to explain a point of view.
So, you're basing it on the statement "because something has worked in a number of known cases, it should be applied to others". A decent statement, and one that I can generally agree with, but can you prove that?
No, I can't. But doesn't it seem reasonable?
Which leads me to my puzzlement that atheists should ask for proof from theists, when, as I said, they do not require it of themselves.
I don't understand why you are puzzled. If the principle of 'choose the simplest' explanation works for almost all situations in life, philosophy, science, etc., then if someone decides not to choose the simplest explanation in one case, it is reasonable to ask why they are not using this principle in this particular case.
Occam's razor is not just a principle for debate - it is something that sane people automatically use all the time without even thinking about it. (When I get in my car, I assume that it runs on petrol and there is not an invisible pink elephant pushing it. To ask 'prove there isn't an pink elephant there' is rather silly, isn't it?)
Ok, then prove Occam's Razor. The decision to apply Occam's Razor is, once again, purely arbitrary. Where does Occam's Razor come from? I would be willing to bet a lot of money that on some level, it comes from (guess what?) an unprovable assumption. In which case it is, as I said, arbitrary.
It is not something that can be proved. It is a philosophical tool. It has been shown to be useful because it usually works. In descriptions of the universe, it is almost always the case that the simplest explanation seems to be correct. A good example is relativity - there are many different formulations of the equations, but the simplest ones give the best results.
So, the decision to use it is not arbitrary at all - it has proved its worth.
If I am correct, and no proof for either atheism or theism can be made, then whichever alternative is chosen must in fact be an arbitrary decision.
This is only the case if both alternatives are equally simple. They aren't. In this situation most people apply Occam's Razor - choose the simplest option. The simplest option is probably atheism.
The Altix is a general purpose multiprocessor machine.
Depends which model. The smaller models are sold as general purpose. The larger ones are sold as HPC (High Performance Computing) systems for scientific and technical use.
Linux does indeed run on "serious" servers, such as this one, which can scale up to 512 processors per *system* (not per cluster)....... I believe this constitutes "big iron".
Not really. There is a huge difference between a machine set up for numerical supercomputing (something SGI have provided for years) and a general purpose multiprocessor machine.
"Big Iron" refers to these general purpose machines which are used for things like business processing, running databases and application servers.
The supercomputers require very specially written software to work well; you would not want to use them to run databases or websites!
[This hostility is so boring and extremely old fashioned and reactionary. I have seen exactly the same thing in the 70s when developers were complaining about procedural code, and wanted to keep their 'GOTO's. {etc)]
Maybe it is because all of these things actually did slow the systems down. But then hardware increases made it less noticeable?
This was usually the excuse for not using them, but in practise this was not the case. The use of GOTOs led to badly structured code, not faster code. Things like OOP and VMs did initially have a performance penalty, but advances in software design, not hardware, soon removed this.
On the desktop you'll choose the former, and people won't voluntarily use many Java applications at the same time because they'll all be contending for heap.
I don't believe this is true. It is only in the latest version of Java that the default maximum heap allocation was raised from 64MB. There is no major memory overhead due to JIT compiling.
No, it isn't impressive. That just means that the JVM isn't performing the floating point ops at all. The JVM was coded in C or C++, and calling a floating point op in Java just runs that chunk of C or C++ (which probably hands the work off to the CPU's floating point hardware.)
That is not the way it works at all. It does not call out to C or C++. The JVM generates optimised machine code, inlining floating point operations. You are right that the JVM isn't performing floating point - it is the machine code generated at run-time by the JVM.
The fact that calling a chunk of C/C++ code incurs a 6% penalty actually kind of sucks.
Apart from the wrong assumption in this statement, the 6% is less than the difference between code produced by different vendors C++ compilers, so is insignificant.
But if you need raw perfomance, stick with C++
If the difference is only a few percent between Java and C++ even for numerical work, I can't see the justification for this statement.
I guess you don't know what 'ISAPI' and '.dll' means. It appears in pretty much every eBay URL that does anything significant. Clearly eBay doesn't find Java sufficient for absolutely everything on their site.
That is the remnant of their legacy system. E-Bay discarded their original C++ ISAPI system and moved to Java/J2EE running on WebSphere years ago.
And they got what they wanted, after they renamed goto to throw and label to catch. They even made it possible to jump out of several nested function calls at once, and multiple labels^W catch's with the same "name" allow you to create spaghetti code that not only do you have no idea where you'll come from when you hit the label^W catch, you'll also have no idea where the goto^W throw will take you, unless you read every freaking function to see which label^W catch you will hit first.
This shows a fundamental misunderstanding.
'goto' was intended for routine use. Exceptions are designed for exceptional use! The alternative would certainly be 'spaghetti code' - a mess of 'if's' for all kinds of possible failures.
If you think Java uses revolutionary features think again (and try to actually learn some other language)
I did not say Java used revolutionary features. When first developed it used features (such as exception handling and garbage collection) that had been around for decades in languages like LISP and Smalltalk.
The features that I described in the 70s, 80s and 80s that were resisted by so many developers had also been around for a very long time. There was resistance to procedural code in the 70s even though procedural languages like Algol had been around since the 60s.
Ebay, who can afford massive amounts of hardware, is not going to change everyone's personal experiences with the language.
It is absurd to say that a company like E-Bay would deliberately waste money throwing hardware at a slow language.
They use Java because of its speed.
Java is being used in record-breaking sites that are hitting tens of thousands of transactions per second.
What, do you think everyone is making it up?
Actually, yes. Java has a reputation from years ago, and most critics are basing their opinions on that reputation or the experience of a slow GUI (which is certainly not the best way to measure speed).
This is often said, but, in my opinion and experience, way out of date. It was certainly true 3-4 years ago, but Swing has been seriously re-written and even has DirectX or OpenGL acceleration these days.
I like Java, but hate to keep all my eggs in the basket controlled by Sun Microsystem.
I'm afraid I really don't understand this. There have been few companies who have contributed more to open source and open standards over the past few decades than Sun. There would not even be a Unix workstation market (and Linux) without the effort Sun made to break the widespread use of proprietary systems in the early 80s. Linux would not even be considered on the desktop without Open Office, which is code donated by Sun.
Even, with all this evidence of their support for open source, there is still some doubt about Sun, it is irrelevant to the future of Java. The main contributor to Java at the moment is IBM. There are a large number of implementations of Java that are independent of Sun. The specification for Java is published, so the language can continue no matter what happens to Sun.
Yes, but is much closer to the original statement (before the clustering and SGI silliness) of 'Obviously you wouldn't want to run Linux on a massive 64 processor server'.
True.
Once you get to 32 way or above then the system is going to have to be carefully designed regardless of the operating system running on it.
I think the point is that more mature Unixes (combined with the right hardware) mean you don't have to put this sort of design into software even for relatively large numbers of processors.
For example, Sun sells 72-processor systems that can be used for general (not carefully designed) software such as general purpose multi-user use and commerce. I'm sure other Unix vendors do the same.
If you are running purely numeric (HPC) work, you usually want the operating system to provide very simple services and not get in the way too much. You aren't likely to be throwing lots of multiprocessor activity at the discs or network.
So, I think any suggestion that an operating system can scale to a large number of processors is meaningless unless it is clear what the scaling is for. HPC scaling is far easier than general-purpose work.
Obviously you'd only get a maximum of 32 processors per partition though.
Exactly. Which is dramatically different from the claim that 'Linux scales to 512 processors for general purpose work'.
Unisys's market is very definitely enterprise servers for running databases, business processing and application servers, not HPC.
Which it is reasonable to do with Linux on carefully designed 16-way or 32-way systems.
That's just marketing. It doesn't change what the computer actually is.
It shows what the computer is capable of doing. If the larger machines were suitable for running general-purpose applications SGI would certainly indicate that in the advertising.
Just in case you're curious, yes, I am a Christian, and also a scientist. (I just finished my undergrad junior year of physics, and I'm working at Fermilab for the summer.)
Very interesting - I wish you luck.
Additionally, one of my beliefs which results from my more basic Christian beliefs is that what I am called by God to do is to oppose, by means of decent arguments, atheism, specifically in academic and scientific communities.
Well, I love debate. I can begin to accept some sort of deity as proposed by Spinoza, but nothing more.
By the way, I am not saying that Occam's razor is always right! Personally, I find the idea of string-theory strings and branes to be far from simple (although they may turn out to be simple when we have the right point of view).
I wouldn't be suprised to see a slashdot story announcing Sun going out of business within a few months.
Me neither. They have been turning up regularly for years.
What does puzzle me is that they demand proof, and not simply arguments for, theism.
I'm beginning to see what you mean. I was assuming the discussion was about which of atheism or theism one should choose if there is no evidence, not about proof. Because, of course, you can't really prove anything.
Perhaps it is better to say that the argument is about having to 'justify' or 'back up' a choice, not prove it is correct.
Given two choices, we tend to choose the simplest. This does not prove anything, it is simply a useful way to think and live.
My point is, so is asking "prove there is an elephant".
Can I put this in a better way? What I mean is that, given the choice between the explanations 'my car runs on petrol', and 'my car runs on petrol and pink elephant pushing', if you chose the second explanation, you should definitely expect people to be surprised by it and for people to ask you lots of questions about why you chose it. You would not be entitled to say 'why aren't you asking all these questions to those who did not mention pink elephants'!
I would suggest that when atheists say 'prove it', what they really mean is that theists are the ones who have to justify their choice, not atheists, because theism is more complicated - it is the 'pink elephant' choice.
I don't mean any disrespect if you have beliefs; I am just trying to explain a point of view.
So, you're basing it on the statement "because something has worked in a number of known cases, it should be applied to others". A decent statement, and one that I can generally agree with, but can you prove that?
No, I can't. But doesn't it seem reasonable?
Which leads me to my puzzlement that atheists should ask for proof from theists, when, as I said, they do not require it of themselves.
I don't understand why you are puzzled. If the principle of 'choose the simplest' explanation works for almost all situations in life, philosophy, science, etc., then if someone decides not to choose the simplest explanation in one case, it is reasonable to ask why they are not using this principle in this particular case.
Occam's razor is not just a principle for debate - it is something that sane people automatically use all the time without even thinking about it. (When I get in my car, I assume that it runs on petrol and there is not an invisible pink elephant pushing it. To ask 'prove there isn't an pink elephant there' is rather silly, isn't it?)
Ok, then prove Occam's Razor. The decision to apply Occam's Razor is, once again, purely arbitrary. Where does Occam's Razor come from? I would be willing to bet a lot of money that on some level, it comes from (guess what?) an unprovable assumption. In which case it is, as I said, arbitrary.
It is not something that can be proved. It is a philosophical tool. It has been shown to be useful because it usually works. In descriptions of the universe, it is almost always the case that the simplest explanation seems to be correct. A good example is relativity - there are many different formulations of the equations, but the simplest ones give the best results.
So, the decision to use it is not arbitrary at all - it has proved its worth.
If I am correct, and no proof for either atheism or theism can be made, then whichever alternative is chosen must in fact be an arbitrary decision.
This is only the case if both alternatives are equally simple. They aren't. In this situation most people apply Occam's Razor - choose the simplest option. The simplest option is probably atheism.
The Altix is a general purpose multiprocessor machine.
Depends which model. The smaller models are sold as general purpose. The larger ones are sold as HPC (High Performance Computing) systems for scientific and technical use.
Sun was never and never will be a supporter of Linux.
Strange that they sell Linux, and almost all their products run on it.
Linux does indeed run on "serious" servers, such as this one, which can scale up to 512 processors per *system* (not per cluster). ... ...
I believe this constitutes "big iron".
Not really. There is a huge difference between a machine set up for numerical supercomputing (something SGI have provided for years) and a general purpose multiprocessor machine.
"Big Iron" refers to these general purpose machines which are used for things like business processing, running databases and application servers.
The supercomputers require very specially written software to work well; you would not want to use them to run databases or websites!
It is looking like Sun has finally made up their mind and has decided to ditch Linux once and for all to put their energies into Solaris.
They haven't ditched Linux at all. They have cut back on desktop Linux. They will still be providing server-side Linux.
You need only check their website.
e ases/pr/2005-q2.html
http://www.sun.com/aboutsun/investor/earnings_rel
Sales of software, operating systems, Sparc and x86 servers, and providing services.
Sun only supports linux because it is forced too.
What is the evidence for this? Linux is a good platform for them to provide software for and sell services for.
Sun developing for linux is ultimately counterproductive to its own long term future.
Why? They are moving towards being increasingly a software services company.
[This hostility is so boring and extremely old fashioned and reactionary. I have seen exactly the same thing in the 70s when developers were complaining about procedural code, and wanted to keep their 'GOTO's. {etc)]
Maybe it is because all of these things actually did slow the systems down. But then hardware increases made it less noticeable?
This was usually the excuse for not using them, but in practise this was not the case. The use of GOTOs led to badly structured code, not faster code. Things like OOP and VMs did initially have a performance penalty, but advances in software design, not hardware, soon removed this.
On the desktop you'll choose the former, and people won't voluntarily use many Java applications at the same time because they'll all be contending for heap.
I don't believe this is true. It is only in the latest version of Java that the default maximum heap allocation was raised from 64MB. There is no major memory overhead due to JIT compiling.
Then only reason you see a 'sane' price is because you're signing contracts that bring the price down.
That has always been the case. It is nothing to do with the presence of a JVM.
No, it isn't impressive. That just means that the JVM isn't performing the floating point ops at all. The JVM was coded in C or C++, and calling a floating point op in Java just runs that chunk of C or C++ (which probably hands the work off to the CPU's floating point hardware.)
That is not the way it works at all. It does not call out to C or C++. The JVM generates optimised machine code, inlining floating point operations. You are right that the JVM isn't performing floating point - it is the machine code generated at run-time by the JVM.
The fact that calling a chunk of C/C++ code incurs a 6% penalty actually kind of sucks.
Apart from the wrong assumption in this statement, the 6% is less than the difference between code produced by different vendors C++ compilers, so is insignificant.
But if you need raw perfomance, stick with C++
If the difference is only a few percent between Java and C++ even for numerical work, I can't see the justification for this statement.
I guess you don't know what 'ISAPI' and '.dll' means. It appears in pretty much every eBay URL that does anything significant. Clearly eBay doesn't find Java sufficient for absolutely everything on their site.
That is the remnant of their legacy system. E-Bay discarded their original C++ ISAPI system and moved to Java/J2EE running on WebSphere years ago.
And they got what they wanted, after they renamed goto to throw and label to catch. They even made it possible to jump out of several nested function calls at once, and multiple labels^W catch's with the same "name" allow you to create spaghetti code that not only do you have no idea where you'll come from when you hit the label^W catch, you'll also have no idea where the goto^W throw will take you, unless you read every freaking function to see which label^W catch you will hit first.
This shows a fundamental misunderstanding.
'goto' was intended for routine use. Exceptions are designed for exceptional use! The alternative would certainly be 'spaghetti code' - a mess of 'if's' for all kinds of possible failures.
If you think Java uses revolutionary features think again (and try to actually learn some other language)
I did not say Java used revolutionary features. When first developed it used features (such as exception handling and garbage collection) that had been around for decades in languages like LISP and Smalltalk.
The features that I described in the 70s, 80s and 80s that were resisted by so many developers had also been around for a very long time. There was resistance to procedural code in the 70s even though procedural languages like Algol had been around since the 60s.
Ebay, who can afford massive amounts of hardware, is not going to change everyone's personal experiences with the language.
It is absurd to say that a company like E-Bay would deliberately waste money throwing hardware at a slow language.
They use Java because of its speed.
Java is being used in record-breaking sites that are hitting tens of thousands of transactions per second.
What, do you think everyone is making it up?
Actually, yes. Java has a reputation from years ago, and most critics are basing their opinions on that reputation or the experience of a slow GUI (which is certainly not the best way to measure speed).
Java GUIs are incredibly slow.
This is often said, but, in my opinion and experience, way out of date. It was certainly true 3-4 years ago, but Swing has been seriously re-written and even has DirectX or OpenGL acceleration these days.
I like Java, but hate to keep all my eggs in the basket controlled by Sun Microsystem.
I'm afraid I really don't understand this. There have been few companies who have contributed more to open source and open standards over the past few decades than Sun. There would not even be a Unix workstation market (and Linux) without the effort Sun made to break the widespread use of proprietary systems in the early 80s. Linux would not even be considered on the desktop without Open Office, which is code donated by Sun.
Even, with all this evidence of their support for open source, there is still some doubt about Sun, it is irrelevant to the future of Java. The main contributor to Java at the moment is IBM. There are a large number of implementations of Java that are independent of Sun. The specification for Java is published, so the language can continue no matter what happens to Sun.