SSDs, are they worth it, yet?

loocas | miscellaneous | Sunday, October 31st, 2010

RevoDrive 50GB

Hard Drives seem to be the last bottle neck in our workstations or even in the render farms and servers. The memory modules, the graphics cards, the CPUs, pretty much every part of our PC has gone up by multipliers of tens or even hundreds from the past, say, ten years. However, HDDs, on the other hand, still use the same technology from the early sixties! Sure, they’ve gone faster, larger and much, much cheaper. But really, for a high-end or, nowdays even, mid-end VFX and animation work, standard HDDs aren’t fast enough.

So I took the plunge and bought my first SSD. Not just any SSD, but a PCIe RevoDrive SSD, which is supposed to be even faster than regular SATA connected SSDs we might be getting used to nowdays. The theoretical read and write operations per second are breath taking, however, what is the reality of such a drive in a general day-to-day usage on a higher-end PC workstation for VFX artists?

I didn’t bother to do any synthetic testing as there are tons of such tests on the internet. I rather concentrated on a general usage, such as working with large 3ds Max files with a lot of external reference files (incl. XRefs, Point Caches, Textures etc…), reviewing OpenEXR or DPX sequences, generally working with such a drive.



loocas | hardware,miscellaneous | Thursday, October 21st, 2010

Oh, I love this! I always feel like a child when new toys arrive! :D

This time, I ordered a high-end workstation, dual Xeon E5620, 24GB or RAM, 2GB GeForce etc… some UPSs, a SuperMicro SuperServer 1U blade, which I intend to use for license distribution, database administration and generally to offload some “administrative” tasks from the main file server at the studio. It’s a single Xeon, 6GB of RAM and about 200GB of HDD space.

I also decided to finally give SSDs a test drive. However, I’m not really impressed by the regular, SATA, SSD performance/price ratio so I decided to see if those PCIe drives perform any better. And they should, based on the specs. This one is one of the slowest (540MB/s, 450MB/s read, write respectively) and cheapest, but I only intend to use it as a test drive for speed comparisons. It’s only 50GB, OCZ RevoDrive SSD, so, if it doesn’t perform as I expect, I won’t regret the purchase. But if it does, I’ll be ordering a 512GB Z-Drive R2 P82, also from OCZ, as my primary work drive. That one should be almost two times as fast as the RevoDrive here, but it also comes at a steep 10 times higher price tag. So, that’s why I’m testing on the cheapest (which still cost about $350 USD) drive. If I buy the larger one, I’ll use this one for the OS instead. Hopefully the 50GB will be enough for the system to comfortably run on…

Oh, I also invested in some more software licenses as you can see. ;)

Well, I’ll report on the system’s performance and setup when I have the time. Gotta finish what’s on the table right now. Stay tuned!

The 600 Years of Orloj

loocas | showcase | Tuesday, October 19th, 2010

The 600 Years from the macula on Vimeo.

duber studio was awarded a few shots (three in total) to work on this, highly prestigious, job. We were asked to produce some of the most challenging shots, such as the burn-down of the tower, the “Skull shot” and various breakage, debris and collapse elements for numerous other shots (this one is considered a single shot we then broke down into elements and re-used in various other shots). Also, we did some minor tasks in other shots (writing scripts, rigging etc…).

I’ll have some making of of our shots soon, hopefully, to show you here. Stay tuned!

Setting up Environment variables from MAXscript

loocas | 3ds Max,maxscript,technical | Thursday, October 14th, 2010

Just a note on this topic as I just recently needed to set up some Env. variables via MAXScript for certain in-house tools to work correctly and I bumped into a weird behavior of the .NET classes I used. So, for anyone out there with a similar task at hand, read on to save some time figuring it out. :)

Basically, all you need in order to get or set environment variables via .NET are two classes:

  • “System.Environment”
  • “System.EnvironmentVariableTarget”

Then, you simply need to call a method on the “System.Environment” class, called, simply, SetEnvironmentVariable() or GetEnvironmentVariable().

The “System.EnvironmentVariableTarget” class is used to invoke an Enum of:

  • Process – this Enum will get/set the Env. variable for the actual, live, process. The Env. var. will basically die with the process as well.
  • Machine – this one asks for the System Env. variables available to all users and processes
  • User – this one, obviously, only applies to the given user

So, my initial approach was as usual, calling the methods this way:

sysEnv = dotNetClass "System.Environment"
envTarget = dotNetClass "System.EnvironmentVariableTarget"

sysEnv.SetEnvironmentVariable("MyVariable", @"MyValue", envTarget.Machine)

However, this threw an error:

-- Syntax error: at ),, expected 
--  In line: sysEnv.SetEnvironmentVariable("MyVar", @

In such a case, I recommend using the showMethods() method for investigating .NET methods in MAXScript. This partially reveals syntax as well as actual methods available:

showMethods(dotNetClass "System.Environment")
  .[static]<System.Boolean>Equals <System.Object>objA <System.Object>objB
  .[static]Exit <System.Int32>exitCode
  .[static]<System.String>ExpandEnvironmentVariables <System.String>name
  .[static]FailFast <System.String>message
  .[static]<System.String>GetEnvironmentVariable <System.String>variable
<System.String>variable <System.EnvironmentVariableTarget>target
  .[static]<System.String>GetFolderPath <System.Environment+SpecialFolder>folder
  .[static]<System.Boolean>ReferenceEquals <System.Object>objA <System.Object>objB
  .[static]SetEnvironmentVariable <System.String>variable <System.String>value
  .[static]SetEnvironmentVariable <System.String>variable
<System.String>value <System.EnvironmentVariableTarget>target

So, after doing this, the correct syntax is:

sysEnv = dotNetClass "System.Environment"
envTarget = dotNetClass "System.EnvironmentVariableTarget"

sysEnv.SetEnvironmentVariable "MyVariable" @"MyValue" envTarget.Machine

Hope this helps anyone with similar issues.

Server failure

loocas | hardware,miscellaneous,technical | Tuesday, October 5th, 2010

I had to deal with two, moderately serious, server issues at the studio.

The first one was rather strange as I was adding another render node to the loop and I wanted to check whether everything is fine with the machine, so I physically logged in to the server as an Administrator and checked the Remote Desktop connection to the newly added render node. All was fine so I logged off and that’s when the entire operating system got stuck. I only saw the “Logging Off” message for hours without change. I couldn’t log back in, I couldn’t log in remotely, I couldn’t restart the machine. So I had to hard-reset the server, which I wasn’t really happy about as I was afraid the RAID drives might have failed or anything else could have gone wrong. Luckily, nothing serious happened, I only had to manually jump-start some of the services I need to run for my studio infrastructure, but that was it.

Now the second one was a joke. Since the Windows Update offered me about gazillion updates I decided to update the server since I didn’t have any jobs in the queue at the time. However, as soon as the updates reached about 98% the server stopped responding. My entire local network was inaccessible from the outside and I was, basically, out of luck (remotly). So the next day I went to check on the status of the server and all I saw was a very unpleasant BSOD. Not even remotely as nice or appealing as the one you can see above this post.

So, generally speaking, I have no idea what went wrong and how to prevent it, aside from avoiding to locally log-in to the OS or performing a Windows Update. :)

Another render slave ready for the load!

loocas | hardware,miscellaneous,technical | Friday, October 1st, 2010

Render Slave 04

Sure enough, the studio is slowly growing, both in its technical background as well as with the projects that are coming in. So, we need more horse-power!


Powered by WordPress | Theme by Roy Tanck