Security Exception with MPI .NET - Windows HPC (High Performance Computing) forums

Recently we have quite a lots of problem from some of our users with MPI.NET. The problem is, yet again, .NET framework keep asking about whether to trust the program to run in the Cluster. The running program pop-out exception regarding permission always. The thing is, compute node should be trusted all times.

To fix this, see following threads.

Security Exception with MPI .NET - Windows HPC (High Performance Computing) forums

The trick is the "caspol.exe" command shipped with .NET.

Installing 3DSMax 2009 on Windows 2003 CCS

3D Studio Max 2009 is such a needy. So many requirements

clusrun \\headnode\path\to\3dsmax\support\dotnetfx\NetFx20SP1_x64.exe /q
/c:"install /l /qn"
clusrun
\\headnode\path\to\3dsmax\support\dotnetfx\netfx64.exe /q /c:"install /l /qn"

Somehow dxsetup /silent is not working in clusrun environment. I have to install it manually on every nodes.
(NOT work, this step need to be run INDIVIDUALLY) clusrun \\headnode\path\to\3dsmax\support\directx\dxsetup.exe /silent

clusrun msiexec /i \\headnode\path\to\3dsmax\support\msxml\msxml6_x64.msi
/quiet
clusrun msiexec /i
\\headnode\path\to\3dsmax\support\VCRedist\x64\vcredist.msi /quiet
clusrun
msiexec /i \\headnode\path\to\3dsmax\support\VCRedist\x86\vcredist.msi /quiet

And now 3DSMax

clusrun msiexec /i \\headnode\path\to\3dsmax\main\64bit\3dsMax2009_64-bit.msi

Although installer support building of installation image for client deployment. I found that's not working in command line environment of Windows 2003 CCS. The installer just quite with return code 0 (make me think it success for a while).

Enable service from command-line

sc config start= auto

NOTE the space between = and value. That's not accidental!

Installation tips for Visual Studio 2008 and VC++ Redistributable Package

Installing VS2008 in unattended mode (Never test yet)

\Setup\setup.exe /CreateUnattend unattended.ini
\Setup\setup.exe /UnattendFile unattended.ini

I never test above because I found a better solution. Install only VC++ redistributable package

clustrun vcredist_x64 /q

deltree has been replaced with rd?

Maybe I'm the last one knowing this. But since WindowsXP deltree has been replaced with rd /s /q instead.

Installing Subsystem for Unix-based Application in unattended mode

Subsystem for Unix-based Application (SUA) is a feature in Windows (used to be called SFU, aka. Services for UNIX). This is actually a kind of Cygwin-like made by Microsoft (actually Interix). This result in no requirement of cygwin1.dll. Since we're experimental on porting UNIX app to Windows cluster, it should worth a try to install this and test-drive. However, in Windows2008, this must be enabled first and SUA need to be installed separately.

  • Install SUA feature first

clusrun servermanagercmd -install Subsystem-UNIX-Apps -resultPath c:\Temp\installResult.xml

  • Next, install SUA itself (what's the difference?)

clusrun msiexec /i "\\HOST\Path\to\setup.msi" ADDLOCAL="BaseUtils,BaseSDK,SVR5Utils,GNUUtils,GNUSDK,UNIXPerl,VSAddin" /q

The installation should be taken place shortly. If it just sit tight and give no result for a while. There should be something wrong.

DirectX & Maya command line

Set-up directX silently

DXSETUP.exe /silent

Running Render batch command of Maya with -fnc

Render -fnc 3 = output.[number].[format]

Annotate plan shutdown for Windows 2003 Server

Yesterday there's an unexpected power failure occurred. The problem is, Windows will present the pop-up dialog box of "Shutdown event tracker", waiting for admin. to input the reason of unexpected shutdown.

This's not serious but create quite some confusion and might scare other admin. if they see it. So I decided to find some way to deal with it on multiple nodes. So here it is.

clusrun shutdown /e /d u:6:12

u:6:12 means "Power failure: Environment". You can view the list of possible reason by "shutdown /?"

Reassign volume on Windows: Command line mode

Again, I need to reassign volume letter (drive D:) to a network drive. However, a DVD-Rom is exist and already taken the drive letter. I need to do it on 32 nodes simultaneously! unless I 'll spend half an hour log-in to every compute nodes and click-click-click. At last I found the way.
Windows has a command called "diskpart", which act as command line interface for "Disk Management" snap-in of "Computer Management". It also accept scripting input, so what I did is

  • Create a script for diskpart

SELECT VOLUME D
REMOVE
ASSIGN LETTER V

  • Run this on every nodes at the same time

clusrun diskpart /s \\winhpc\share\diskpart.txt

Works perfectly!

Add static address for DHCP in Windows

Our windows cluster compute nodes, unfortunately, don't have any entry appear in DHCP (don't sure why this's working all this time). I want to add more nodes, but all the old IP shouldn't be tempted. So I need a script to read in old IP+MAC entry and add it to reservation pool in DHCP. And here it is (Pyht

import os, sys, re

ip_entry = re.compile(r'\s*10\.2\.0.*', re.I | re.DOTALL)
arp_cmd = os.popen('arp -a', 'r')
ip_list = []
while True :
line = arp_cmd.readline()
if not line : break
line = line.strip()
if ip_entry.match(line) :
ip, mac, mode = line.split()
a, b, c, d = ip.split('.')
name = 'compute0%02d' % (int(d) - 1)
ip_list.append( (ip, mac.replace('-', ''), name) )
arp_cmd.close()
print ip_list
for ip in ip_list :
os.system('netsh dhcp server scope 10.0.0.0 add reservedip %s %s %s BOTH' % (ip[0], ip[1], ip[2]))

The key of script above are "arp -a" and "netsh dhcp server scope 10.0.0.0 add reservedip". It's advised to run "clusrun hostname" once so ARP get all MAC entry from every machines. Of course this will only works on "ready" compute nodes.

I tried to create the script using Windows Powershell but it seems too much for me. PowerShell concept is good, too good for me to think of everything as Object when I just want to parse string output from a command line.