Virtualizing the render farm

loocas | miscellaneous,opinions,software,technical | Wednesday, June 22nd, 2011

So far I haven’t had much luck transforming my render farm to a fully virtualized environment for easier management of the render nodes’ software config.

I’ve tried Microsoft’s Hyper-V technology at first as it seemed like the easiest path, but I couldn’t have achieved what I’ve wanted from the setup:

  • Startup of the render nodes
  • Have all the render nodes boot up to a centralized virtual OS
  • Render tasks
  • Shutdown

I’ve even tried the SCVMM, but it was way too complex and complicated so I didn’t actually spend too much time fiddling with it.

I’m currently looking at my #2 option (mainly due to added cost and software layers), VMWare. Especially the VMWare View and vSphere products.

So, no virtualization tips from me right now, all is still one big work in progress, but I’ll be posting updates as soon as I have them.

Deadline’s Power Management not waking slaves properly

loocas | deadline,miscellaneous,software,technical | Sunday, May 29th, 2011

I recently had a problem with Deadline 5 and its (awesome) Power Management setup. The issue was that the server that was running the Pulse on wasn’t waking my machines up from their shutdown states (WOL).

The weirdest thing was that I was able to wake those machines up from any of my workstations via the Deadline Monitor app, but Pulse wasn’t able to. So, after speaking to the Thinkbox Software support (which is also top-notch and very helpful, by the way), they recommended me a few network traffic sniffing apps to monitor what is going on on the NICs.

The problem was that the NIC connected to the network was not actually sending the magic packet, so, no machines were, obviously, able to receive it. After a bit of further investigation, I found out that the WOL packet was actually being sent through the secondary NIC on the server, which wasn’t physically connected to the switch (mainly because the server also acts as a DC). So, the simplest solution seemed to disable the secondary NIC in Windows and have the primary NIC take care of the whole business.

This, however, presented a lot of trouble. By disabling the secondary adapter, you completely disable the NIC (in Windows, that is), so, with that you also disable any licenses that are bound to that particular adapter’s MAC! After that I wasn’t able to start Nuke, Mari, or even Deadline Slaves!

So, I had to dig deeper. The answer was Interface Metrics. In the Advanced tab under the IP properties, you can manually override Interface Matrics. See the link for more details, but basically, any lower value has higher priority. In my case, the secondary NIC (not physically connected to the switch), got automatically assigned a higher priority matric (a lower value), than the primary NIC. I manually overrode those and voila!, all traffic was being directed through the primary NIC.

To check what settings you’re at, use this command in the command prompt:

netsh interface ip show address

Hope this helps… :)

duber studio buys Mari

loocas | Mari,miscellaneous,software | Thursday, May 12th, 2011

Mari

That’s right, I bought my first license of Mari a week or so ago and have been toying with it since. :)

I’ve been looking for a usable and flexible texture painting app aside from Cinema 4D or Deep Paint (is it still being developed?) that can take on really complex projections and meshes. The way Mari handles its project data and the textures is absolutely fabulous! Oh, and did I mention Mari also sports Python? ;)

Originally I wanted to buy Mari prior to buying a license of Nuke X and Furnace, but then the job I would have needed Mari extensively for got cancelled, unfortunately, so I put it on hold. Then, recently, I saw Frank Rueter’s Nuke/Mari workflow video and immediately fell in love with the idea of software interoperability!

So, after playing with Mari for a few days and bugging the support team at The Foundry (about one undocumented feature of Mari’s command port), I now have everything I need to make Mari and 3ds Max communicate the same way as Frank demos with Nuke in his video.

Anyways, expect at least a preview of the things I’m about to do with Max and Mari in the near future. Stay tuned!

Virtualization, the future for small businesses

loocas | miscellaneous,opinions,technical | Wednesday, May 11th, 2011

After having a very interesting discussion with a friend and collegue of mine, Michal Mocňák, on the topic of IT infrastructure virtualization, I realized that this is something I’ve needed even for my small, but growing “data center”!

The “data center” is still currently offline (except for the license server), so, I’ve been thinking of how to improve upon my previous setup with the future in mind. With a semi-constant grow of my render farm, the management, upgrades, installations and maintenance of the individual machines from the software point of view is becoming more and more problematic. I’ve written a few tools to help me automate the process, but still, managing the actual OS, the actual installed applications, the updates, hotfixes and service packs etc… is a hassle. I currently only have nine nodes in my farm, but being able to abstract from any number of physical machines and be able to easily manage my nodes from a one-person point of view (yeah, I am the only TD/IT guy here :D ) would be a bless!

(more…)

studio’s IT infrastructure failure

loocas | hardware,miscellaneous,technical | Thursday, April 28th, 2011

Unfortunately, on tuesday, this week, the primary file server acting also as a domain controller at the studio, failed. The issue was caused by an error on the primary RAID array where the OS was installed. This lead to a complete loss of the OS and the entire studio setup.

I don’t know what caused the problem, but when I returned to the studio, all my machines were restarted, running, but restarted. The Internet Router I used for external access was also down. I had to manually start up some services and buy a new router. Then, when Windows Update popped up on the file server and I hit “Install Updates”, since I figured when it was all down anyways, I may as well update the system. That was the biggest mistake! The server crashed into a BSOD and I had to restart it manually which resulted in the failed RAID array and the complete loss of the OS.

The other issue was with the MD1000 DAS with all the company and projects data on. Since I configured it as a software RAID I lost the complete array with the OS. The data is still on the drives, but I can’t access them, since the OS is down.

(more…)

Portal 2, a game of the year!

loocas | miscellaneous,opinions | Sunday, April 24th, 2011

Portal 2

In case you’ve never played the original Portal mini-game from Valve (included with the Orange Box combo), you should definitely go and check it out.

