[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Condor + mapped network drives



On 7/19/07, Thomas Laue <Thomas.Laue@xxxxxxxx> wrote:

Hello,

I have just started working with Condor 6.8.5 being installed on a small
group consisting of 3 computers (Windows XP prof.) and a file server managed
by a samba system. I am working with large images stored on the samba file
server which are processed by an application software installed on each
executing host. I am distributing the batch command calling the execution
program on the single execution hosts. Up to now, all internal program calls
(for instance image access calls) are done using UNC paths because I cannot
map manually any drives in before hand because of the user handling of
Windows.

a common request - the manual has some examples

http://www.cs.wisc.edu/condor/manual/v6.8/6_2Microsoft_Windows.html#SECTION00727000000000000000

However, UNC paths reduce the performance of our program
drastically.

really - interesting, I would suggest looking into why that is you may
find that it is fixable without requiring a mapped drive. If you are
opening up many smaller files from the share (thus making the unc
resolution costs significant) you might find that batching the data up
(and possibly precompressing it) can improve the performance of the
entire application, plus remove the need for explicit net use.

That is the reason why I have to use mapped network drives. I
have already found one thread discussing this topic in the list. I know that
I have to use the "net use" command to map shared drives. Unfortunately, I
have no idea how to include this command into my submit file. I am posting
an example of my current submit file so that you can have a look at the
structure.

net.exe should be available on any windows installation via

%SystemRoot%/system32/net.exe

Note that on win2003 and likely onwards it is no longer accessible to
everyone on the machine so, if running condor with the automatic
limited users you will probably need to expose execute privilege on it
to everyone locally - that isn't that big of a deal security wise
based on the fact that you are already letting users run their own
code but you should be comfortable with what this allows.

Executable = c:\windows\system32\cmd.exe

what you want to do is stop using cmd.exe as an executable and instead
send a batch file instead.

This batch file should just do a net use to map the drive then execute
the real application.
It is a good idea to clean up your drive mapping at the end of the batch too.

Hope this helps.
Matt