gridMathematica Announced 124
simpl3x writes "Mathematica for grids was announced at Comdex. It offers support for the usual platforms--Windows, OS X, Linux, and Unix--and offers the ability to use heterogeneous OSes. I haven't used the product in years, but cool nonetheless. Does an off-the-shelf software package, which is scalable as this is provide competition to custom packages--is it easier to add machines than develop custom programs?" And just when you thought Comdex was good and dead.
Yes, but... (Score:2, Funny)
Re:Yes, but... (Score:5, Funny)
distributed functions (Score:5, Informative)
woof.
Re:distributed functions (Score:5, Interesting)
Re:distributed functions (Score:4, Informative)
NeXT did this with Zilla a decade ago! (Score:5, Informative)
Amazing to see - you'd tell the Cubes to run Zilla in the background, feed it the problem, and away you go. We had 6 computers in the lab, and you could tell he was working on it when you first logged in - it would be a bit sluggish. IIRC, he later took over the NeXT lab downstairs, which had 30 NeXT "pizza boxes". Not bad, especially for 1991-1992.
And this paper [mathsource.com] says:
Parallelization: with a NeXTstep application called Zilla, multiple Mathematica sessions may be invoked on networks of NeXT computers to allow the simultaneous solution of different parts of a large problem.
BTW: anyone happen to know if they're doing Zilla on OS X? I remember reading something about an easy way to cluster Macs for performance, but I forget the details. It just involved running a client on each workstation.
Re: Project Appleseed (Score:1)
and others did it before that (Score:2)
Keep in mind that scientific computing, workstations, object-oriented programming, GUIs, GUI designers, and similar ideas predate NeXT and Apple by a decade, in some cases, many decades. While Jobs did an excellent job selecting and integrating good, pre-existing technologies into the NeXT, I can't think of a single case where they developed something really new (but if you can, please share it).
Cool stuff... but I thought research labs (Score:5, Interesting)
Re:Cool stuff... but I thought research labs (Score:3, Interesting)
Many do, but they are somewhat hard to utilize sometimes. For instance, in the lab I am at now, they have a well-sized cluster which in its first incarnation used double-CPU nodes. It turned out that usually, only a single CPU on each node was used. This was because the applixation that people mostly were running didn't support using more than one cpu.
In this case, it has probably (I am note a user myself) been a headache running Mathematica scripts on multiple nodes. I guess it means writing small Mathematica scripts that are then distributed across the cluster and a perl script or something collects the results and merges them. Being able to write the whole logic in one environment must be a big step forward.
One of the cooler things here though is the heterogenecy. In the organisations I have been, there have been enourmous computing power in administrative PCs running windows that no-one has been able to really take advantage of. At least without a big effort. gridMathematica may actually provide an easy way of tapping into that resource.
Re:Cool stuff... but I thought research labs (Score:4, Informative)
Grid Mathematica is different because it is a commerical application, can be used for general problems, and is used for symbolic computations. This makes it much easier to implement an algorithm on a distributed platform. The results may take longer than a program written specifically for a particular application, but distributed environments can be exploited by many more people with this product.
question : OSS/free project in this space (Score:5, Interesting)
How to the free solutions, if they exist, compare with their (darned expensive) commercial bretheren in general, and in particular is there anything like grid support?
Re:question : OSS/free project in this space (Score:2)
Insted of Matlab there is Octive which is quite good. You can pretty much use your matlab code directly. Some of the tool boxes aren't there.
Re:question : OSS/free project in this space (Score:1)
The product is called RTExpress from ISI. I've used it and it works well.
Bill
Re:question : OSS/free project in this space (Score:5, Informative)
It's major weaknesses currently are in the GUI and documentation department. TeXmacs can do a decent job of providing a nice interface, but it still won't measure up to Mathematica, which can handle 2D input and output. The default interface is a Tcl/Tk program, which is OK but pretty basic. My prefered way to use Maxima is through emacs - it has a very good emacs mode called emaxima.
As far as grid support goes I'm not aware of anything. The project isn't really to that stage - it's currently working towards a stable 6.0 release which fixes all known mathematical bugs. Then comes feature extensions and new GUI work. That would probably be the point to start thinking about grid support - basically someone would have to decide they wanted it enough to impliment it. The usual open source thing.
Re:question : OSS/free project in this space (Score:3, Informative)
It is free for noncommercial use - I imagine you could contact the authors to discuss other uses.
Part of the readme:
The CL-PVM package consists of a set of Common Lisp functions that interfaces Common Lisp (KCL, AKCL, or GCL) to the C-based library of PVM. Generally, there is one CL interface function to each PVM C library function. The CL function calls its C-based counter part and relays data to and from the C function. This interface is complete and allows Lisp-based programs to take part in a PVM arrangement and thus facilitates the combination of symbolic, numeric, graphics, and other useful systems in a distributed fashion.
CL-PVM also offers a set of tools to help use it effectively with Lisp and MAXIMA tasks. Documentation, on-line manual pages, and examples are also included.
Re:question : OSS/free project in this space (Score:1)
Another scientific computation package that looks promising is Lush [sourceforge.net]. It's a custom Lisp dialect with a compiler in the spirit of KCL/ECL in that it doesn't need an FFI to interface with C (I'm not sure if the compiler is native-code or a C translator, the sourceforge page is down). It comes with a lot of numerical and multimedia libraries, and from the looks of it is a pretty damn cool package. I haven't had time to check it out yet.
Although I can't get it to compile, Codemist [ntlworld.com] seems to have released [ntlworld.com] the source to their Standard Lisp compiler and (some, all?) of their symbolic algebra system Reduce.
Re:question : OSS/free project in this space (Score:4, Informative)
Re:question : OSS/free project in this space (Score:3, Informative)
Re:question : OSS/free project in this space (Score:5, Interesting)
Maple on the other hand is the most amazing piece of software I have ever used because of its ability to deal with variables etc exactly like a human can. I am studying for my finals right now and I use it to do some of the more tedious work so my study is more efficient. Calculating the exponential of a matrix is tedious at best but Maple does it with ease. I don't believe a product like this could be made in the open-source evironment...a massive amount of research would have to be undertaken and this would require a heap of money, as no methodology could be taken from the Maple team itself.
I am not trolling but the open-source community is much better at creating a (usually better) alternative to existing software with an obvious algorithm or method rather than investing money into computing theory like a clone of Maple would need.
A similar example would be linux desktops...take KDE or Gnome...great desktops, but most ideas have been taken from either Windows or the Mac OS'es, who have sunk millions of dollars into market research.
As I said, I am not trolling, and am open to be proven wrong. Prior similar examples etc.?
Re:question : OSS/free project in this space (Score:2)
There are several opensource symbolic math packages. Checkout Scilab [scilab.org] for instance.
Matlab clone (Score:1)
Matlab (Score:1)
There's a reason why Matlab costs a fortune. Can Octave simulate a complete end-to-end 802.11b system? Can it simulate an automotive drivetrain, or better yet make changes to a dSPACE ECU development module on the fly?
With OSS, you get whatever some group of hippies decided to put down on paper. With commercial software, you get quality engineering software.
Re:Matlab (Score:1)
This is how Matlab is different to Maple.
Re:Matlab (Score:1)
I agree with your point about most of Matlab being based on prior mathematical knowledge. But how can you say there is incentive to develop something like Matlab for free? People are used to the exchange of money for goods and services of value. No money exchanged therefore means your "purchase" has no value. It must have no monetary value because no one will buy it.
You can state the ideals of free software all you want, but at the end of the day someone wants to be paid to do the job.
sure: plenty (Score:5, Informative)
Maxima is also used occasionally as a rapid prototyping language, but it's proprietary and it has a lot of rough edges. You are probably better off using one of a number of open languages with similar features, like Scheme [schemers.org], OCAML [ocaml.org], SML [bell-labs.com], Prolog [inria.fr], or Haskell [haskell.org].
Don't forget about C++, however. In many ways, C++ nowadays allows you to write numerical code more naturally than any of these other languages (yes, better than Matlab and Mathematica), it has by far the best libraries available for it, and it gives you excellent performance. And you can even do symbolic mathematics in C++, with the right libraries (though it's not interactive, of course).
Re:sure: plenty (oops--typo) (Score:2)
Oops--I meant:
Maxima is non-proprietary, but you probably wouldn't want to use it for programming either... you can drop into CommonLisp for programming when you have to in Maxima.
Re:question : OSS/free project in this space (Score:1)
Anyone know how expensive "darned expensive" is in this case? Presumably it depends on the number of nodes you license, but I didn't see a price mentioned on the Purchasing page. I guess "if you have to ask..."
Re:question : OSS/free project in this space (Score:2)
Heck, the Student Version alone costs £130. These things, however, aren't just programs, they're ways of life. Being able to use the likes of Maple and Mathematica to investingate how mathematics works is truly awe-inspiring. Fuck it, Maple's going to get me my degree. Worth every single penny.
Re:question : OSS/free project in this space (Score:3, Informative)
The compiler Aldor [aldor.org] for Axiom is available for download. Axiom was developed at a number of places, including IBM, and it being released as open-source is something that has only been finalized in the last couple of months, so the distribution is just beginning to be more widely available.
Re:question : OSS/free project in this space (Score:1)
Reading the license, it looks like "yet another
open source license". I am inclined to mistrust,
especially with only a binary-only package
available for my Linux platform.
I teach mathematics at the college level. I'd
love to see good free software tools (I use
Octave for example). What is to make me want
to contribute to this project?
For the moment, I am definitely not investing
time into this. We'll see when there is actually
source available.
Re:question : OSS/free project in this space (Score:3, Informative)
OSS Matlab? Yup ... (Score:2, Informative)
Honestly though, I've tried just about everything that's out there in OSS. You can cobble together things with C++ libraries, Python/NumPy, etc. But you pay big bucks because the commercial software brings it together seamlessly and, generally, mindlessly.
Case in point: I got some biochem students running FFT's and principal component analysis w/graphic output in less than half an hour (using Matlab). Didn't have to explain about syntax, wrappers, bindings, etc. Just fft(...) and plot(...). That's worth $1000 because it got them interested. When their problems get more complex than Matlab can handle simply, they'll _want_ to learn the other stuff.
Re:question : OSS/free project in this space (Score:3, Insightful)
Wolfram recently wrote a book claiming that he could explain the whole universe using cellular automata. The problem is that it's all expressed in Mathematica's notation, so at least one reviewer I know of ended up saying essentially, "It looks like crap, but I don't feel like learning a proprietary computer language just so I can check out all the details."
My personal experience with Wolfram has been a pretty good example of the abusive relationships you can get into with proprietary software vendors who have no morals. I paid for a copy of Mathematica, which stopped working when I upgraded to MacOS 8. Tech support's reply was that if I wanted to keep running Mathematica, I could pay for an upgrade to a newer version of Mathematica.
Stuff like this makes me really grateful for Maxima.
Re:question : OSS/free project in this space (Score:2, Informative)
Fear not! Computers were made to crunch numbers - there's always a good chance someone's doing just that =)
I'm not a mathematician... but I've tried a few math apps here and there. Octave + Gnuplot (people aready mentioned this), and Euler [sourceforge.net] (I particularly like this thing's "workbook" approach... Save all notes in your session to a file, load it back, and fully edit everything in your command history! Way cool.
Students (Score:5, Interesting)
On an unrelated note, Integrals.com [integrals.com]is one of the most useful high school math sites ever (up with Ask Dr. Math [mathforum.org]. It ended two weeks of misery by telling integral(sqrt(1+x^-4)dx) is not an elementary function.
Re:Students (Score:1)
http://www.columbia.edu/~bbb2004/pics/snapshot1.p
http://www.columbia.edu/~bbb2004/pics/snapshot2.p
http://www.columbia.edu/~bbb2004/pics/snapshot3.p
http://www.columbia.edu/~bbb2004/pics/snapshot4.p
Re:Students (Score:2, Funny)
In[2]:= Integrate[ Sqrt[1 + x^(-4)], x]
-4 3/4 -4 2 2
Out[2]= -(Sqrt[1 + x ] x) - (2 (-1) Sqrt[1 + x ] x Sqrt[1 - I x ]
2 1/4
> Sqrt[1 + I x ] (EllipticE[I ArcSinh[(-1) x], -1] -
1/4 4
> EllipticF[I ArcSinh[(-1) x], -1])) / (1 + x )
OT: Not to be anal-retentive, but... (Score:1, Offtopic)
It would be simpler-- and more accurate-- to just list the actual operating systems it's available for.
And then there's that whole thing about 'Unix'. Technically, as most of us know, the name 'Unix' only applies to whomever owns the trademarked name 'Unix' at the moment (first AT&T, and then I seem to recall control passed to Novell, and to SCO, at various points in history? Can someone provide a full history?), but most Unix admins just consider any "Unixlike" system to be Unix-- and that includes Linux.
If you don't know the actual OS names, you could always use "...will be available for several Unixlike systems, including Mac OS X, Linux, and Solaris", or whatnot...
Re:OT: Not to be anal-retentive, but... (Score:5, Informative)
woof.
Re:OT: Not to be anal-retentive, but... (Score:1)
Re:OT: Not to be anal-retentive, but... (Score:1)
Re:OT: Not to be anal-retentive, but... (Score:1)
I've used this.. (Score:1, Insightful)
Re:I've used this.. (Score:2, Interesting)
While Matlab is more efficient, Mathematica, certainly, has a more usable interface(more eyecandy - which is responsible for slowing it down a bit).
While talking about functionality, i have found that Mathematica is the most functional amongst all, for me, with a very large number of inbuilt functions that do the job extremely well.(here come the flames). Also the unix version actually works more efficiently on my system than windows.
I dont know where are u pulling those numbers out of. But it seems u just made them up.
bah (Score:5, Funny)
No matter how much horsepower I put behind Mathematica, it still gives me errors when I divide by zero. My employer didn't spend zillions of dollars on SGI Origins just to get errors. Can't Wolfram include some sort of Clippy helper?
discount (Score:5, Funny)
yes! (Score:2)
your time is valuable (Score:2)
Do yourself a favor and don't invest much time in "student versions". View the use of Mathematica and Matlab in the classroom for what it is: a carefully orchestrated marketing program designed to get students hooked. Spend your time learning something that is open and that you can add to your personal toolbox without having to pay some company large amounts of money again and again.
Re:your time is valuable (Score:2)
free alternative (Score:4, Informative)
I think for numerical computation, that's technically actually a better environment than Mathematica. And, while I'm not usually one to harp on the fact that free software also doesn't cost money, given the steep price of Mathematica, in this case, the money saving aspect really does matter as we..
Distributed Solver (Score:2, Informative)
The main problem is LICENSING (Score:4, Insightful)
It is good that atleast mathematica has altered their licensing methods a bit. Maybe this licensing scheme could be used also when utilizing mathematica over 3rd party grid architecture. If someone from Mathematica is listening, I don't mind you contacting me. :)
Re:The main problem is LICENSING (Score:2)
No, you misunderstood my point. The end-users have to pay for hundreds ot thousands of single-computer licenses because many of the current licensing practises in use do not understand the concept of gridcomputing and are not suitable for this case. They just understand the case where the software is run on one single machine. This is the case especially for simulation for the "old" industry.
Re:The main problem is LICENSING (Score:1)
1 Processor = 1 License
100 Processors = 100 Licenses.
Why do people think that extreme performance software requires a discount? Most of us in the parallel computing world understand the concept of licensing.
Re:The main problem is LICENSING (Score:2)
100 Processors = 100 Licenses.
Why do people think that extreme performance software requires a discount? Most of us in the parallel computing world understand the concept of licensing.
Because: the purpose for which many of these companies would by the license - if they could use gridcomputing for example - would utilize only a minor part - only one feature - of that product. Imagine a software which you can use to build and run simulations of 100 different types. If you would like to do the calculation for only 1 type of simulation using distributed computing, is it fair that you have to pay for the whole software package: There would be still only one computer on which the interface and the whole program is is used, the rest of the computers would utilize a piece of this software to run the calculation - WITHOUT THE USER OF THE COMPUTER EVEN NOTICING THIS. Don't you see the problem?
Re:The main problem is LICENSING (Score:1)
Would the hardware companies feel the same way you do with hardware? Since most humans can only use one keyboard at a time, does that mean if you have two computers, the keyboard people should discount your second keyboard? Absolutely not.
That is why the makers of the software you desire charge by the processor. It is a measure of the maximum useful work you can do. If you only use one simulation, but have 100 available, is it the software vendors fault you only use limited numbers of features?
I fail to see the problem.
Wait, perhaps I see an answer:
1 Processor = 1 Single Processor License = $1.
100 Independent Processors = 100 Single Processor License = $100.
1 100-Processor Grid License = $100.
Re:The main problem is LICENSING (Score:2)
If this does not make you see the problem then maybe it helps realizing how bad this is by telling that companies are already developing their own software for this one spesific simulation so that they can replace the one us in the original single computer software. Do you now unerstand: everyone is loosing something.
Re:The main problem is LICENSING (Score:1)
Re:The main problem is LICENSING (Score:1)
The interface ( the server in your model ) is the least of the intellectual property when considering parallel / client server math problem platforms. The clients ( workers ) are doing the work. And the worker is why you buy the software.
If you value the interface more than the workers, then you should have no problem accepting a single node system. If you find value in the workers, then expect to pay for it. Call it a runtime license, not a development license. Even if you compile code using a purchased library ( and call the executable yours ) a la MATLAB
Re:The main problem is LICENSING (Score:2)
Again, I have failed to say what I really mean. I am talking about licenses for software products that DO NOT SUPPORT PARALLISM and about making them support distributed processing USING 3RD party software (in this case "our" platform).
If the "calculation software" which runs the simulation is so precious then why is there real cases in where the end-user has decided to order also the "calculation code" from us replacing the code from the original product: They still use the pricy software for outputting the feed for the calculation, which is then the input for the replacement code. Doing this kinds of replacement would not be needed at all, if the software vendors for the SINGLE COMPUTER DESIGN & SIMULATION TOOLwould take this in accoun in their license terms and offer solutions to be embedded in 3RD PARTY GRIDSOLUTIONS.
Well, making you see the problem from the same view seems like similar problem than the hunt for the holy grail, but I hope in the end it is worth it :)
Re:The main problem is LICENSING (Score:1)
I work with a company that makes hardware and software. Our processor interconnect is 3X faster than gigabit per channel (8 channels), memory mappable ( meaning you don't need to move data in TCP-IP stacks--you just access another processor's data and move to your own data space--also not SMP ), and the software support makes development extremely easy. I can teach people to be writing code and running FFTs on 24 ( or 1000) processors in 1 hour for the goal of
1.) Faster throughput (round robin) or
2.) Lower latency (parallelism)
People pay for hardware and software that works and is supported and is easy. OSS that I have seen is nowhere near what I would call high performance and easy. And even if I would give up the easy requirement, they are not high performance.
Good Luck with your platform.
Bill
Re:The main problem is LICENSING (Score:2)
And thanks for the insightful discussion - it really helped me in iterating some issues. I don't see your email in your slashdot userinfo page. If you feel like it, email me [slashdot.org].
Thanks,
Jussi
Re:Math programs for Linux? (Score:2, Informative)
I think the moral of the story here is that not all Linux software is free (either in cost, or in Freedom). And that's OK.
There are many companies that *sell* products or services who are putting a lot of money (read time, testing, development, advocacy etc.) into the open source community, and this will only continue if they make money from the community.
Of course, we'd all love it if we could get math/numerical software of the calibre of the above systems for free, but the truth is that we can't (yet).
There are a couple of open source equivalents (Octave and Maxima are two exaples), but their quality is far from that of the above products.
(That is not to say that all open source software is of lesser quality than 'commercial' software.)
One of the great things about the open source community is that there is a lot of great software that is free (in both senses), but there is (increasingly) a range of 'commercial' software that is available.
So one can be a casual user of Octave and get by without paying for an expensive license, but for those of us who need a product of a higher quality, with printed manuals and technical support (etc.), it is great that this software is available if we want to spend our money on it. And, of course, that we have a broad range of choices.
Quick Poll (Score:4, Funny)
Mathematica
LPL
AMPL
I code it all myself in assembler, thank you very much!
Fingers and toes
Another method
CowboyNeal works it out for me on his abacus
Mathematica isn't good for large-scale numerics (Score:1)
Re:Mathematica isn't good for large-scale numerics (Score:2)
I've seen a menu done in AutoCAD and a 3d mechanical drawing done in photoshop - both to quite hysterical results.
Wolfram know that there are _lots_ of users who'd much rather persuade their employer/institution to buy lots of gridMathematica licences than have they themselves switch to working in Fortran.
Re:Mathematica isn't good for large-scale numerics (Score:1)
I would break down problems into two types: Those that Mathematica can solve quickly and easily, and those that it can't. For the latter category, I would think that 99% of the time the proper solution is to use something other than Mathematica, not distributed computing.
I find that when (in Mathematica) something takes more than a few seconds, it's because I'm doing it wrong or I should code the problem in C or something else. After the first several seconds have elapsed, I either abort the calculation and figure out how I screwed up, or if I'm desperate and it's late, I'll let it run overnight. Then when I return, it will either still be running or will have produced a result that I didn't want anyway. So in my experience, throwing more CPU time at Mathematica is almost never helpful. On the computing cluster I used during grad school, every week or two I would find that my analysis jobs were running slowly, because someone had a runaway mathematica kernel going at interactive priority. If it's using significant CPU, kill it! Don't give it more CPU's to burn!
I think Mathematica is great, and worth the cost if you do a lot of mathematics. But like any program, you have to know when to use it. Too many people have been trained on Mathematica and little else, and they can't understand why it takes mathematica an hour to integrate a wave packet (and still gets it wrong), while a C program can get the right answer in microseconds. You can actually do this with Mathematica if you're bent on it, but you can't use Integrate or NIntegrate -- you have to do it as a sum, and it still takes several minutes. That's just one example of many I've experienced. Same principle applies when doing symbolic math, too.
Hardware costs vs. salaries (Score:2)
There's a tradeoff, and in most cases, hardware is cheaper than labor. Let's say that someone earns $60,000 a year as a coder. After all of the costs to the employer, it will cost around $90,000 to $100,000 to keep them employed for a year.
That means that if the coder spends two weeks writing his program to do the math more quickly, it cost the employer $4,000 - in addition to the opportunity costs.
Now, given that you can pick up a 2 GHz-class machine for $500, you're presented with another option: You could just use Mathematica, and let it run across 8 machines in parallel.
Which way makes more sense? It depends on the situation. Let's say your coder is in great demand for other projects - the hardware route might make more sense. If he's sitting around anyway, you might as well put him to work. There are a lot of factors which can tip the scales one way or another.
steve
Multi-platform support is indeed cool (Score:1)
Seriously though, alone those machines can only do so much
Distributed codecs? (Score:1)
Re:Distributed codecs? (Score:2)
A video codec, such as DivX, typically utilises some form of transformation, be it FFT, IDCT or some form of wavelet transform, then quantisation. Whilst you could split that into separate sections, it makes more sense to operate at a higher level - i.e. to split your video stream into chunks and then send each chunk off to a node, to compress in the usual fashion.
The advantages of this approach is that the codec only need be written once, and given that that's a hard part, this is a good thing. It also means that the cluster interface is codec neutral, thus no particular work need be done on the part of the codec developers.
transcode [uni-goettingen.de] has such a mode.
random thoughts (Score:1, Interesting)
It is a shame that Mathematica is so expensive, and so slow for numerical calculations -- it is great for prototyping and tinkering, but lousy for serious computations compared to code written in C(++) or Fortran.
I have love/hate relationship with Mathematica -- I have used it for years, and have writtens lots of purpose-built programs in it to support my research, but this "legacy" code makes it hard for me to switch to anything else.
Consequently, I am forced to pay Wolfram's industry-leading prices for the program and put up with their slow-as-molasses approach to bug fixing. For instance, a set of hypergeometric integrals were broken for at least 18 months, and it seriously screwed up the work of at least one colleauge of mine -- and if the source was available we could have fixed it ourselves.
Consequently, I would love to see (and would be keen to contribute to) an open source clone of Mathematica, or at least something that could parse mathematica code into a form understandable by an open source package like Maxima.
However given Wolfram's trigger happy approach to lawsuits I rate the chances of this succeeding to be fairly small -- which is ironic, since Wolfram's recent book fails to acknowledge a lot of prior art, and he was successfully sued by his co-investors for essentially asset-stripping his own company in the early nineties.
Ah well. Back to work.
Wolfram thinks books discover things (Score:1)
He claims to have invented a new kind of prose for the book, and one of the symptoms of this claim is that he constantly refers to the discoveries of his book or his book's discoveries.
My impression of the book: If he were better at collaborating he'd be much more productive. The same is no doubt true of Mathematica.
Maybe we should all write him an email: "Hey dude you're a genius!" Maybe then he'd open source Mathematica. He definitely want Mathematica to be the lingua france of math, but I don't think money is the reason.
Capitalize on the hype (Score:3, Interesting)
There are other packages which do very similar things and have a for a long time, such as NetSolve [utk.edu] and Ninf [apgrid.org] which allow you to do cool stuff with most any application that needs computational power.
There is also a Commodity Grid Kit (standard interface to Globus [globus.org] services) for Matlab that should be out soon, more info can be found here [globus.org].
So for now, I'll just consider this more someone wanting to capitalize on the hype around Grids at SC2002 [sc2002.org] than anything else. Unless I'm missing something obvious.
Re:Capitalize on the hype (Score:2)
As for Ninf, seems like a lot of programming is require to tailor it to your application.
So they don't natively support mathematica. And trust me, when you're a student or modeling something professionally (ie getting paid for it), you're already busy with your own maths to want to do extra work.
The problems and advantages of Mathematica.... (Score:1)
...are a lot like the problems and advantages of Microsoft's products. Mathematica is slow and bloated, but it's also easy and trusted. There are a ton of undergrads who know Mathematica and like it because of the symbolic interface. Any open source competitor needs to have a symbolic interface on par with Mathematica to compete because one of the reasons that gridMathematica may take off is precisely because there will be a lot of undergrads coming to grad school who won't want to program C++ or using the numerical Python module and just want to click sigma and do an infinite sum. Or, in this case, come up with something complicated and click "Solve on the grid" and it will Mathemagically do it, albeit slowly. As someone else said, gridMathematica could reduce a lot of the trouble for smaller universities to get a high powered computing set up, even if there is a ding in speed.
I think, pedagogically, it is actually better to start making your students program, say with VPython (which is easy as pie) and looking through numerical methods books to find a needed numerical method because it really dissects the guts of a math or physics problem better. You have to think about the error term, step sizes, singularities, processing time, etc, rather than just clicking solve in Mathematica.
But that doesn't matter: the more people are used to the Mathematica interface, the more this will catch on.
Fight the national One-Strike law! [viewfromtheground.com]
Can a user tell me... (Score:2)
The trouble with grid computing... (Score:2)
When you only have one processor, the difference between a 20 minute calculation and a 2 day calculation matters.
My worry here is that if whole university clusters were opened up, so even an inefficient O(n^3) problem ran in reasonable time, it sucks up an inordinately large amount of processing power, slowing down the entire organization, while the student running that problem has no idea that with some better written mathematicode they could solve the problem in O(n) time, and even if they did realize, they have little reason to care, when the problem gets solved reasonably fast anyhow, regardless of the cumulative effect on all the other processes...
I'd be fascinated to know if there's any kind of accountability, or better yet, optimizations in Mathematica that can spot common inefficiencies and suggest either a more efficient way to handle a problem, or at least postulate a theorhetical O() level compared to a function's actual level.
A lot of computing power is a good thing in principle, yet I wonder how much faster Word on my G4 would be if it was designed to work on my old 68000.
In summary: extra cycles are a currency that is far too often traded in for lazy programming instead of increased performance.
you sum up the trouble with programmers (Score:2)
[...]
In summary: extra cycles are a currency that is far too often traded in for lazy programming instead of increased performance.
Worst case complexity (which is what "an O(n^3) problem" usually refers to) has little to do with how long programs take to run. What matters is average case complexity on representative distributions of problem instances.
Now, what about complexity? Well, a lazily implemented algorithm with average case complexity O(n) will beat a highly optimized algorithm with average case complexity O(n^3) easily when problems get larger. And you need to keep implementations of algorithms with better complexity simpler because the algorithms tend to be more complex. The irony is that a lot of software today is inefficient and bloated because the programmers spent a lot of time optimizing tiny little pieces and creating software that is so complex and difficult to maintain that they can't fix the big picture (Microsoft Office, KDE, Gnome, etc. come to mind).
Furthermore, for many problems, programmer time is much more valuable than computer time. Even if it takes 10 times as long to run or 10 times as many CPUs, an inefficient implementation is often preferable if it takes 1/2 as long to implement. And the simpler and lazier you keep the implementation, the less likely you are to introduce bugs. Students find that out when they miss the problem set deadline trying to hand-optimize and chase down bugs they introduced during optimization.
In short, your attitude is probably at the root of a lot of bugs in today's software. Programmers need to get lazier for software to improve, and, as a bonus, lazily written software will often run faster, too.
Re:you sum up the trouble with programmers (Score:2)
I think in your composition you forgot my actual point: that code written when the coder has constraints on processing power and memory often perform much better when those constraints are removed, because the coder writes cleaner code.
Though it's not an obvious distinction, this is not the same thing as a coder trying to squeeze every possible optimization into a bloated codebase to get that little bit of extra speed.
The former results in simpler programs that tend to be more elegant and faster for their simplicity. The other results in frgile bloatware that has to be re-engineered to take advantage of every minor enhancement for each chip.
More to Mathematica than numerics (Score:1)
Here is where gridMathematica could come as a real boon. At least the kind of problems I have worked on (Feynman diagram calculations), and I suspect many others, are trivially parallelizable; what previously took days to complete might now be done in hours, depending on the number of machines at your disposal.
Re: (Score:1)
Re:gritMathematica (Score:2)