The original Portal game was a mini-game bundled with the Orange Box games released back in late 2007. After finishing Half-Life I started the game and was immediately hooked in. The story was rather simple, but still interesting to keep playing. You were a test subject trapped in a synthetic testing environment controlled by a psychotic AI mainframe. Spoiler alert! You escape the testing chambers and kill the psychotic robot in the end. :) Now, the game was a first-person 3D action puzzle game. A very strange and rare combination, but extremely fun and addictive. You solve puzzles primarily using a device called Portal Gun which creates one entry and one exit portal anywhere you attach these to appropriate surfaces (you can’t do that on all types of surfaces, though).

Fast forward to 2011 and we have here a sequel to the very popular mini-game. This time in an AAA title of its own. To say that this game rocks is a huge understatement. So, basically, to not spoil anything and to keep this short and simple, if you liked the first Portal, you’re gonna love the second one! If you didn’t play the first Portal game, go grab it on Steam and then get to solving Portal 2.

Also worth mentioning is the (nowdays hugely overlooked) co-op mode, which is almost another campaign on its own! Get a friend and play the co-op together. It’s tons of brain twisting fun!

Portal 2 is one of the very rare games I had to finish in one go. I sat down to the game at about 9pm, fell asleep at about 4am and continued playing the next day when I woke up until I finished it! Same for co-op. We played the game for good solid 4-5 hours straight with my brother. It was absolutely amazing and very refreshing from all the FPS titles available nowdays.

Simply put: go buy this game NOW!

Crysis 2 – minor tweaks

loocas | miscellaneous,opinions,software,technical | Tuesday, March 29th, 2011

Ok, it wouldn’t be the TD inside of me if I didn’t customize the game at least a tiny little bit before even starting to play. :D

So the absolutely first thing I did was to change the game’s language. I can’t stand Czech localization (though, admittedly, it was done very well in this particular example, to be perfectly honest). Unfortunately, there isn’t a super simple way for an average player to do this. You have to modify a config file called system.cfg, found in the root of the Crysis 2 installation (i.e. C:\Program Files\Crysis2).
In there, there’s a line that says g_language = Czech (in my case, obviously), simply rewrite the locale name to your pereference (mostly, probably, English).

After that was done, I started playing. Now, I have a 24″ widescreen monitor (as probably most of the people on the planet), which makes it even more baffling why the devs kept the default FOV option at 50 degrees?! I changed that to something more pleasant and “natural”, 70°. To do that, simply open up the game’s console by hitting the ~ key (delete the semicolon!) and type:

cl_fov = 70


or whatever value you like. Try several options which one will suite you best.

After this, you should also consider tweaking the near FOV (for drawing the weapons you hold etc…) and the sprint FOV (when you’re running). These are the commands (with my settings):

r_DrawNearFoV = 60
pl_movement.power_sprint_targetFov = 70


If you need to change anything else, try searching the web for the right command. Unfortunately, I don’t know if there is any particular command for listing all the available commands, so, this was just that. :)

I don’t feel the need to modify anything else anymore. :D Enjoy the awesome game!

Crysis 2 – buy this game, now!

loocas | miscellaneous,opinions | Monday, March 28th, 2011

Crysis 2

I don’t play many games often, but when I do I tend to be very picky and I stick to the genre that I usually enjoy, like FPS or RTS. Now, as for Crysis 2, that’s actually my “first” Crysis game I’ve played and I have to say one thing: this game fucking rocks!

It’s the best FPS since Half-Life 2 (that I absolutely love)! If you haven’t played it yet or considering buying it, just don’t think, buy! If you pirated this game, fucking rot in hell, because the dev team, Crytek, put so much effort into this beauty that it’s a sin not paying the few bucks for such a wonderful gaming experience!

Kudos to all that worked on this masterpiece, it’s awesome!

duber studio plugin distribution system

loocas | miscellaneous,opinions,software,technical | Monday, March 28th, 2011

Get the Flash Player to see this content.

An overview of the setup at the duber studio that I use for synchronizing and distributing plugins, scripts etc… on all my machines at the studio using Deadline and Dropbox.

Direct MD5 checksum object comparison behavior in IronPython prior to version 2.7

loocas | miscellaneous,Python,technical | Thursday, March 24th, 2011

I’ve recently bumped into a strange problem that kept on crashing on me on my Virtual machine testing my latest IronPython script.

The problem was that a dircet MD5 object comparison of files originating from the same source, i.e.:

from System.Security.Cryptography import MD5CryptoServiceProvider
md5 = MD5CryptoServiceProvider()

file1crc = md5.CreateHashs(file1Stream)
file2crc = md5.CreateHashs(file2Stream)

file1crc == file2crc

returned, in IronPython 2.7, expected True, but in earlier versions, I got False.

This is the actual checksum converted to a string, so you can see they really are both identical (though computed from different sources):

>>> System.BitConverter.ToString(destMD5)
'2A-74-7D-5F-CC-FD-B6-75-57-C0-30-28-E4-BB-A4-0C'
>>> System.BitConverter.ToString(srcMD5)
'2A-74-7D-5F-CC-FD-B6-75-57-C0-30-28-E4-BB-A4-0C'

Interestingly enough, when I compare the two strings, the result is True.

After an hour or so of experimentation, I had to re-write the script to compare the strings rather than the actual MD5 checksum objects directly, in order to make my script compatible in earlier versions of IronPython.

I still haven’t received an answer to this behavior on the IronPython public mailing list, so, I really don’t have an answer as to whether this is a bug or some kind of a feature that isn’t clear to me. I’ll report back when I get more info.

« Previous Page | Next Page »

Powered by WordPress | Theme by Roy Tanck