gridMathematica Announced
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.
Can it be used to emulate the universe using a cellular automaton?
Be wary of any facts that confirm your opinion.
...you can run this software on a Beowulf Cluster?
- Support for multiprocessor machines, heterogeneous networks, LAN, and WAN
- Support for scheduling of virtual processes or explicit distribution to available processors
- Support for virtual shared memory
- Support for synchronization, locking, and latency hiding
It looks like they took a few pages from the various distributed projects (United Devices, distributed.net). I can see this being used for universities and some research and scientific institutions, but still, with processor power today, even Mathematica representations of 10-dimensional Calabi-Yau spaces can be rendered in minutes.woof.
already have their own cluster, and grid systems? This should mean some small junior college or state college w/o tons of government research grants may be able to even the playing field. With the reduction of cost, it begins to make it easier for smaller research labs and schools to build grids. I remember assisting graduates studens prep processes so that it could be sent to UCSD's supercomputer. Now more universities will have their own system and be able to utilize their computer labs as grids at night. Atleast in theory.
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?
## W.Finlay McWalter ## http://www.mcwalter.org ##
Although this would be expensive, couldn't Wolfram set up a subscription service? Students who need temporary access to the power of Mathematica (I'm thinking of doctoral theses) could but computing time.
On an unrelated note, Integrals.com is one of the most useful high school math sites ever (up with Ask Dr. Math. It ended two weeks of misery by telling integral(sqrt(1+x^-4)dx) is not an elementary function.
It is quite a bit annoying when people say "Linux and Unix". Usually they mean "Linux and Solaris", or maybe "Linux, Solaris and HP", or (increasingly often, as the business world funnels itself down to only one or two Unixlike systems... ahhh, how great monopolies are born!) "Red Hat Linux for x86 and Solaris for SPARC".
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...
Honey, I shrunk the Cygwin
I've used this. Unfortunately it only has around 70% of the functionality of other packages such as matlab and of those functions it has, only around 50% of them are of a decent usable quality. The performance of the Unix version is also rather poor, being around 60% that of the Windows version.
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?
Trolling is a art,
wonder if i'll be able to get a $130 gridMathematica for Students version. :-)
Could you please tell me when Mathematica for Hot Grits will be available?
kthxbye
You can get a copy of Numerical Python and run PyPVM or PyMPI with it for distributed computing.
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..
I think Mark Allen, arguably the most homosexual Apple user in existence, can help you.
Good luck!
Cool. What I really want to have is a distributed solver for dynamic simulations. But a dream scenario would be to do the setup, pre- and postprocessing in any simulation program (like ADAMS, LMS or even block-scheme based like EASY5 or AMESIM or good old Simulink). For the solving part, however, I'd like to just export the equation sets (implicit or explicit) and let a distributed solver take care of this. As I understand, it could be possible to use the Mathematica solver as it exists today. Maybe not very efficiently though, but this could be compensated by quantity. I would love to install such baby in our company...
Excellence: Moderate (mostly affected by comments on your karma)
For interactive symbolic manipulation, Maxima is an excellent open-source alternative. For numerical applications, Numerical Python and its associated packages beat both Matlab and Mathematica in my opinion. For 3D visualization, you can get VTK, which also has Python bindings.
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, OCAML, SML, Prolog, or Haskell.
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).
While the grid solutions have their market (GridSystems u.a.) I see this Mathematica thing too much specialized. Scientifics and bussines need to be able to run any kind of logic (better with a low communications/calculus profile) in their grids, not just solving equations (there's a lot of software out there and they want to keep it running!)
However, Tom Ridge - the head of the government's soon-for-real Big Brother department - looks almost exactly like Babylon 5's dictator president Clark.
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.
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. :)
Although I am not longer in the need for good and easy to use math/statistics/plotting programs, I have a question. Where are the math programs/packages for Linux?
:(
The SAL lists has only half finished programs and there is still nothing GPLd as good as Systat 5.0 as of 1994.
And I was in the belief good programmers were interested in math...
At Texas A&M, one of the local CS students was doing his Thesis on some sort of large math problem in HRBB. He had two choices for writing the code to provide the solution. He could either write it in Fortran and use the Cray Y-MP we had (which, 10 years ago, was a fairly big deal). OR, he could use a high level language and use Zilla and our NeXT lab to solve it. He chose the second.
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 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.
"Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
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
A feeling of having made the same mistake before: Deja Foobar
Don't get me wrong, I absolutely love Mathematica, but if your numerical problem is so huge that it benefits greatly from running on a cluster, then you shouldn't be doing it in Mathematica in the first place. Nothing can match custom written Fortran, C, or C++ code for performance and efficient use of memory (Mathematica is a huge memory hog). Non-numerical problems, on the other hand, might benefit greatly from this.
All is Number -Pythagoras.
Now I can get my SGI, Sun, and other UNIX boxes in my house to do top secret nuclear computations!!
...
Seriously though, alone those machines can only do so much
You, too, can fit on a shelf in some library basement, in the form of a DVD.
Now isn't that thought a little more comforting than rotting in a box?
Wolfram Research is the Microsoft of the applied mathematics world. It is just less noticeable because we are talking a niche market, but proportionally it is every bit as obnoxious and full of air as Microsoft.
It would be much nicer if such a project were to be undertaken using an open source system like Maxima.
How is this different than just having mathematica on different systems and than just "adding" new kernels for each of the other systems on the system that you are using? (assume site license)
Besides the small inconvenience of having to hunt and install ncompress -required to uncompress some libraries-, Mathematica 4.2 S.E. works on Mandrake 9.0.
I know Mathematica is SMP capable, but at what level is it SMP "capable" - below or at equation level. In other words, (on an SMP machine, after adding a new kerne) if you have two independent equations, in the same notebook, one after the, other, does Mathematica uses both cpus to solve the first equation, and then both cpus to solve the second equation, or does it use one cpu to solve the first equation, and at the same time the second cpu to solve the second equation (assume independent calculations)?
I'm asking this because I observer some really weird cpu behavior on an AMD/SMP system (both in Linux and Windows) - like 99% usage 1st cpu, 30% usage 2nd cpu, for 10-15 minutes, and then usage reverses. The program I'm running has 4 nested loops, and each loop performs complete, independent, calculations.
(But then again I'm using a S.E. which might be SMP retarded)
I burned karma on this post, eh? Well, at least I thought it was funny. Sometimes that is what counts.
How to Download YouTube Videos
For statistics, at least, R can't be beat.
It's not exactly like MATLAB, Maple, or Mathematica, because it's so statistically oriented. However, it does have matrix computation and pretty good graphical capabilities.
But if you're doing statistics, you almost can't go wrong.
"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?"
After a few pints... we don't care
I thought they'd released Mathematica for (hot) grits... Oh well, a man can dream!
... besides Octave you might try the Euro-centric Scilab (http://www-rocq.inria.fr/scilab/). It is very close to Matlab in abilities, already has provision for parallel processing (via PVM), and has a _very_ supportive user group.
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.
"Consensus" in science is _always_ a political construct.
I don't know about Zilla, but as for an easy way to cluster Macs, check out Appleseed http://exodus.physics.ucla.edu/appleseed/appleseed .html
http://en.wikipedia.org/wiki/Signature_bloc
Could someone write a Mathematica program to do DiVX encoding and get free clustering from this product? mmmmm.... movies...
This too shall pass.
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.
It seems like this attempt to market something as "gridMathematica" is really a little deceiving. In reality it is more distributed Mathematica. Grids involve virtual organizations, authentication, etc. For more information see Ian Foster, Carl Kesselman, and Steve Tuecke's paper The Anatomy of the Grid.
There are other packages which do very similar things and have a for a long time, such as NetSolve and Ninf 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 services) for Matlab that should be out soon, more info can be found here.
So for now, I'll just consider this more someone wanting to capitalize on the hype around Grids at SC2002 than anything else. Unless I'm missing something obvious.
My Slashdot account is old enough to drink...
...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!
Online citizen journalism from the inner city: The View From The Ground
per processor!
How is this different from standard mathematica (which already supports multiple kernels) and the pre-existing paralellization add-on?
I've had this sig for three days.
I love you people. And here... I thought having breasts made me superior.
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
Oh, you're not stuck, you're just unable to let go of the onion rings.
communication with other programs through sockets has been implemented recently, and could be improved to spread a calculation over multiple machines, if the problem is coarse-grained, can be divided into large chunks of sub-problems.
Gnu Octave. Easy as 'apt-get install octave'.
Whole classes (indeed, whole doctorates) in CS departments center around the creation of algorithms, making O(n^2) level problems into O(logN) problems and so forth. there's a real ar to making your formulae efficient, and the pressure for that art is processor time.
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.
Kevin Fox
Distributed and grid computing is older than that. PVM itself, for example, came out in 1989, and people were using networks of workstations for large computations before that.
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).
There is a reason they are charging you only $130 for the student version. It's like a drug: after you have spent many hours getting familiar with Mathematica, you will then buy the full version for $1880 rather than spend more time learning another system. Matlab is even worse: last I checked, the full version costs upwards of $3000 in any reasonable configuration. And you'll end up paying that every time you change jobs. Matlab and Mathematica packaging may be convenient, but they are not technically that much better than the free alternatives to justify that kind of hassle and expense (in fact, I would argue that they are technically worse than the free alternatives, but that's a different argument).
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.
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,
[...]
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.
Some of the main strengths of Mathematica are its symbolic algebra and pattern matching capabilities. These unfortunately also work rather slow.
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.
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.
I bragged about my Karma at a job interview but I didn't get the job.
When is MapleGrid coming ?
So you think that people working in their spare time can create a decent Matlab clone. Do you even know what Matlab is, or what it is truly capable of?
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.