LoTR , Linux, and Database Management
minus23 writes: "Very interesting article over at Digitalanimators.com, talking about some of the challenges faced by the crew working on the second installment in the Lord of the Rings Trilogy. Interesting bits include managing an off-site database of 45TBs, Linux workstations from IBM, 1400 processors, and the animation methods to be used on Gollum. It's a good thing. :)"
When I read LOTR many years ago, when computers were hard to come by and certainly not used for frivolity such as generating fairy tales, I had no trouble whatsoever "seeing" Gollum and all the other characters just from the textual descriptions.
Does all this computing power mean we've advanced?
This story looks like a good excuse for me to share a little elation I have about Databases that are Free Software.
I've been a Database Administrator and Linux zealot for about 7 years now, and it always got under my skin that there are no good production-quality databases for Linux.
Then, a couple years back, Oracle, Sybase, IBM, and a few other giants made their RDBMSs available for Linux. So I upped the ante, and started complaining that there were no good Free Software databases that were production-quality for Linux.
Then, about nine months ago in New Zealand I started talking to a consultant who told me he'd successfully migrated a few clients off of Oracle onto Postgres. At the time, I was incredulous, because I'd previously reviewed Postgres and found it unsuitable for production systems.
Turns out, my information was outdated (things change FAST in the OSS arena).
Since then, I've been slowly, carefully, calmly trying to see if Postgres (and incidentally, MySQL) were ready for production databases.
Turns out, the answer is pretty much YES for Postgres and, sorry folks, still NO for MySQL.
Postgres is an amazing product. The version I'm running, which is fairly recent at 7.2.1 can create databases based on Oracle-complexity DDL, has good recoverability, stored procedures and triggers, and pretty much everything you'd expect in a full-fledged RDBMS.
They even have a few of those extra bits that aren't necessary but that some DBAs and DB developers like, such as a built-in language (PG/SQL I believe they call it) and ability to write stored procedures in esoteric and strange languages.
I've found their query tool (psql) to be the second-most powerful and useful query tool I've ever used (SQSH being the first).
Amazing product, this Postgres 7.2.1. And from reading the database administrators' mailing list, it's pretty obvious that there are some fairly large-size shops migrating from Oracle to Postgres or even just using Postgres as their main RDBMS.
fifth sigma, inc.
Overall, the article was a good read. But, I must point to the following observation..
..."
"... The problem with Linux is that it's an open source system, so if you are having issues or difficulties with its stability, it's like pushing on a rope; there's no single vendor to deal with.
The very next paragraph...
"Weta had just taken delivery of 25 Linux workstations from IBM and Labrie reported that IBM and Hewlett Packard were the frontrunners for additional Linux workstation upgrades."
Alright, so... what am I missing here? You've got IBM behind your efforts. Whats the problem?
Perhaps the comment was referring to specific pieces of software, although my experience has been that dealing with a group of open developers is far more useful than dealing with a single inept vendor. When the vendor is full of crap, where else can you turn?
The first paragraph I mentioned continues...
"You have to be self-deterministic in terms of how things work. You have to make your own choices and do your own tests on motherboards, graphics cards, applications, operating system releases, all those kinds of things."
Again, I'm not buying this comment either... afterall, you have IBM behind you! Don't they test the motherboards, graphics cards, operating system releases, and all those kind of things?
Obviously Linux has been a good solution for them because they're using it. They're having success with it, and its saving them loads of $$ versus using an alternative proprietary system.
Can't wait to see this installment of LOTR!
Skiers and Riders -- http://www.snowjournal.com
Interesting bits include managing an off-site database of 45TBs, Linux workstations from IBM, 1400 processors, and the animation methods to be used on Gollum. It's a good thing. :)
A precious thing, one might say...
forma3
I'm amazed in this day in age, they are having a problem with asset management/tracking. Although it's underplayed in the interview, it seems as though the Informix Media 360 was a complete bust.
I can't imagine it was beyond their programmers prowess to create plug-ins or custom scripts that could save the media to a server under some GUID of a filename, and insert a row into a table someplace with the meta-data for that asset. A homegrown content management system is really simple with todays scripting/filesystems/XML. Hell you could throw out the database insert, and just write a filename.xml in the same directory, then harvest the information later.
I'm amazed they stumbled on this, and even more amazed they payed for the Informix product (didn't IBM buy them, and drop that product anyhow?).
Also, is it just me or does it seem like this CTO was 'released' at an odd time?
-malakai
-Malakai
A Dragon Lives in my Garage
Why is it that every time someone with real world experience of running Linux on a large scale talks of a problem the response is always that they must be either mistaken or stupid?
Fifteen years ago you could have made the same coment about running large scale UNIX clusters. Sure you could buy 64 RISC workstations and configure them in a farm, but you would end up rebooting a machine at least once an hour - I know because thats what I was doing fifteen years ago, only with rather more processors.
Experience of running a single machine or a small cluster of office or university machines is not applicable to running large scale systems. If you have a system that is using multiple processors in a single computational task you have to have both software that is designed for fault tolerance and a very high level of basic reliability. If you have a render wall of 256 processors and each one in standalone mode runs for a week without a crash you will end up dealling with a system crash every 40 minutes, most likely more frequently due to interactions between the machines.
This type of processing is the reason people used to pay a hefty premium for systems from folk like DEC who had lots of experience filling a room with machines and getting them to work reliably. Today that ability is the only thing keeping Sun afloat.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
sorry, I just couldn't resist.
Don't know whether to drool at
a. 25 Linux workstations from IBM, or
b. The Lord of the Rings sequel
Oh well, I'll drool anyway
WARNING: Smartphones have side effects--most of them undocumented.
I recall an article on WETA. Don't know about the entire rendering process, but they created a program called Massive - it allows each individual character to interact with the environment while still moving with others, i.e. soldiers shifting their weight over unever terrain while still marching.
They are also using Shake from Nothing Real for compositing. Not sure about anything else they use, though.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
Weta Digital are doing a cool project. This does not make them a cool place to work.
This type of processing is the reason people used to pay a hefty premium for systems from folk like DEC who had lots of experience filling a room with machines and getting them to work reliably.
...then you have some incredibly unstable software. This isn't a "designed for fault-tolerance", it's not even normal - it's less stable than your average Windows-based desktop system. It's fallacious to use this example to attempt to support your arguments.
Perhaps you should tell that to Google, who seem to have realised you can make Linux work stably enough to run a cluster of 10,000 machines. I'm not saying there's no place in the world for commercial Unix, but the single vendor argument was always weak and remains so. If I pay Red Hat (for example) the same amount of money I pay DEC (Compaq/HP, whatever), there's no reason to expect I won't get the same level of support.
Separately, there's the consideration of whether I'm better off paying DEC/Sun/X this enormous chunk of change for their premium "we don't randomly close your tickets" support level vs. just supporting my large cluster in-house. Clusters are, oddly enough, the place where this comparison leans closest toward the in-house argument - hundreds/thousands of sets of identical hardware means you only have to solve the hardware/software compatibility issues once, only have to keep one type of replacement hardware around, etc.
If you have a system that is using multiple processors in a single computational task you have to have both software that is designed for fault tolerance and a very high level of basic reliability.
Actually, part of the point of clustering is that you don't need enormous levels of fault tolerance. You only need the systems to be as fault-tolerant as the rate at which you can replace them (though, sure, it's nice to have them quite a lot more fault-tolerant than that).
If you have a render wall of 256 processors and each one in standalone mode runs for a week without a crash
PenguiNet: the (shareware) Windows SSH client