From aespinosa at cs.uchicago.edu Sun Feb 1 00:38:12 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Sun, 1 Feb 2009 00:38:12 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
Message-ID: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
Hi,
I mixed the two providers since my files are at the remote site
already. The data files were being staged successfully but the
wrapper scripts for submittiing the jobs are not being transferred
successfully. I also got the same kind of error using coasters
(gt2:gt2:pbs)
I used swift 0.8 .
Below are the logs
sites.xml
fast
01:00:00
/disks/tp-gpfs/scratch/aespinosa
runtime message:
rm -rf *.rlog *.d *.log blast.xml blast.kml test.out test.err
~/swift/vdsk/bin/swift -sites.file sites.xml -tc.file tc.data blast.swift
Swift 0.8 swift-r2448 cog-r2261
RunID: 20090201-0030-k9cb65gc
Progress:
Progress: uninitialized:1
Progress: Selecting site:3 Stage in:2
Progress: Selecting site:3 Stage in:2
Progress: Selecting site:3 Submitting:1 Submitted:1
Failed to transfer wrapper log from
blast-20090201-0030-k9cb65gc/info/u on TERAPORT
Failed to transfer wrapper log from
blast-20090201-0030-k9cb65gc/info/v on TERAPORT
Progress: Selecting site:1 Stage in:1 Submitting:1 Failed but can retry:2
Progress: Selecting site:1 Submitting:1 Submitted:1 Failed but can retry:2
Failed to transfer wrapper log from
blast-20090201-0030-k9cb65gc/info/y on TERAPORT
Progress: Stage in:1 Submitting:1 Failed but can retry:3
Failed to transfer wrapper log from
blast-20090201-0030-k9cb65gc/info/0 on TERAPORT
Progress: Submitted:1 Failed but can retry:4
Failed to transfer wrapper log from
blast-20090201-0030-k9cb65gc/info/2 on TERAPORT
Progress: Failed but can retry:5
log file
2009-02-01 00:31:40,129-0600 DEBUG TaskImpl Task(type=FILE_OPERATION,
identity=urn:0-6-5-1-1233469825381) setting status to Active
2009-02-01 00:31:40,130-0600 DEBUG TaskImpl Task(type=FILE_OPERATION,
identity=urn:0-6-5-1-1233469825381) setting status to Failed
org.globus.cog.abstraction.impl.file.FileNotFoundException:
blastall-2qgpuz5j-info not found.
2009-02-01 00:31:40,130-0600 WARN vdl:transferwrapperlog Failed to
transfer wrapper log from blast-20090201-0030-k9cb65gc/info/2 on
TERAPORT
2009-02-01 00:31:40,131-0600 DEBUG vdl:transferwrapperlog Exception
for wrapper log failure from blast-20090201-0030-k9cb65gc/info/2 on
TERAPORT: File not found:
/disks/tp-gpfs/scratch/aespinosa/blast-20090201-0030-k9cb65gc/info/2/blastall-2qgpuz5j-info
task:transfer @ vdl-int.k, line: 356
sys:try @ vdl-int.k, line: 356
vdl:transferwrapperlog @ vdl-int.k, line: 466
sys:maybe @ vdl-int.k, line: 466
sys:discard @ vdl-int.k, line: 466
sys:catch @ vdl-int.k, line: 457
sys:try @ vdl-int.k, line: 394
task:allocatehost @ vdl-int.k, line: 370
vdl:execute2 @ execute-default.k, line: 24
sys:try @ execute-default.k, line: 23
sys:parallelfor @ execute-default.k, line: 21
sys:restartonerror @ execute-default.k, line: 17
sys:sequential @ execute-default.k, line: 15
sys:try @ execute-default.k, line: 14
sys:if @ execute-default.k, line: 13
sys:then @ execute-default.k, line: 12
sys:if @ execute-default.k, line: 11
vdl:execute @ blast.kml, line: 109
blastall @ blast.kml, line: 296
sys:sequential @ blast.kml, line: 295
sys:parallelfor @ blast.kml, line: 287
sys:sequential @ blast.kml, line: 286
sys:parallel @ blast.kml, line: 224
vdl:mainp @ blast.kml, line: 223
mainp @ vdl.k, line: 165
vdl:mains @ blast.kml, line: 221
vdl:mains @ blast.kml, line: 221
rlog:restartlog @ blast.kml, line: 219
kernel:project @ blast.kml, line: 2
blast-20090201-0030-k9cb65gc
Caused by: org.globus.cog.abstraction.impl.file.FileNotFoundException:
File not found:
/disks/tp-gpfs/scratch/aespinosa/blast-20090201-0030-k9cb65gc/info/2/blastall-2qgpuz5j-info
2009-02-01 00:31:40,139-0600 DEBUG WeightedHostScoreScheduler
Releasing contact 6
2009-02-01 00:31:40,139-0600 DEBUG WeightedHostScoreScheduler
commitDelayedScore(TERAPORT:-10.000(0.039):0/1 overload: -99533, 0.1
2009-02-01 00:30:22,617-0600 DEBUG Loader Loader started
From aespinosa at cs.uchicago.edu Sun Feb 1 00:58:19 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Sun, 1 Feb 2009 00:58:19 -0600
Subject: [Swift-user] Re: mixing gram execution and local filesystem
providers
In-Reply-To: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
Message-ID: <50b07b4b0901312258q7f5c9771pce3b05405de0a9c0@mail.gmail.com>
i tried running the job normally via gridftp and still got the same thing:
with coasters:
log: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090201-0047-hav48kr0.log
fast
01:00:00
/disks/tp-gpfs/scratch/aespinosa
default prewsgram:
http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090201-0054-ky5miqr4.log
fast
/disks/tp-gpfs/scratch/aespinosa
From benc at hawaga.org.uk Sun Feb 1 04:56:00 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Sun, 1 Feb 2009 10:56:00 +0000 (GMT)
Subject: [Swift-user] Re: mixing gram execution and local filesystem
providers
In-Reply-To: <50b07b4b0901312258q7f5c9771pce3b05405de0a9c0@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0901312258q7f5c9771pce3b05405de0a9c0@mail.gmail.com>
Message-ID:
On Sun, 1 Feb 2009, Allan Espinosa wrote:
> i tried running the job normally via gridftp and still got the same thing:
Did you intend to post a log on this line?
> with coasters:
> log: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090201-0047-hav48kr0.log
That is showing errors in file put.
wrt you previous message in this thread, the local filesystem provider is
for when the Swift submit side has access to the same filesystem as the
worker nodes. In your case, that seems to be untrue.
The local filesystem provider works by copying things around from the
Swift command line client basically as if you had typed 'cp'. If you can't
cp files into place from the same place that you are running Swift, then
you can't use the local filesystem provider.
If you have files elsewhere, you can map them using a URI. For example,
something like this:
file myfile <"gsiftp://tp-login.ci.uchicago.edu/etc/group">;
(or likewise for other mappers).
Then if you use the gridftp provider, third party transfer will be used,
so the data won't actually leave the cluster.
Exciting feature creep for the coaster filesystem provider might be
remote site-local filesystem staging, to handle your case.
--
From benc at hawaga.org.uk Sun Feb 1 17:01:41 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Sun, 1 Feb 2009 23:01:41 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
Message-ID:
On Sun, 1 Feb 2009, Allan Espinosa wrote:
> I mixed the two providers since my files are at the remote site
> already. The data files were being staged successfully but the
> wrapper scripts for submittiing the jobs are not being transferred
> successfully. I also got the same kind of error using coasters
> (gt2:gt2:pbs)
In addition to previous note, if you are running Swift from a CI machine
then you should have a bunch of the same filesystems (such as teraport's
GPFS) mounted already. In that case, using the local filesystem provider
should work.
Please can you send a full log file for a run using local filesystem and
plain gt2 execution?
--
From aespinosa at cs.uchicago.edu Sun Feb 1 18:27:58 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Sun, 1 Feb 2009 18:27:58 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
Message-ID: <50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
Hi Ben,
Here are the logs:
GT2 execution gridftp filesystem: (successful)
http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090201-1519-5xtsovjd.log
sites.xml:
fast
/disks/tp-gpfs/scratch/aespinosa
GT2 execution and local filesystem: (successful)
logs: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090201-1808-ua9hhvz6.log
sites.xml:
fast
/disks/tp-gpfs/scratch/aespinosa
coaster local:pbs and local filesystem: (errorr: Failed to transfer
wrapper log from blast-20090201-1818-e6uz834b/info/z on TERAPORT) I
aborted the run after a while...
logs: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090201-1818-e6uz834b.log
sites.xml
fast
/disks/tp-gpfs/scratch/aespinosa
On Sun, Feb 1, 2009 at 5:01 PM, Ben Clifford wrote:
>
> On Sun, 1 Feb 2009, Allan Espinosa wrote:
>
>> I mixed the two providers since my files are at the remote site
>> already. The data files were being staged successfully but the
>> wrapper scripts for submittiing the jobs are not being transferred
>> successfully. I also got the same kind of error using coasters
>> (gt2:gt2:pbs)
>
> In addition to previous note, if you are running Swift from a CI machine
> then you should have a bunch of the same filesystems (such as teraport's
> GPFS) mounted already. In that case, using the local filesystem provider
> should work.
>
> Please can you send a full log file for a run using local filesystem and
> plain gt2 execution?
>
> --
>
>
>
--
Allan M. Espinosa
PhD student, Computer Science
University of Chicago
From benc at hawaga.org.uk Sun Feb 1 18:33:25 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Mon, 2 Feb 2009 00:33:25 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
Message-ID:
On Sun, 1 Feb 2009, Allan Espinosa wrote:
> GT2 execution and local filesystem: (successful)
your initial message reported that this combination was unsuccessful.
--
From aespinosa at cs.uchicago.edu Sun Feb 1 20:01:08 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Sun, 1 Feb 2009 20:01:08 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
Message-ID: <50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
I did some retests using local for that one and found out something
was wrong in my site deployment (misplaced binaries of the
application).
sorry about that.
On Sun, Feb 1, 2009 at 6:33 PM, Ben Clifford wrote:
>
> On Sun, 1 Feb 2009, Allan Espinosa wrote:
>
>> GT2 execution and local filesystem: (successful)
>
> your initial message reported that this combination was unsuccessful.
>
> --
From benc at hawaga.org.uk Mon Feb 2 03:35:02 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Mon, 2 Feb 2009 09:35:02 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
Message-ID:
On Sun, 1 Feb 2009, Allan Espinosa wrote:
> I did some retests using local for that one and found out something
> was wrong in my site deployment (misplaced binaries of the
> application).
>
> sorry about that.
Ok, so the actual subject line of this thread is not a problem any more?
;)
As far as I can tell, the only combination which isn't working for you is
coasters with local:pbs?
If that is so, and you are using 0.8, then its likely that you're
encountering a walltime formatting problem which we discovered (as a
result of stuff you reported last week). That was working as of about 12h
ago. So if you want to use coasters and the pbs provider then you should
have a source build with at least cog >= r2270.
--
From benc at hawaga.org.uk Mon Feb 2 03:36:14 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Mon, 2 Feb 2009 09:36:14 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
Message-ID:
On Mon, 2 Feb 2009, Ben Clifford wrote:
> have a source build with at least cog >= r2270.
r2271 I mean.
--
From aespinosa at cs.uchicago.edu Mon Feb 2 13:40:59 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Mon, 2 Feb 2009 13:40:59 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
Message-ID: <50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
I see.
I got local:pbs working but I am still having problems with gt2:gt2:pbs.
gt2:gt2:pbs log:
http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1335-pbur79zc.log
swift invocation:
Swift svn swift-r2490 cog-r2271
RunID: 20090202-1335-pbur79zc
Progress:
Progress: uninitialized:1
Progress: Selecting site:3 Stage in:2
Progress: Selecting site:3 Stage in:2
Progress: Selecting site:3 Stage in:1 Submitting:1
Progress: Selecting site:3 Submitting:1 Submitted:1
Failed to transfer wrapper log from
blast-20090202-1335-pbur79zc/info/8 on TERAPORT
Progress: Selecting site:2 Submitting:1 Submitted:1 Failed but can retry:1
Progress: Selecting site:2 Submitted:1 Active:1 Failed but can retry:1
Progress: Selecting site:2 Active:2 Failed but can retry:1
Progress: Selecting site:2 Active:2 Failed but can retry:1
Cleaning up...
Shutting down service at https://128.135.125.118:53827
Got channel MetaChannel: 628444586 -> GSSSChannel-null(1)
- Done
sites.xml
fast
00:30:00
/disks/tp-gpfs/scratch/aespinosa
On Mon, Feb 2, 2009 at 3:36 AM, Ben Clifford wrote:
> On Mon, 2 Feb 2009, Ben Clifford wrote:
>
>> have a source build with at least cog >= r2270.
>
> r2271 I mean.
>
From benc at hawaga.org.uk Mon Feb 2 14:01:11 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Mon, 2 Feb 2009 20:01:11 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
Message-ID:
embedded deep in that log file is:
> STDOUT: Could not find a valid java executable
Have a read over Mike (Wilde)'s emails over the past few days about
running on teraport and getting Java paths working - there are some notes
in there.
It looks like you're getting different paths when you submit through the
pbs provider vs submitting through GRAM2 - with direct PBS, likely giving
you Java and with GRAM, not giving you Java.
This is something that needs some user interface improvements on, so this
will all be quite rough at the moment, but your experiences are pretty
useful for helping iron this out.
It looks like that coaster error needs to find its way into console output
rather than being deep in the log files.
The way in which Java is found needs some more configurability too...
--
From aespinosa at cs.uchicago.edu Mon Feb 2 14:03:03 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Mon, 2 Feb 2009 14:03:03 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
Message-ID: <50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
I got the error below when running from a remote machine. But when i
submit the gt2:gt2:pbs from the gt2 server. I was able to execute the
job successfully.
On Mon, Feb 2, 2009 at 1:40 PM, Allan Espinosa
wrote:
> I see.
>
> I got local:pbs working but I am still having problems with gt2:gt2:pbs.
>
> gt2:gt2:pbs log:
> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1335-pbur79zc.log
> swift invocation:
> Swift svn swift-r2490 cog-r2271
>
> RunID: 20090202-1335-pbur79zc
> Progress:
> Progress: uninitialized:1
> Progress: Selecting site:3 Stage in:2
> Progress: Selecting site:3 Stage in:2
> Progress: Selecting site:3 Stage in:1 Submitting:1
> Progress: Selecting site:3 Submitting:1 Submitted:1
> Failed to transfer wrapper log from
> blast-20090202-1335-pbur79zc/info/8 on TERAPORT
> Progress: Selecting site:2 Submitting:1 Submitted:1 Failed but can retry:1
> Progress: Selecting site:2 Submitted:1 Active:1 Failed but can retry:1
> Progress: Selecting site:2 Active:2 Failed but can retry:1
> Progress: Selecting site:2 Active:2 Failed but can retry:1
> Cleaning up...
> Shutting down service at https://128.135.125.118:53827
> Got channel MetaChannel: 628444586 -> GSSSChannel-null(1)
> - Done
>
> sites.xml
>
>
>
> fast
> key="coasterWorkerMaxwalltime">00:30:00
>
> jobmanager="gt2:gt2:pbs" />
> /disks/tp-gpfs/scratch/aespinosa
>
>
>
>
>
> On Mon, Feb 2, 2009 at 3:36 AM, Ben Clifford wrote:
>> On Mon, 2 Feb 2009, Ben Clifford wrote:
>>
>>> have a source build with at least cog >= r2270.
>>
>> r2271 I mean
From aespinosa at cs.uchicago.edu Mon Feb 2 14:04:22 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Mon, 2 Feb 2009 14:04:22 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
Message-ID: <50b07b4b0902021204j20e853cek14ef0134ee5610f7@mail.gmail.com>
I see. so when i submit from teraport, the Java environment seems to
be detected smoothly over coasters.
Thanks Ben!
-Allan
On Mon, Feb 2, 2009 at 2:01 PM, Ben Clifford wrote:
>
> embedded deep in that log file is:
>
>> STDOUT: Could not find a valid java executable
>
> Have a read over Mike (Wilde)'s emails over the past few days about
> running on teraport and getting Java paths working - there are some notes
> in there.
>
> It looks like you're getting different paths when you submit through the
> pbs provider vs submitting through GRAM2 - with direct PBS, likely giving
> you Java and with GRAM, not giving you Java.
>
> This is something that needs some user interface improvements on, so this
> will all be quite rough at the moment, but your experiences are pretty
> useful for helping iron this out.
>
> It looks like that coaster error needs to find its way into console output
> rather than being deep in the log files.
>
> The way in which Java is found needs some more configurability too...
From benc at hawaga.org.uk Mon Feb 2 14:06:40 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Mon, 2 Feb 2009 20:06:40 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
Message-ID:
On Mon, 2 Feb 2009, Allan Espinosa wrote:
> I got the error below when running from a remote machine. But when i
> submit the gt2:gt2:pbs from the gt2 server. I was able to execute the
> job successfully.
Using the same configuration on both the 'remote machine' and 'the gt2
server'?
My understanding is that wherever you submit from, you should get the same
error no matter where you submit from; so I'd like to investigate that.
--
From aespinosa at cs.uchicago.edu Mon Feb 2 14:11:54 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Mon, 2 Feb 2009 14:11:54 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
Message-ID: <50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
yes its the same sites.xml file. Here is the log of the successful gt2:gt2:pbs
http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1357-98hzn0n1.log
On Mon, Feb 2, 2009 at 2:06 PM, Ben Clifford wrote:
>
> On Mon, 2 Feb 2009, Allan Espinosa wrote:
>
>> I got the error below when running from a remote machine. But when i
>> submit the gt2:gt2:pbs from the gt2 server. I was able to execute the
>> job successfully.
>
> Using the same configuration on both the 'remote machine' and 'the gt2
> server'?
>
> My understanding is that wherever you submit from, you should get the same
> error no matter where you submit from; so I'd like to investigate that.
>
From benc at hawaga.org.uk Mon Feb 2 14:48:26 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Mon, 2 Feb 2009 20:48:26 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011627s14087822o7f0fa2ce931e37ae@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
Message-ID:
On Mon, 2 Feb 2009, Allan Espinosa wrote:
> yes its the same sites.xml file. Here is the log of the successful gt2:gt2:pbs
> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1357-98hzn0n1.log
ok. So that is submitted using the same as:
http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1335-pbur79zc.log
with the only difference that you are aware of being that they are
submitted from different machines?
--
From aespinosa at cs.uchicago.edu Mon Feb 2 14:52:37 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Mon, 2 Feb 2009 14:52:37 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
Message-ID: <50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
Yes they are the same. the succesful one was submitted from tp-login1
(where tp-grid1 is) and the otherone from communicado.
-Allan
On Mon, Feb 2, 2009 at 2:48 PM, Ben Clifford wrote:
>
> On Mon, 2 Feb 2009, Allan Espinosa wrote:
>
>> yes its the same sites.xml file. Here is the log of the successful gt2:gt2:pbs
>> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1357-98hzn0n1.log
>
> ok. So that is submitted using the same as:
>
> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1335-pbur79zc.log
>
> with the only difference that you are aware of being that they are
> submitted from different machines?
>
From wilde at mcs.anl.gov Tue Feb 3 09:20:22 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Tue, 03 Feb 2009 09:20:22 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com> <50b07b4b0902011801g15ce4045u38f3a1ef3c81fec4@mail.gmail.com> <50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com> <50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com> <50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
<50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
Message-ID: <498860B6.7010307@mcs.anl.gov>
Were they submitted from the same cert, with the same cert-to-uid
mapping in place?
Its possible that the OSG jobmanager initialization code differentiates
between OSG VO users and users mapped to their own ID.
Try running globus-job-run tp-grid1.ci.uchicago.edu /bin/bash -l -c
"which java", and the same without "-l", from both submission hosts.
- Mike
On 2/2/09 2:52 PM, Allan Espinosa wrote:
> Yes they are the same. the succesful one was submitted from tp-login1
> (where tp-grid1 is) and the otherone from communicado.
>
> -Allan
>
> On Mon, Feb 2, 2009 at 2:48 PM, Ben Clifford wrote:
>> On Mon, 2 Feb 2009, Allan Espinosa wrote:
>>
>>> yes its the same sites.xml file. Here is the log of the successful gt2:gt2:pbs
>>> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1357-98hzn0n1.log
>> ok. So that is submitted using the same as:
>>
>> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1335-pbur79zc.log
>>
>> with the only difference that you are aware of being that they are
>> submitted from different machines?
>>
> _______________________________________________
> Swift-user mailing list
> Swift-user at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
From wilde at mcs.anl.gov Tue Feb 3 09:55:07 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Tue, 03 Feb 2009 09:55:07 -0600
Subject: [Swift-user] Expanding arrays in app function command lines
In-Reply-To:
References: <497E02DB.8040904@mcs.anl.gov>
Message-ID: <498868DB.1090801@mcs.anl.gov>
A few comments on this topic related to the vote Ben called:
Using the simple array or structure name on the app command line is good.
Having the members expanded in index and/or source order is good.
Expanding the members as separate args seems best, as that bypasses
issues of deciding on separators and whitespace between members. Users
who want to pass several members as one can apply some sort of
concatenation and determine their own separators.
So I'm in favor of the approach used in this patch.
I'll cast my vote +1 as soon as I can apply the patch and test, to make
sure Im not missing anything. I need to change my scripts to handle the
new convention.
On 1/27/09 10:11 AM, Ben Clifford wrote:
> On Mon, 26 Jan 2009, Ben Clifford wrote:
>
>>> But in general, the ability to expand an array of strings into the command
>>> line is useful and I think should be done in array member order.
>>> Can/should this be changed to behave like that?
>> yes, this is something I've been meaning to work on.
>
> http://www.ci.uchicago.edu/~benc/tmp/argstar.patch
>
> will allow you to specify arrays of strings directly as parameters.
>
> http://www.ci.uchicago.edu/~benc/tmp/strarray.swift demonstrates the use
> of such.
>
> You can apply that, or you can wait a few days more me to test it more
> thoroughly and commit.
>
> Note that instead of saying x[*] you would say x without further
> modifiers.
>
From benc at hawaga.org.uk Tue Feb 3 11:37:24 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Tue, 3 Feb 2009 17:37:24 +0000 (GMT)
Subject: [Swift-user] Expanding arrays in app function command lines
In-Reply-To: <498868DB.1090801@mcs.anl.gov>
References: <497E02DB.8040904@mcs.anl.gov>
<498868DB.1090801@mcs.anl.gov>
Message-ID:
On Tue, 3 Feb 2009, Michael Wilde wrote:
> I'll cast my vote +1 as soon as I can apply the patch and test, to make sure
> Im not missing anything. I need to change my scripts to handle the new
> convention.
There is a tidier version here:
http://www.ci.uchicago.edu/~benc/tmp/vdlarg-1.patch
It has the same changes to app syntax as my previous patch.
--
From aespinosa at cs.uchicago.edu Tue Feb 3 12:20:46 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 3 Feb 2009 12:20:46 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <498860B6.7010307@mcs.anl.gov>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
<50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
<498860B6.7010307@mcs.anl.gov>
Message-ID: <50b07b4b0902031020r125169d2t61e828e4bea07da8@mail.gmail.com>
Hi mike
yes it gives a different java environment (but the same for both
submission hosts communicado and tp-login1:
globus-job-run tp-grid1.ci.uchicago.edu /bin/bash -l -c "which java"
SoftEnv 1.6.0: updating your software environment, one moment...
/autonfs/software/linux-rhel4-x86_64/osg-client-1.0.0-r1/jdk1.5/bin/java
vs
globus-job-run tp-grid1.uchicago.edu /usr/bin/which java
/opt/osg-ce-0.8.0-r1/jdk1.5/bin/java
Update: I fixed my ~/.soft file and observed that my coaster runs
(gt2:gt2:pbs local filesystem provider) now work .
-Allan
On Tue, Feb 3, 2009 at 9:20 AM, Michael Wilde wrote:
> Were they submitted from the same cert, with the same cert-to-uid mapping in
> place?
>
> Its possible that the OSG jobmanager initialization code differentiates
> between OSG VO users and users mapped to their own ID.
>
> Try running globus-job-run tp-grid1.ci.uchicago.edu /bin/bash -l -c "which
> java", and the same without "-l", from both submission hosts.
>
> - Mike
>
>
> On 2/2/09 2:52 PM, Allan Espinosa wrote:
>>
>> Yes they are the same. the succesful one was submitted from tp-login1
>> (where tp-grid1 is) and the otherone from communicado.
>>
>> -Allan
>>
>> On Mon, Feb 2, 2009 at 2:48 PM, Ben Clifford wrote:
>>>
>>> On Mon, 2 Feb 2009, Allan Espinosa wrote:
>>>
>>>> yes its the same sites.xml file. Here is the log of the successful
>>>> gt2:gt2:pbs
>>>>
>>>> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1357-98hzn0n1.log
>>>
>>> ok. So that is submitted using the same as:
>>>
>>>
>>> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090202-1335-pbur79zc.log
>>>
>>> with the only difference that you are aware of being that they are
>>> submitted from different machines?
>>>
From aespinosa at cs.uchicago.edu Tue Feb 3 15:43:24 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 3 Feb 2009 15:43:24 -0600
Subject: [Swift-user] gsiftp filesystem mapper removes leading slash
Message-ID: <50b07b4b0902031343g1c800451j78b0b914c944a416@mail.gmail.com>
Hi,
I am trying to stage input data from a remote site to itself using
this workflow:
type database;
type query;
type output;
type error;
(output out, error err) blastall(query i, string pref, database db[]) {
app {
blastall "-p" "blastp" "-F" "F" "-d" pref "-i" @filename(i) "-v"
"300" "-b" "300" "-m8" "-o" @filename(out) stderr=@filename(err);
}
}
string pirpref = "/work/01035/tg802895/pir/UNIPROT_for_blast_14.0.seq";
database pir[] ;
output out[] ;
error err[] ;
query input[] ;
foreach data ,i in input {
(out[i],err[i]) = blastall(data, pirpref, pir);
}
But gridftp internals in swift reports that it cannot get a directory
listing of "work/01035/tg802895/pir". I was thinking that maybe the
leading slashes were removed. Below is the program output:
~/swift/vdsk/bin/swift -config swift.properties -sites.file sites.xml
-tc.file tc.data blast.swift
Swift svn swift-r2490 cog-r2271
RunID: 20090203-1540-f00ydqsf
Progress:
Execution failed:
java.lang.RuntimeException:
org.globus.cog.abstraction.impl.file.FileResourceException: Could not
get list of files in work/01035/tg802895/pir from server
Caused by:
Server refused performing the request. Custom message: (error
code 1) [Nested exception message: Custom message: Unexpected reply:
500-Command failed. : System error in stat: No such file or directory
500-A system call failed: No such file or directory
500-
500 End.]
make: *** [remote] Error 2
but i was able to make a regular gridftp session:
uberftp gridftp.ranger.tacc.teragrid.org
220 gridftp2.ranger.tacc.utexas.edu GridFTP Server 2.8 (gcc64,
1217607445-63) [Globus Toolkit 4.0.8] ready.
230 User tg802895 logged in.
uberftp> cd /work/01035/tg802895/pir
uberftp> ls
-rw------- 1 tg802895 G-81621 204106872 Nov 12 21:44
UNIPROT_for_blast_14.0.seq.00.phr
-rw------- 1 tg802895 G-81621 23001752 Nov 12 21:45
UNIPROT_for_blast_14.0.seq.00.pin
-rw------- 1 tg802895 G-81621 999999669 Nov 12 21:45
UNIPROT_for_blast_14.0.seq.00.psq
...
logfile: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090203-1540-f00ydqsf.log
sites.xml:
2
1
16
/work/01035/tg802895
From benc at hawaga.org.uk Tue Feb 3 15:52:14 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Tue, 3 Feb 2009 21:52:14 +0000 (GMT)
Subject: [Swift-user] gsiftp filesystem mapper removes leading slash
In-Reply-To: <50b07b4b0902031343g1c800451j78b0b914c944a416@mail.gmail.com>
References: <50b07b4b0902031343g1c800451j78b0b914c944a416@mail.gmail.com>
Message-ID:
On Tue, 3 Feb 2009, Allan Espinosa wrote:
> location="gsiftp://gridftp.ranger.tacc.teragrid.org/work/01035/tg802895/pir",
> But gridftp internals in swift reports that it cannot get a directory
> listing of "work/01035/tg802895/pir". I was thinking that maybe the
> leading slashes were removed. Below is the program output:
CoG's gsiftp handling has an unconventional (as in different to the Globus
Toolkit) understanding of gsiftp URLs; you need to use two slashes after
the hostname in gsiftp URLs that are given to CoG.
Globus Toolkit gsiftp URLs implicitly start at /
CoG URLs start in pwd, and need an extra / to get to root.
Both interpretations violate my understand of the ftp:// URI scheme on
which I understand the gsiftp:// scheme to be modelled.
(to be even more picky, its a violation to use gsiftp:// as a URI scheme
as it neither begins with x- nor is registered with IANA... ho ho ho)
--
From aespinosa at cs.uchicago.edu Tue Feb 3 16:12:27 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 3 Feb 2009 16:12:27 -0600
Subject: [Swift-user] gsiftp filesystem mapper removes leading slash
In-Reply-To:
References: <50b07b4b0902031343g1c800451j78b0b914c944a416@mail.gmail.com>
Message-ID: <50b07b4b0902031412t5f05bda2t4ff88326df678fb7@mail.gmail.com>
Oh i see. now I'm getting NullPointExceptions:
database pir[] ;
$
Swift svn swift-r2490 cog-r2271
RunID: 20090203-1610-usa9ur25
Progress:
Execution failed:
java.lang.RuntimeException: java.lang.NullPointerException
Caused by:
java.lang.NullPointerException
at org.griphyn.vdl.mapping.AbsFile.initDirAndName(AbsFile.java:60)
at org.griphyn.vdl.mapping.AbsFile.(AbsFile.java:77)
at org.griphyn.vdl.mapping.AbsFile.listFiles(AbsFile.java:124)
at org.griphyn.vdl.mapping.file.AbstractFileMapper.existing(AbstractFileMapper.java:166)
at org.griphyn.vdl.mapping.RootDataNode.checkInputs(RootDataNode.java:96)
at org.griphyn.vdl.mapping.RootArrayDataNode.checkInputs(RootArrayDataNode.java:64)
at org.griphyn.vdl.mapping.RootArrayDataNode.innerInit(RootArrayDataNode.java:52)
at org.griphyn.vdl.mapping.RootArrayDataNode.handleClosed(RootArrayDataNode.java:77)
at org.griphyn.vdl.mapping.AbstractDataNode.notifyListeners(AbstractDataNode.java:486)
at org.griphyn.vdl.mapping.AbstractDataNode.closeShallow(AbstractDataNode.java:364)
at org.griphyn.vdl.mapping.AbstractDataNode.setValue(AbstractDataNode.java:322)
at org.griphyn.vdl.mapping.RootDataNode.setValue(RootDataNode.java:214)
at org.griphyn.vdl.karajan.lib.SetFieldValue.deepCopy(SetFieldValue.java:64)
at org.griphyn.vdl.karajan.lib.SetFieldValue.function(SetFieldValue.java:47)
at org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.childCompleted(AbstractSequentialWithArguments.java:192)
at org.globus.cog.karajan.workflow.nodes.Sequential.notificationEvent(Sequential.java:33)
at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:335)
at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
at org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
at org.globus.cog.karajan.workflow.nodes.FlowNode.fireNotificationEvent(FlowNode.java:173)
at org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:299)
at org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
at org.globus.cog.karajan.workflow.nodes.functions.Argument.post(Argument.java:45)
at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.childCompleted(AbstractSequentialWithArguments.java:192)
at org.globus.cog.karajan.workflow.nodes.Sequential.notificationEvent(Sequential.java:33)
at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:335)
at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
at org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
at org.globus.cog.karajan.workflow.nodes.FlowNode.fireNotificationEvent(FlowNode.java:173)
at org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:299)
at org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
at org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:46)
at org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:51)
at org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:27)
at org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.executeChildren(AbstractFunction.java:40)
at org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
at org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:240)
at org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:281)
at org.globus.cog.karajan.workflow.nodes.FlowNode.controlEvent(FlowNode.java:393)
at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:332)
at org.globus.cog.karajan.workflow.FlowElementWrapper.event(FlowElementWrapper.java:227)
at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
at org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
at org.globus.cog.karajan.workflow.events.EventWorker.run(EventWorker.java:69)
So I am guessing this is now a CoG bug right?
On Tue, Feb 3, 2009 at 3:52 PM, Ben Clifford wrote:
>
> On Tue, 3 Feb 2009, Allan Espinosa wrote:
>
>> location="gsiftp://gridftp.ranger.tacc.teragrid.org/work/01035/tg802895/pir",
>
>> But gridftp internals in swift reports that it cannot get a directory
>> listing of "work/01035/tg802895/pir". I was thinking that maybe the
>> leading slashes were removed. Below is the program output:
>
> CoG's gsiftp handling has an unconventional (as in different to the Globus
> Toolkit) understanding of gsiftp URLs; you need to use two slashes after
> the hostname in gsiftp URLs that are given to CoG.
>
> Globus Toolkit gsiftp URLs implicitly start at /
>
> CoG URLs start in pwd, and need an extra / to get to root.
>
> Both interpretations violate my understand of the ftp:// URI scheme on
> which I understand the gsiftp:// scheme to be modelled.
>
> (to be even more picky, its a violation to use gsiftp:// as a URI scheme
> as it neither begins with x- nor is registered with IANA... ho ho ho)
>
From benc at hawaga.org.uk Tue Feb 3 16:19:28 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Tue, 3 Feb 2009 22:19:28 +0000 (GMT)
Subject: [Swift-user] gsiftp filesystem mapper removes leading slash
In-Reply-To: <50b07b4b0902031412t5f05bda2t4ff88326df678fb7@mail.gmail.com>
References: <50b07b4b0902031343g1c800451j78b0b914c944a416@mail.gmail.com>
<50b07b4b0902031412t5f05bda2t4ff88326df678fb7@mail.gmail.com>
Message-ID:
On Tue, 3 Feb 2009, Allan Espinosa wrote:
> Oh i see. now I'm getting NullPointExceptions:
[...]
> So I am guessing this is now a CoG bug right?
That's happening inside Swift code still, so probably, no - its likely
to be something in Swift.
--
From benc at hawaga.org.uk Tue Feb 3 16:21:52 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Tue, 3 Feb 2009 22:21:52 +0000 (GMT)
Subject: [Swift-user] gsiftp filesystem mapper removes leading slash
In-Reply-To:
References: <50b07b4b0902031343g1c800451j78b0b914c944a416@mail.gmail.com>
<50b07b4b0902031412t5f05bda2t4ff88326df678fb7@mail.gmail.com>
Message-ID:
I've seen a bit of funniness in this area before. I'll add some more tests
to the test suite which will probably help identify problems.
--
From aespinosa at cs.uchicago.edu Tue Feb 3 17:57:38 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 3 Feb 2009 17:57:38 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902031020r125169d2t61e828e4bea07da8@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
<50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
<498860B6.7010307@mcs.anl.gov>
<50b07b4b0902031020r125169d2t61e828e4bea07da8@mail.gmail.com>
Message-ID: <50b07b4b0902031557p1e541894gb2ef11254c8bc308@mail.gmail.com>
This is weird, I was successful in submitting over 250 jobs but then
got the errors again after a while:
log:
http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090203-1709-8dc38njb.log
...
Progress: Selecting site:377 Active:1 Finished successfully:253
Failed but can retry:69
Failed to transfer wrapper log from
blast-20090203-1709-8dc38njb/info/r on TERAPORT
Progress: Selecting site:377 Finished successfully:253 Failed but can retry:70
Progress: Selecting site:377 Finished successfully:253 Failed but can retry:70
Progress: Selecting site:377 Finished successfully:253 Failed but can retry:70
Progress: Selecting site:376 Stage in:1 Finished successfully:253
Failed but can retry:70
Progress: Selecting site:376 Active:1 Finished successfully:253
Failed but can retry:70
Failed to transfer wrapper log from
blast-20090203-1709-8dc38njb/info/t on TERAPORT
sites.xml:
fast
00:30:00
/disks/tp-gpfs/scratch/aespinosa
Does this mean that the "cp" calls fail after a while?
-Allan
On Tue, Feb 3, 2009 at 12:20 PM, Allan Espinosa
wrote:
> Hi mike
> yes it gives a different java environment (but the same for both
> submission hosts communicado and tp-login1:
> globus-job-run tp-grid1.ci.uchicago.edu /bin/bash -l -c "which java"
> SoftEnv 1.6.0: updating your software environment, one moment...
> /autonfs/software/linux-rhel4-x86_64/osg-client-1.0.0-r1/jdk1.5/bin/java
From benc at hawaga.org.uk Tue Feb 3 18:11:15 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Wed, 4 Feb 2009 00:11:15 +0000 (GMT)
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902031557p1e541894gb2ef11254c8bc308@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
<50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
<498860B6.7010307@mcs.anl.gov>
<50b07b4b0902031020r125169d2t61e828e4bea07da8@mail.gmail.com>
<50b07b4b0902031557p1e541894gb2ef11254c8bc308@mail.gmail.com>
Message-ID:
On Tue, 3 Feb 2009, Allan Espinosa wrote:
> Does this mean that the "cp" calls fail after a while?
It means something failed. In the log, I see this:
> org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException:
Invalid GSSCredentials
and
> Caused by: GSSException: Defective credential detected [Caused by:
> [JGLOBUS-5] Proxy file
> (/home/aespinosa/.globus/job/tp-grid1.ci.uchicago.edu/11827.1233702664/x509_up)
not found.]
which is a strange looking error.
I'd expect credential errors if your proxy just expired (please paste the
output of grid-proxy-info from the same session that you ran this swift
invocation from, if you still have it).
But I wouldn't expect the error message to have a path to a credential
inside what looks like the remote job directory.
--
From aespinosa at cs.uchicago.edu Tue Feb 3 18:33:25 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 3 Feb 2009 18:33:25 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To: <50b07b4b0902031632o16e58973pb8208fd6cffd49b9@mail.gmail.com>
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
<50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
<498860B6.7010307@mcs.anl.gov>
<50b07b4b0902031020r125169d2t61e828e4bea07da8@mail.gmail.com>
<50b07b4b0902031557p1e541894gb2ef11254c8bc308@mail.gmail.com>
<50b07b4b0902031632o16e58973pb8208fd6cffd49b9@mail.gmail.com>
Message-ID: <50b07b4b0902031633o211b1fe4oecc44e73476f3907@mail.gmail.com>
My proxy certificate was freshly renewed when i submitted the job.
so it is looking for a proxy certificate in the remote site?
[aespinosa at communicado ~]$ grid-proxy-info
subject : /DC=org/DC=doegrids/OU=People/CN=Allan M. Espinosa
374652/CN=1242752696
issuer : /DC=org/DC=doegrids/OU=People/CN=Allan M. Espinosa 374652
identity : /DC=org/DC=doegrids/OU=People/CN=Allan M. Espinosa 374652
type : Proxy draft (pre-RFC) compliant impersonation proxy
strength : 512 bits
path : /tmp/x509up_u1600
timeleft : 10:38:32
On Tue, Feb 3, 2009 at 6:11 PM, Ben Clifford wrote:
>
> On Tue, 3 Feb 2009, Allan Espinosa wrote:
>
>> Does this mean that the "cp" calls fail after a while?
>
> It means something failed. In the log, I see this:
>
>> org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException:
> Invalid GSSCredentials
>
> and
>
>> Caused by: GSSException: Defective credential detected [Caused by:
>> [JGLOBUS-5] Proxy file
>> (/home/aespinosa/.globus/job/tp-grid1.ci.uchicago.edu/11827.1233702664/x509_up)
> not found.]
>
> which is a strange looking error.
>
> I'd expect credential errors if your proxy just expired (please paste the
> output of grid-proxy-info from the same session that you ran this swift
> invocation from, if you still have it).
>
> But I wouldn't expect the error message to have a path to a credential
> inside what looks like the remote job directory.
>
> --
>
>
--
Allan M. Espinosa
PhD student, Computer Science
University of Chicago
--
Allan M. Espinosa
PhD student, Computer Science
University of Chicago
From hategan at mcs.anl.gov Tue Feb 3 18:34:15 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Tue, 03 Feb 2009 18:34:15 -0600
Subject: [Swift-user] mixing gram execution and local filesystem providers
In-Reply-To:
References: <50b07b4b0901312238k55330bb7gb3a0922fb60f1bb0@mail.gmail.com>
<50b07b4b0902021140l64290db1u57ad652025c5182c@mail.gmail.com>
<50b07b4b0902021203m45dccb32k8e0b94272e320842@mail.gmail.com>
<50b07b4b0902021211j6d11ea15t32d923464da55b1@mail.gmail.com>
<50b07b4b0902021252y71db65dfxf4317a323e4b5540@mail.gmail.com>
<498860B6.7010307@mcs.anl.gov>
<50b07b4b0902031020r125169d2t61e828e4bea07da8@mail.gmail.com>
<50b07b4b0902031557p1e541894gb2ef11254c8bc308@mail.gmail.com>
Message-ID: <1233707655.12879.0.camel@localhost>
On Wed, 2009-02-04 at 00:11 +0000, Ben Clifford wrote:
> On Tue, 3 Feb 2009, Allan Espinosa wrote:
>
> > Does this mean that the "cp" calls fail after a while?
>
> It means something failed. In the log, I see this:
>
> > org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException:
> Invalid GSSCredentials
>
> and
>
> > Caused by: GSSException: Defective credential detected [Caused by:
> > [JGLOBUS-5] Proxy file
> > (/home/aespinosa/.globus/job/tp-grid1.ci.uchicago.edu/11827.1233702664/x509_up)
> not found.]
>
> which is a strange looking error.
>
> I'd expect credential errors if your proxy just expired (please paste the
> output of grid-proxy-info from the same session that you ran this swift
> invocation from, if you still have it).
>
> But I wouldn't expect the error message to have a path to a credential
> inside what looks like the remote job directory.
Unless it's a delegated credential and the error happens in a gram job?
From aespinosa at cs.uchicago.edu Wed Feb 4 14:43:21 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Wed, 4 Feb 2009 14:43:21 -0600
Subject: [Swift-user] local coaster looking for credential (was Re: mixing
gram execution and local filesystem providers)
Message-ID: <50b07b4b0902041243w3ff221c5s69dadf6f19c22a9d@mail.gmail.com>
Do coasters always need a proxy certificate? This was found in my log
when i executed using the "local:pbs" job manager
Caused by: org.globus.gsi.GlobusCredentialException: [JGLOBUS-5] Proxy
file (/tmp/x509up_u1600) not found.
at org.globus.gsi.GlobusCredential.(GlobusCredential.java:114)
at org.globus.gsi.GlobusCredential.reloadDefaultCredential(GlobusCredential.java:590)
full log in: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090204-1438-9vr02924.log
sites.xml:
fast
00:30:00
/disks/tp-gpfs/scratch/aespinosa
-Allan
On Tue, Feb 3, 2009 at 6:11 PM, Ben Clifford wrote:
>
> On Tue, 3 Feb 2009, Allan Espinosa wrote:
>
>> Does this mean that the "cp" calls fail after a while?
>
> It means something failed. In the log, I see this:
>
>> org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException:
> Invalid GSSCredentials
>
> and
>
>> Caused by: GSSException: Defective credential detected [Caused by:
>> [JGLOBUS-5] Proxy file
>> (/home/aespinosa/.globus/job/tp-grid1.ci.uchicago.edu/11827.1233702664/x509_up)
> not found.]
>
> which is a strange looking error.
>
> I'd expect credential errors if your proxy just expired (please paste the
> output of grid-proxy-info from the same session that you ran this swift
> invocation from, if you still have it).
>
> But I wouldn't expect the error message to have a path to a credential
> inside what looks like the remote job directory.
From wilde at mcs.anl.gov Wed Feb 4 14:50:20 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Wed, 04 Feb 2009 14:50:20 -0600
Subject: [Swift-user] local coaster looking for credential (was Re: mixing
gram execution and local filesystem providers)
In-Reply-To: <50b07b4b0902041243w3ff221c5s69dadf6f19c22a9d@mail.gmail.com>
References: <50b07b4b0902041243w3ff221c5s69dadf6f19c22a9d@mail.gmail.com>
Message-ID: <4989FF8C.3050106@mcs.anl.gov>
What filenames are you mapping? Is it perhaps trying to use gridftp to
access them?
What if you use the tag instead of ?
- Mike
On 2/4/09 2:43 PM, Allan Espinosa wrote:
> Do coasters always need a proxy certificate? This was found in my log
> when i executed using the "local:pbs" job manager
>
> Caused by: org.globus.gsi.GlobusCredentialException: [JGLOBUS-5] Proxy
> file (/tmp/x509up_u1600) not found.
> at org.globus.gsi.GlobusCredential.(GlobusCredential.java:114)
> at org.globus.gsi.GlobusCredential.reloadDefaultCredential(GlobusCredential.java:590)
>
> full log in: http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090204-1438-9vr02924.log
> sites.xml:
>
> fast
> key="coasterWorkerMaxwalltime">00:30:00
>
>
> /disks/tp-gpfs/scratch/aespinosa
>
>
> -Allan
>
>
> On Tue, Feb 3, 2009 at 6:11 PM, Ben Clifford wrote:
>> On Tue, 3 Feb 2009, Allan Espinosa wrote:
>>
>>> Does this mean that the "cp" calls fail after a while?
>> It means something failed. In the log, I see this:
>>
>>> org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException:
>> Invalid GSSCredentials
>>
>> and
>>
>>> Caused by: GSSException: Defective credential detected [Caused by:
>>> [JGLOBUS-5] Proxy file
>>> (/home/aespinosa/.globus/job/tp-grid1.ci.uchicago.edu/11827.1233702664/x509_up)
>> not found.]
>>
>> which is a strange looking error.
>>
>> I'd expect credential errors if your proxy just expired (please paste the
>> output of grid-proxy-info from the same session that you ran this swift
>> invocation from, if you still have it).
>>
>> But I wouldn't expect the error message to have a path to a credential
>> inside what looks like the remote job directory.
> _______________________________________________
> Swift-user mailing list
> Swift-user at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
From hategan at mcs.anl.gov Wed Feb 4 14:58:57 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Wed, 4 Feb 2009 14:58:57 -0600 (CST)
Subject: [Swift-user] local coaster looking for credential (was Re:
mixing gram execution and local filesystem providers)
In-Reply-To: <50b07b4b0902041243w3ff221c5s69dadf6f19c22a9d@mail.gmail.com>
Message-ID: <8848533.1789051233781137932.JavaMail.root@zimbra>
Yes. Coasters always need a valid proxy certificate.
----- "Allan Espinosa" wrote:
> Do coasters always need a proxy certificate? This was found in my
> log
> when i executed using the "local:pbs" job manager
>
> Caused by: org.globus.gsi.GlobusCredentialException: [JGLOBUS-5]
> Proxy
> file (/tmp/x509up_u1600) not found.
> at
> org.globus.gsi.GlobusCredential.(GlobusCredential.java:114)
> at
> org.globus.gsi.GlobusCredential.reloadDefaultCredential(GlobusCredential.java:590)
>
> full log in:
> http://www.ci.uchicago.edu/~aespinosa/swift/blast-20090204-1438-9vr02924.log
> sites.xml:
>
> fast
> key="coasterWorkerMaxwalltime">00:30:00
> />
>
> /disks/tp-gpfs/scratch/aespinosa
>
>
> -Allan
>
>
> On Tue, Feb 3, 2009 at 6:11 PM, Ben Clifford
> wrote:
> >
> > On Tue, 3 Feb 2009, Allan Espinosa wrote:
> >
> >> Does this mean that the "cp" calls fail after a while?
> >
> > It means something failed. In the log, I see this:
> >
> >>
> org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException:
> > Invalid GSSCredentials
> >
> > and
> >
> >> Caused by: GSSException: Defective credential detected [Caused by:
> >> [JGLOBUS-5] Proxy file
> >>
> (/home/aespinosa/.globus/job/tp-grid1.ci.uchicago.edu/11827.1233702664/x509_up)
> > not found.]
> >
> > which is a strange looking error.
> >
> > I'd expect credential errors if your proxy just expired (please
> paste the
> > output of grid-proxy-info from the same session that you ran this
> swift
> > invocation from, if you still have it).
> >
> > But I wouldn't expect the error message to have a path to a
> credential
> > inside what looks like the remote job directory.
> _______________________________________________
> Swift-user mailing list
> Swift-user at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
From wilde at mcs.anl.gov Wed Feb 4 17:02:32 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Wed, 04 Feb 2009 17:02:32 -0600
Subject: [Swift-user] Expanding arrays in app function command lines
In-Reply-To:
References: <497E02DB.8040904@mcs.anl.gov>
<497F35CE.8070709@mcs.anl.gov>
Message-ID: <498A1E88.5040907@mcs.anl.gov>
Is the expansion of structs into the command line not yet implemented,
in the latest patch for expanding arrays?
(vdlarg-1.patch) which I have applied.
On 1/27/09 10:29 AM, Ben Clifford wrote:
> On Tue, 27 Jan 2009, Michael Wilde wrote:
>
>> - array of other scalar types, coerced into string in the cmd line
>
> I think that might already happen.
>
> Everything apart from struct has a pretty natural expansion into string
> args. The source-code order of fields for structs is probably the best,
> unless someone comes up with a better idea.
This program:
//---
type file;
type struct { string a; string b; };
struct s;
s.a = "a=123";
s.b = "b=456";
app (file o) echo (struct s) { echo s stdout=@o; }
file o<"struct.out">;
o = echo(s);
//---
produces:
com$ cat struct.out
org.griphyn.vdl.mapping.RootDataNode identifier
tag:benc at ci.uchicago.edu,2008:swift:dataset:20090204-1653-ez43h08a:720000000003
type struct with no value at dataset=s (closed)
com$
---
I get the same behavior if I also pass s.a and s.b to echo, to make sure
the fields are set before echo is called:
//---
type file;
type struct { string a; string b; };
struct s;
s.a = "a=123";
s.b = "b=456";
app (file o) echo (struct s, string i, string j) { echo "s=" s "s.a="
s.a "s.b=" s.b stdout=@o; }
file o<"struct.out">;
o = echo(s, s.a, s.b );
//---
com$ cat struct.out
s= org.griphyn.vdl.mapping.RootDataNode identifier
tag:benc at ci.uchicago.edu,2008:swift:dataset:20090204-1700-u8uet3u4:720000000006
type struct with no value at dataset=s (closed) s.a= a=123 s.b= b=456
com$
From benc at hawaga.org.uk Thu Feb 5 03:27:17 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Thu, 5 Feb 2009 09:27:17 +0000 (GMT)
Subject: [Swift-user] Expanding arrays in app function command lines
In-Reply-To: <498A1E88.5040907@mcs.anl.gov>
References: <497E02DB.8040904@mcs.anl.gov>
<497F35CE.8070709@mcs.anl.gov>
<498A1E88.5040907@mcs.anl.gov>
Message-ID:
On Wed, 4 Feb 2009, Michael Wilde wrote:
> Is the expansion of structs into the command line not yet implemented, in the
> latest patch for expanding arrays?
> (vdlarg-1.patch) which I have applied.
Its not implemented. I thought I'd made it throw a type checking error in
that case, but apparently not.
Lines like this are the output of naively trying to turn an arbitrary
dataset into a string:
> org.griphyn.vdl.mapping.RootDataNode identifier
> tag:benc at ci.uchicago.edu,2008:swift:dataset:20090204-1653-ez43h08a:720000000003
> type struct with no value at dataset=s (closed)
> I get the same behavior if I also pass s.a and s.b to echo, to make sure the
> fields are set before echo is called:
It should (although I'm not entirely sure if it actually does) not invoke
the procedure until all of s is set, if you pass in s.
--
From wilde at mcs.anl.gov Sat Feb 7 10:24:41 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Sat, 07 Feb 2009 10:24:41 -0600
Subject: [Swift-user] mapper for internet resources
In-Reply-To: <32078b1e0902070144te6862b4mfa11c2ba65fa529e@mail.gmail.com>
References: <32078b1e0902070144te6862b4mfa11c2ba65fa529e@mail.gmail.com>
Message-ID: <498DB5C9.1030108@mcs.anl.gov>
Uri, I took the liberty of replying via swift-user.
Thats the best place to send these questions.
Swift can do this already, as below.
A mapper can map an ordinary file as a local file name (relative or
absolute), or an http:// or gsiftp:// URI. (Perhaps others a well, I
think, eg, ftp:// depending on the underlying CoG and Globus APIs.)
- Mike
------
type file;
app (file f) afniapp (file u) { cat @u stdout=@f; }
file mydata <"http://www.ci.uchicago.edu/~wilde/mydata.txt">;
file output <"gotit.txt">;
output = afniapp(mydata);
On 2/7/09 3:44 AM, Uri Hasson wrote:
> Hi all,
>
> Is there currently a way to use swift mappers to access internet resources?
>
> That is, rather than have a file as input, have a "url" mapper than
> can manage something like this:
>
> AFNI_obj normalized prefix=@strcat("http://www.mysite.com/somepath/audioTScat_nrmlzdPerChng.",subject,"+orig.")>;.
>
> This would enable us to run a swift script on inputs from other file
> systems (for Read processes).
>
> Writing files will need to be to the machine where swift is running from.
>
> Best,
> Uri
From wilde at mcs.anl.gov Sat Feb 7 10:44:41 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Sat, 07 Feb 2009 10:44:41 -0600
Subject: [Swift-user] mapper for internet resources
In-Reply-To: <498DB5C9.1030108@mcs.anl.gov>
References: <32078b1e0902070144te6862b4mfa11c2ba65fa529e@mail.gmail.com>
<498DB5C9.1030108@mcs.anl.gov>
Message-ID: <498DBA79.2050709@mcs.anl.gov>
Also:
>> Writing files will need to be to the machine where swift is running
from.
You can write files to any gridftp server by mapping to a gsiftp:// URI,
as with input.
As far as I understand, the gsiftp provider can support: http, https,
ftp, and gsiftp URIs, with the gridftp data provider, in
sites.xml.
If the uri works with globus-url-copy I think it will work with the
gridftp provider.
I think that Swift can also accept other providers from the CoG toolkit,
such as scp and webdav. See
http://www.ci.uchicago.edu/swift/guides/userguide.php#id2745803
for using scp. We should test and document hos to use webdav.
Perhaps Mihael or Ben can verify and clarify the above.
- Mike
On 2/7/09 10:24 AM, Michael Wilde wrote:
> Uri, I took the liberty of replying via swift-user.
> Thats the best place to send these questions.
>
> Swift can do this already, as below.
>
> A mapper can map an ordinary file as a local file name (relative or
> absolute), or an http:// or gsiftp:// URI. (Perhaps others a well, I
> think, eg, ftp:// depending on the underlying CoG and Globus APIs.)
>
> - Mike
>
> ------
>
> type file;
>
> app (file f) afniapp (file u) { cat @u stdout=@f; }
>
> file mydata <"http://www.ci.uchicago.edu/~wilde/mydata.txt">;
> file output <"gotit.txt">;
>
> output = afniapp(mydata);
>
>
> On 2/7/09 3:44 AM, Uri Hasson wrote:
>> Hi all,
>>
>> Is there currently a way to use swift mappers to access internet
>> resources?
>>
>> That is, rather than have a file as input, have a "url" mapper than
>> can manage something like this:
>>
>> AFNI_obj normalized> prefix=@strcat("http://www.mysite.com/somepath/audioTScat_nrmlzdPerChng.",subject,"+orig.")>;.
>>
>>
>> This would enable us to run a swift script on inputs from other file
>> systems (for Read processes).
>>
>> Writing files will need to be to the machine where swift is running from.
>>
>> Best,
>> Uri
> _______________________________________________
> Swift-user mailing list
> Swift-user at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
From hategan at mcs.anl.gov Sat Feb 7 11:58:50 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sat, 7 Feb 2009 11:58:50 -0600 (CST)
Subject: [Swift-user] mapper for internet resources
In-Reply-To: <498DB5C9.1030108@mcs.anl.gov>
Message-ID: <32192206.1951551234029530606.JavaMail.root@zimbra>
----- Michael Wilde wrote:
> Uri, I took the liberty of replying via swift-user.
> Thats the best place to send these questions.
>
> Swift can do this already, as below.
>
> A mapper can map an ordinary file as a local file name (relative or
> absolute), or an http:// or gsiftp:// URI. (Perhaps others a well, I
> think, eg, ftp:// depending on the underlying CoG and Globus APIs.)
ftp should be supported.
From hategan at mcs.anl.gov Sat Feb 7 12:05:47 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Sat, 7 Feb 2009 12:05:47 -0600 (CST)
Subject: [Swift-user] mapper for internet resources
In-Reply-To: <498DBA79.2050709@mcs.anl.gov>
Message-ID: <30478411.1951611234029947420.JavaMail.root@zimbra>
----- Michael Wilde wrote:
> Also:
>
> >> Writing files will need to be to the machine where swift is running
> from.
>
> You can write files to any gridftp server by mapping to a gsiftp:// URI,
> as with input.
>
> As far as I understand, the gsiftp provider can support: http, https,
> ftp, and gsiftp URIs, with the gridftp data provider, in
> sites.xml.
The gsiftp provider only deals with gsiftp. There are other
providers for ftp and http, but I think http is in read only mode.
However, you don't need to care which provider implements a protocol
if it is supported. Just write the URL and see if it works.
>
> If the uri works with globus-url-copy I think it will work with the
> gridftp provider.
The cog globus-url-copy is built on slightly different APIs than Swift,
so that statement is not, in general, correct.
From benc at hawaga.org.uk Sun Feb 8 06:38:25 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Sun, 8 Feb 2009 12:38:25 +0000 (GMT)
Subject: [Swift-user] mapper for internet resources
In-Reply-To: <498DBA79.2050709@mcs.anl.gov>
References: <32078b1e0902070144te6862b4mfa11c2ba65fa529e@mail.gmail.com>
<498DB5C9.1030108@mcs.anl.gov> <498DBA79.2050709@mcs.anl.gov>
Message-ID:
On Sat, 7 Feb 2009, Michael Wilde wrote:
> As far as I understand, the gsiftp provider can support: http, https, ftp, and
> gsiftp URIs, with the gridftp data provider, in sites.xml.
In addition to the clarification that mihael gave, the above commentary is
incorrect - the (or ) entry in sites.xml specifies
the mechanism used to access the site-side filesystem, not the mechanism
used to access submit-side data.
--
From wilde at mcs.anl.gov Sun Feb 8 10:16:19 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Sun, 08 Feb 2009 10:16:19 -0600
Subject: [Swift-user] mapper for internet resources
In-Reply-To:
References: <32078b1e0902070144te6862b4mfa11c2ba65fa529e@mail.gmail.com>
<498DB5C9.1030108@mcs.anl.gov> <498DBA79.2050709@mcs.anl.gov>
Message-ID: <498F0553.5060008@mcs.anl.gov>
On 2/8/09 6:38 AM, Ben Clifford wrote:
> On Sat, 7 Feb 2009, Michael Wilde wrote:
>
>> As far as I understand, the gsiftp provider can support: http, https, ftp, and
>> gsiftp URIs, with the gridftp data provider, in sites.xml.
>
> In addition to the clarification that mihael gave, the above commentary is
> incorrect - the (or ) entry in sites.xml specifies
> the mechanism used to access the site-side filesystem, not the mechanism
> used to access submit-side data.
This would be good to clarify in the users guide in sec 3, Mappers,
where we should say what kinds of URIs a mapper can specify to denote
the "submit-side data"; sec 5.2, "notes on how swift implements file
input and output"; and sec 13.2 when we describe how the site work
directory is specified and accessed.
In 5.2 we say "The Swift client side selects a site; copies the input
files for that procedure call to the site shared file cache if they are
not already in the cache, using the file transfer mechanism; and then
invokes the wrapper script on that site using the execution mechanism. "
We should clarify that mappings specify the source and destinations of
input and output files, and that a variety of forms of URIs and
pathnames can be specified in the mapping declaration.
We should state how and when output data is copied back to its mapped
location.
From wilde at mcs.anl.gov Fri Feb 13 16:08:00 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Fri, 13 Feb 2009 16:08:00 -0600
Subject: [Swift-user] Thoughts on a data dependency issues
Message-ID: <4995EF40.4030304@mcs.anl.gov>
I'm looking for advice on scripting the following in Swift:
One of the inputs to the DOCK app is a protein description that has been
run through a time-intensive prep application stage called GRID to
produce a binary description of the protein structure in a format that
is machine-architecture specific.
Essentially what we have is the following 2-stage workflow:
gridfile = grid (protein)
forach c, i in compoundList
dockfile[i] = dock (protein, gridfile, c)
To be conservative, we generate the gridfiles on the same host that the
DOCK stage of the application will run on. Theoretically we could
generate one gridfile per architecture, and then let send the right
architecture file to the dock app.
I would like to trigger the generation of the "grid" file from the swift
script.
This presents two problems:
1) we dont know what machine the dock will run on, and
2) we need a way to name the grid file so that it can be cached for
later use by multiple docks.
This is not a problem in single-site environments, but if each dock job
could run on a site having one of several architectures, its more
challenging.
Certainly one way is to hide the gridfile and the grid() stage from
Swift, and thats not a problem.
Another approach is to name the gridfiles with an architecture suffix,
eg 1UBQ.grid.x86, .x86-64, .ppc. etc. and pass all the archs to each
dock() app. That would cause excess data traffic, but not too bad if
they are only moved once. Then an app wrapper dynamically picks the
right arch file.
An interesting case/feature, perhaps, is some new swift option to say
dont transfer the file, just pass the filename, and send a uri (returned
by the mapper) that an app wrapper can fetch dynamically.
(this verges on a discussion for swift-devel) if no one sees other
clever ways to express this.
This is a low-prio issue, as we work around it by pre-generating the
grid files or running on just one arch.
- Mike
From benc at hawaga.org.uk Fri Feb 13 16:30:26 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Fri, 13 Feb 2009 22:30:26 +0000 (GMT)
Subject: [Swift-user] Thoughts on a data dependency issues
In-Reply-To: <4995EF40.4030304@mcs.anl.gov>
References: <4995EF40.4030304@mcs.anl.gov>
Message-ID:
There's a similar situation when staging in applications in the way that
Mats and I did for his sample application - if you have multiple
architectures, and are staging in an application, then it would be nice to
parameterise which file goes in by selected site.
That does really slightly wierd stuff with dependencies, though - the set
of sites available for a particular job then depends on which intermediate
files have been created, and perhaps introduces something like the
non-deterministic dependencies that have been talked about before: compute
these 7 files on 7 different sites, and then whichever one finishes first,
use that.
> An interesting case/feature, perhaps, is some new swift option to say
> dont transfer the file, just pass the filename, and send a uri (returned
> by the mapper) that an app wrapper can fetch dynamically.
There is an 'extern' type for representing dependencies on data that is
not managed by Swift. No mapping happens, and you get to move data round
however you want. Performing your own staging from your own data store,
for example by pulling something from a URI that you have constructed
yourself, using your own application-side data retrieval mechanism seems a
reasonable use case for 'extern'.
Beyond that, I don't know if any further support is needed from Swift -
try it and see.
--
From wilde at mcs.anl.gov Fri Feb 20 07:07:31 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Fri, 20 Feb 2009 07:07:31 -0600
Subject: [Swift-user] Questions on use of iterate statement
Message-ID: <499EAB13.5050401@mcs.anl.gov>
Im trying to use iterate to test successive sets of parallel simulations
for a termination condition, and can't find a way to do this.
Ive distilled, I think, the problem down to the following.
One can say this:
iterate i {
int j = i * i;
trace(j);
} until (i>3);
but not this:
iterate i {
int j = i * i;
trace(j);
} until (j>15);
because the value j, computed by the "simulation" i*i is not in scope in
the termination condition.
In my case, the simulation is a protein fold in a parallel foreach. Each
simulation computes a set of files. After each set of parallel
simulations completes, I need to check the set of result files to see if
they have achieved a termination condition (either reached a
threshold or a limit on the number of attempts).
I may be stumbling on some strange array closing problems in the real
case, so Ive tried to distill the problem into a simpler test case.
The current "real" code is pasted at the end of this message (lines are
wrapped; file is http://www.ci.uchicago.edu/~wilde/oops8.swift).
An east-to-run test case which I think shows a similar problem is this:
string protein[] = ["prot1","prot2"];
int iter[] = [0,1,2];
(boolean rc) done (int i[]) // fake termination test
{
if (i[0] == 3) {
rc = true;
}
else {
rc = false;
}
}
foreach p in protein {
iterate i { // do sets of parallel simulations
// until convergence achieved or limit reached
int result[]; // Holds results of 1 set of parallel simulations
foreach j in iter { // do a set of "iter" simulations in parallel
string out=@strcat("output/r",i,"/","prot1",".",j);
trace (out);
result[j] = i;
}
} until (i==3);
//} until (done(result));
}
This works, and produces the expected series of output trace lines.
But when i try to use the alternative termination test "done(result)" I get:
Could not start execution.
Compile error in foreach statement at line 15: Compile error in
procedure invocation at line 25: Variable result is undefined.
because, as in the trivial initial example, the array results is out of
scope at that point. I cant figure out how to write a termination
expression that can access the values from within the iterate{} body.
So how do I pass the results of the set of simulation to a function like
"done()" to check a termination condition?
My real code (below) hangs after the first set of simulations, which
makes me think that it is (perhaps, in addition to the problem above)
stumbling into an array closing issue. But I think that a solution to
the mock simulation example above may help me solve the actual problem.
Thanks,
Mike
--
The current "real" code is below (lines are wrapped; file is
http://www.ci.uchicago.edu/~wilde/oops8.swift).
type Fasta;
type SecSeq;
type PDB;
type RetValFile;
type OOPSSecStr;
type OOPSLog;
type OOPSEnergy;
type OOPSpdt;
type OOPSrmsd;
type OOPSLibrary;
app (OOPSpdt pdt, OOPSEnergy e, OOPSLibrary lib, OOPSSecStr secstr,
OOPSrmsd rmsd, OOPSLog log)
runoops (Fasta fasta, SecSeq secseq, PDB pdb, int jobnum, string
cfgParams[])
{ simoops @fasta @secseq @pdb @pdt @rmsd jobnum cfgParams stdout=@log; }
app (RetValFile rv) roundDoneTest ( OOPSpdt pdts[] )
{ testifdone @filename(pdts[0]) @rv; }
(int rc) roundDone (OOPSpdt pdts[] ) { RetValFile rv =
roundDoneTest(pdts); rc = readData(@rv); }
string config [] = readData(@arg("params"));
int iter[]=[ 0 : @toint(@arg("niter","1")) - 1 ];
string protein[] = readData(@arg("plist"));
foreach p in protein {
iterate i {
OOPSpdt result[];
foreach j in iter {
// map inputs
Fasta fasta
;
SecSeq secseq
;
PDB native
;
// map outputs
string out=@strcat("output/r",i,"/",p,".",j);
OOPSpdt pdt ;
OOPSEnergy e ;
OOPSLibrary lib
;
OOPSSecStr secstr
;
OOPSrmsd rmsd ;
OOPSLog log ;
// run oops
( pdt, e, lib, secstr, rmsd, log) = runoops( fasta, secseq,
native, j, config );
result[j] = pdt;
}
} until (roundDone(result) == 1);
}
From benc at hawaga.org.uk Fri Feb 20 07:45:59 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Fri, 20 Feb 2009 13:45:59 +0000 (GMT)
Subject: [Swift-user] Questions on use of iterate statement
In-Reply-To: <499EAB13.5050401@mcs.anl.gov>
References: <499EAB13.5050401@mcs.anl.gov>
Message-ID:
In many (all?) cases you should be able to declare an array outside of the
iteration, with each element of the array holding the result of each step,
like this:
int j[];
iterate i {
j[i] = i * i;
trace(j[i]);
} until (j[i]>15);
That was the main way in which I invisioned iterate being used when I
implemented it, i think, so that you would map steps of your iteration
using a single mapper declaration on j[] rather than inside the iteration
body. That comes from imagining it as something like a functional 'unfold'
expression (eg
http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html#9)
where entire structures such as lists are constructed as a single
expression.
It seems reasonable that body variables be made available to the
termination expression, though, to support the style that you attempted,
so I'll put that in the bugzilla as a language feature request.
--
From wilde at mcs.anl.gov Fri Feb 20 09:14:34 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Fri, 20 Feb 2009 09:14:34 -0600
Subject: [Swift-user] Questions on use of iterate statement
In-Reply-To:
References: <499EAB13.5050401@mcs.anl.gov>
Message-ID: <499EC8DA.70304@mcs.anl.gov>
OK. I was cinsidering that, but I'll need to use a 2-d array as the
simulation itself generates a vector of results.
I'll try this.
Thanks,
Mike
On 2/20/09 7:45 AM, Ben Clifford wrote:
> In many (all?) cases you should be able to declare an array outside of the
> iteration, with each element of the array holding the result of each step,
> like this:
>
> int j[];
> iterate i {
> j[i] = i * i;
> trace(j[i]);
> } until (j[i]>15);
>
> That was the main way in which I invisioned iterate being used when I
> implemented it, i think, so that you would map steps of your iteration
> using a single mapper declaration on j[] rather than inside the iteration
> body. That comes from imagining it as something like a functional 'unfold'
> expression (eg
> http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html#9)
> where entire structures such as lists are constructed as a single
> expression.
>
> It seems reasonable that body variables be made available to the
> termination expression, though, to support the style that you attempted,
> so I'll put that in the bugzilla as a language feature request.
>
From benc at hawaga.org.uk Fri Feb 20 09:17:37 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Fri, 20 Feb 2009 15:17:37 +0000 (GMT)
Subject: [Swift-user] Questions on use of iterate statement
In-Reply-To: <499EC8DA.70304@mcs.anl.gov>
References: <499EAB13.5050401@mcs.anl.gov>
<499EC8DA.70304@mcs.anl.gov>
Message-ID:
On Fri, 20 Feb 2009, Michael Wilde wrote:
> OK. I was cinsidering that, but I'll need to use a 2-d array as the simulation
> itself generates a vector of results.
You should be able to have arrays of many dimensions.
--
From zvalim at gmail.com Fri Feb 20 09:52:21 2009
From: zvalim at gmail.com (U.H)
Date: Fri, 20 Feb 2009 16:52:21 +0100
Subject: [Swift-user] using swift in an IP-impoverished environment
Message-ID: <32078b1e0902200752y59dff7e7p44c6788dfd4f001c@mail.gmail.com>
Dear Swift experts,
I want to run swift in my new location, which is an institution with a
relatively restricted IP allocation and a particular knack for
centralization. As a result, the entire computer network of my center
is behind a NAT/Firewall.
I am exploring options to run swift in this scenario but before
pursuing them further wanted to consult the collective experience.
1. Perhaps run via vpn. I can open a vpn connection from a linux
machine. That way I obtain a visible IP address. But, the linux client
vpn crashes often, which has to do with the microsoft vpn system
installed here. And I am not certain there's a proper hostname
associated with the IP obtained via VPN, which, if I understand
correctly is a Globus requirement.
2. Run behind NAT/Firewall. I found a document describing client-side
reqs for this kind of situation here
(http://dev.globus.org/wiki/FirewallHowTo section called "Network
Address Translation (NAT)").
Does anyone have experience in running swift in this mode?
Best,
Uri
From benc at hawaga.org.uk Fri Feb 20 09:59:48 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Fri, 20 Feb 2009 15:59:48 +0000 (GMT)
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To: <32078b1e0902200752y59dff7e7p44c6788dfd4f001c@mail.gmail.com>
References: <32078b1e0902200752y59dff7e7p44c6788dfd4f001c@mail.gmail.com>
Message-ID:
> I want to run swift in my new location, which is an institution with a
> relatively restricted IP allocation and a particular knack for
> centralization. As a result, the entire computer network of my center
> is behind a NAT/Firewall.
> I am exploring options to run swift in this scenario but before
> pursuing them further wanted to consult the collective experience.
Can you run swift on a machine that is behind the firewall? (eg log into a
cluster head node and run there?)
> 1. Perhaps run via vpn. I can open a vpn connection from a linux
> machine. That way I obtain a visible IP address. But, the linux client
> vpn crashes often, which has to do with the microsoft vpn system
> installed here. And I am not certain there's a proper hostname
> associated with the IP obtained via VPN, which, if I understand
> correctly is a Globus requirement.
Having an unreliable connection will make Swift runs probably a bit
unreliable, but I don't know how bad that will be.
You don't need a real hostname on your submitting machine. You might need
to set an environment variable GLOBUS_HOSTNAME to your VPN IP address,
like this in the shell:
export GLOBUS_HOSTNAME=81.187.211.41
That is what I do to submit from my laptop when I have it in various
different network locations (where 81.187.211.41 is replaced with whatever
my IP happens to be at that time)
> 2. Run behind NAT/Firewall. I found a document describing client-side
> reqs for this kind of situation here
> (http://dev.globus.org/wiki/FirewallHowTo section called "Network
> Address Translation (NAT)").
> Does anyone have experience in running swift in this mode?
I've never run it from behind a NAT.
--
From hategan at mcs.anl.gov Fri Feb 20 10:05:19 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 10:05:19 -0600
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To:
References: <32078b1e0902200752y59dff7e7p44c6788dfd4f001c@mail.gmail.com>
Message-ID: <1235145919.5393.16.camel@localhost>
On Fri, 2009-02-20 at 15:59 +0000, Ben Clifford wrote:
> > 2. Run behind NAT/Firewall. I found a document describing client-side
> > reqs for this kind of situation here
> > (http://dev.globus.org/wiki/FirewallHowTo section called "Network
> > Address Translation (NAT)").
> > Does anyone have experience in running swift in this mode?
>
> I've never run it from behind a NAT.
>
I do that fairly often.
It involves forwarding a range of ports (a hundred of them or more) to
your "submit" machine, setting GLOBUS_TCP_PORT_RANGE to that range and
making sure that GLOBUS_HOSTNAME has your external IP address.
From fedorov at cs.wm.edu Fri Feb 20 12:32:35 2009
From: fedorov at cs.wm.edu (Andriy Fedorov)
Date: Fri, 20 Feb 2009 13:32:35 -0500
Subject: [Swift-user] using swift in an IP-impoverished environment
Message-ID: <82f536810902201032r1fb41270t9451cd46d0c45057@mail.gmail.com>
> On Fri, 2009-02-20 at 15:59 +0000, Ben Clifford wrote:
>> > 2. Run behind NAT/Firewall. I found a document describing client-side
>> > reqs for this kind of situation here
>> > (http://dev.globus.org/wiki/FirewallHowTo section called "Network
>> > Address Translation (NAT)").
>> > Does anyone have experience in running swift in this mode?
>>
>> I've never run it from behind a NAT.
>>
>
> I do that fairly often.
>
> It involves forwarding a range of ports (a hundred of them or more) to
> your "submit" machine, setting GLOBUS_TCP_PORT_RANGE to that range and
> making sure that GLOBUS_HOSTNAME has your external IP address.
>
Mihael,
I am not familiar at all with NAT, but I have a similar configuration
of the network, with all organization hosts behind the firewall, and
with no control over firewall configuration. I thought it is not
possible to run swift client with full functionality supported in such
an environment. In my organization, in order to log to a host from
outside, I need to first ge authenticated with the gatekeeper host,
which will next allow me to log on an intranet host.
It seems to me unlikely that it is possible to configure a host behind
a firewall in such a way that allows direct connection to that host
avoiding the firewall. Seems like a security breach... Unless NAT has
to be configured on the firewall host, which is not an option for me.
If I was wrong, could you give some more details on how something like
this can be configured with NAT or anything else?
Thanks
Andriy Fedorov
From benc at hawaga.org.uk Fri Feb 20 12:38:53 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Fri, 20 Feb 2009 18:38:53 +0000 (GMT)
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To: <82f536810902201032r1fb41270t9451cd46d0c45057@mail.gmail.com>
References: <82f536810902201032r1fb41270t9451cd46d0c45057@mail.gmail.com>
Message-ID:
On Fri, 20 Feb 2009, Andriy Fedorov wrote:
> avoiding the firewall. Seems like a security breach... Unless NAT has to
> be configured on the firewall host, which is not an option for me.
Mihael's comment:
| It involves forwarding a range of ports (a hundred of them or more)
I think pretty much needs to be configured on the NAT/firewall machine
(which I suspect in his case is the linksys router sitting in the corner
of his living room, and to which he has admin privs).
--
From fedorov at cs.wm.edu Fri Feb 20 12:54:32 2009
From: fedorov at cs.wm.edu (Andriy Fedorov)
Date: Fri, 20 Feb 2009 13:54:32 -0500
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To:
References: <82f536810902201032r1fb41270t9451cd46d0c45057@mail.gmail.com>
Message-ID: <82f536810902201054g68f835bcq891cb74c33aceebf@mail.gmail.com>
On Fri, Feb 20, 2009 at 1:38 PM, Ben Clifford wrote:
>
> On Fri, 20 Feb 2009, Andriy Fedorov wrote:
>
>> avoiding the firewall. Seems like a security breach... Unless NAT has to
>> be configured on the firewall host, which is not an option for me.
>
> Mihael's comment:
>
> | It involves forwarding a range of ports (a hundred of them or more)
>
> I think pretty much needs to be configured on the NAT/firewall machine
> (which I suspect in his case is the linksys router sitting in the corner
> of his living room, and to which he has admin privs).
>
That's what I thought -- not an option for me.
I found a report about using ssh tunneling to solve this
http://www.hpl.hp.com/techreports/2002/HPL-2002-278.pdf
but I didn't have time/need to really study this. The report is about
GT2. But I am skeptical this solves the problem. I've seen firewall
difficulties cited as one of the major problems related to using Grids
in practice. If it was easy to solve, it would be solved by now, with
the general solution google-able...
> --
>
From hategan at mcs.anl.gov Fri Feb 20 13:36:09 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 13:36:09 -0600 (CST)
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To: <82f536810902201032r1fb41270t9451cd46d0c45057@mail.gmail.com>
Message-ID: <31341573.363201235158569558.JavaMail.root@zimbra>
----- Andriy Fedorov wrote:
> > On Fri, 2009-02-20 at 15:59 +0000, Ben Clifford wrote:
> >> > 2. Run behind NAT/Firewall. I found a document describing client-side
> >> > reqs for this kind of situation here
> >> > (http://dev.globus.org/wiki/FirewallHowTo section called "Network
> >> > Address Translation (NAT)").
> >> > Does anyone have experience in running swift in this mode?
> >>
> >> I've never run it from behind a NAT.
> >>
> >
> > I do that fairly often.
> >
> > It involves forwarding a range of ports (a hundred of them or more) to
> > your "submit" machine, setting GLOBUS_TCP_PORT_RANGE to that range and
> > making sure that GLOBUS_HOSTNAME has your external IP address.
> >
>
> Mihael,
>
> I am not familiar at all with NAT, but I have a similar configuration
> of the network, with all organization hosts behind the firewall, and
> with no control over firewall configuration.
That may be a problem.
There are two scenarios I have successfully used:
1. i2u2.org lives behind the Argonne firewall. We have ports 50000 to
50100 (I think) open for the server that runs swift. This involves no
NAT
2. At home, I have a router with firewall and NAT. I routinely run swift
from my laptop, which has a private IP address. I convince the router
to forward all requests on ports 50000 to 50100 to my internal laptop
IP, and I set the globus callback IP to the external (modem) IP. I have
been employing this scheme for years (before Swift with cog and globus).
However, you need the ability to at least ask for a range of ports to
be forwarded to your Swift machine automatically.
> I thought it is not
> possible to run swift client with full functionality supported in such
> an environment. In my organization, in order to log to a host from
> outside, I need to first ge authenticated with the gatekeeper host,
> which will next allow me to log on an intranet host.
>
> It seems to me unlikely that it is possible to configure a host behind
> a firewall in such a way that allows direct connection to that host
> avoiding the firewall. Seems like a security breach...
It is a security breach as much as explicitly allowing swift to function
is a security breach.
> Unless NAT has
> to be configured on the firewall host, which is not an option for me.
>
> If I was wrong, could you give some more details on how something like
> this can be configured with NAT or anything else?
There is also SSH tunneling. You could create an SSH tunnel to an outside
machine with its own IP and no firewall (on a range of ports) and forward
that range of ports to your swift machine. Conceptually, it's the same
scheme, except instead of control over the firewall and port forwarding,
you need (limited) control of an outside machine. But then you could run
swift on the external machine to begin with.
As for this potentially being labeled a "security breach", I can probably
say that changing the odds of a security breach occurring (and they are never
zero) is not the same as a security breach occurring.
From hategan at mcs.anl.gov Fri Feb 20 13:37:22 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 13:37:22 -0600 (CST)
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To:
Message-ID: <23284427.363301235158642388.JavaMail.root@zimbra>
----- Ben Clifford wrote:
>
> On Fri, 20 Feb 2009, Andriy Fedorov wrote:
>
> > avoiding the firewall. Seems like a security breach... Unless NAT has to
> > be configured on the firewall host, which is not an option for me.
>
> Mihael's comment:
>
> | It involves forwarding a range of ports (a hundred of them or more)
>
> I think pretty much needs to be configured on the NAT/firewall machine
> (which I suspect in his case is the linksys router sitting in the corner
> of his living room, and to which he has admin privs).
:)
That or I know the admin really well.
From hategan at mcs.anl.gov Fri Feb 20 13:39:41 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 13:39:41 -0600 (CST)
Subject: [Swift-user] using swift in an IP-impoverished environment
In-Reply-To: <82f536810902201054g68f835bcq891cb74c33aceebf@mail.gmail.com>
Message-ID: <14783524.363481235158781930.JavaMail.root@zimbra>
----- Andriy Fedorov wrote:
> If it was easy to solve, it would be solved by now, with
> the general solution google-able...
>
Not necessarily.
From zhengxiongh at uchicago.edu Fri Feb 20 14:37:57 2009
From: zhengxiongh at uchicago.edu (Zhengxiong Hou)
Date: Fri, 20 Feb 2009 14:37:57 -0600
Subject: [Swift-user] Re: oops failures on OSG
In-Reply-To: <499F0E2A.8040503@uchicago.edu>
References: <499DD953.6000607@uchicago.edu> <499E21A9.5040704@uchicago.edu>
<499E2302.60606@uchicago.edu> <499EE378.5060106@uchicago.edu>
<499F0E2A.8040503@uchicago.edu>
Message-ID: <499F14A5.8030104@uchicago.edu>
OK.
BTW, Please send me the command to run oops, I'm going to run it on OSG VO.
swift -tc.file tc.data -sites.file sites.xml oops7.swift
(and -params=???)
> Should we ask the swift user group?
>
> Zhengxiong Hou wrote:
>> Yes, I also found it from the log file.
>> Since it failed on UCSDT2-B, Swift should retried it, but it was
>> still failed, and I 'm not exactly clear why all of the rest jobs
>> were failed. So, it is swift staff.
>> Maybe, we had better use the "replication" mechanism of Swift.
>>
>> Glen Hocky wrote:
>>> Progress: Submitted:27 Active:22 Finished successfully:51
>>> Progress: Submitted:27 Active:22 Finished successfully:51
>>> Progress: Submitted:27 Active:22 Finished successfully:51
>>> Progress: Submitted:27 Active:22 Finished successfully:51
>>> Progress: Submitted:27 Active:22 Finished successfully:51
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:27 Active:21 Finished successfully:52
>>> Progress: Submitted:26 Active:22 Finished successfully:52
>>> Progress: Submitted:26 Active:22 Finished successfully:52
>>> Failed to transfer wrapper log from
>>> oops7-20090219-1827-6gqbuh81/info/o on UCSDT2-B
>>> Progress: Submitted:26 Active:21 Failed:1 Finished successfully:52
>>> Execution failed:
>>> Exception in runoops:
>>> Arguments: [input/fasta/T1di2.fasta, input/secseq/T1di2.secseq,
>>> input/native/T1di2.pdb, output/T1di2.26.pdt, output/T1di2.26.rmsd,
>>> 26, TEMP UPDATE INTERVAL = 10, SMOOTH DEVIATION COEFFICIENT = 0.80001]
>>> Host: UCSDT2-B
>>> Directory: oops7-20090219-1827-6gqbuh81/jobs/o/runoops-on95pu6j
>>> stderr.txt:
>>>
>>> stdout.txt:
>>>
>>>
>>>
>>> Zhengxiong Hou wrote:
>>>> Hi Glen,
>>>> For that 100 jobs run, I checked the results and turned them
>>>> into plots, not more than 60 jobs were finished successfully.
>>>> So, we should try to find the reasons for the failures.
>>>>
>>>> Thanks,
>>>> Zhengxiong
>>>
>>
>
From zhengxiongh at uchicago.edu Fri Feb 20 15:56:15 2009
From: zhengxiongh at uchicago.edu (Zhengxiong Hou)
Date: Fri, 20 Feb 2009 15:56:15 -0600
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <499E2302.60606@uchicago.edu>
References: <499DD953.6000607@uchicago.edu> <499E21A9.5040704@uchicago.edu>
<499E2302.60606@uchicago.edu>
Message-ID: <499F26FF.6020105@uchicago.edu>
Hi,
We encountered some failures when running oops within Engage VO or
OSG VO on OSG by swift. Please have a look.
The logs ( oops7-20090219-1827-6gqbuh81.0.rlog,
oops7-20090219-1827-6gqbuh81.log, oops7-20090219-1827-6gqbuh81.d) have
been saved to Ben's swift-logs directory.
And the following is the standard output information when running it
within Engage VO.
> Progress: Submitted:27 Active:22 Finished successfully:51
> Progress: Submitted:27 Active:22 Finished successfully:51
> Progress: Submitted:27 Active:22 Finished successfully:51
> Progress: Submitted:27 Active:22 Finished successfully:51
> Progress: Submitted:27 Active:22 Finished successfully:51
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:27 Active:21 Finished successfully:52
> Progress: Submitted:26 Active:22 Finished successfully:52
> Progress: Submitted:26 Active:22 Finished successfully:52
> Failed to transfer wrapper log from
> oops7-20090219-1827-6gqbuh81/info/o on UCSDT2-B
> Progress: Submitted:26 Active:21 Failed:1 Finished successfully:52
> Execution failed:
> Exception in runoops:
> Arguments: [input/fasta/T1di2.fasta, input/secseq/T1di2.secseq,
> input/native/T1di2.pdb, output/T1di2.26.pdt, output/T1di2.26.rmsd, 26,
> TEMP UPDATE INTERVAL = 10, SMOOTH DEVIATION COEFFICIENT = 0.80001]
> Host: UCSDT2-B
> Directory: oops7-20090219-1827-6gqbuh81/jobs/o/runoops-on95pu6j
> stderr.txt:
>
> stdout.txt:
>
Thanks!
Zhengxiong
From hategan at mcs.anl.gov Fri Feb 20 16:10:30 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 16:10:30 -0600 (CST)
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <499F26FF.6020105@uchicago.edu>
Message-ID: <27162045.392121235167830246.JavaMail.root@zimbra>
I'm seeing this in the logs:
No status file was found. Check the shared filesystem on UCSDT2-B
For the short term I suggest commenting out that site in the
sites file.
Mihael
----- Zhengxiong Hou wrote:
> Hi,
> We encountered some failures when running oops within Engage VO or
> OSG VO on OSG by swift. Please have a look.
> The logs ( oops7-20090219-1827-6gqbuh81.0.rlog,
> oops7-20090219-1827-6gqbuh81.log, oops7-20090219-1827-6gqbuh81.d) have
> been saved to Ben's swift-logs directory.
> And the following is the standard output information when running it
> within Engage VO.
> > Progress: Submitted:27 Active:22 Finished successfully:51
> > Progress: Submitted:27 Active:22 Finished successfully:51
> > Progress: Submitted:27 Active:22 Finished successfully:51
> > Progress: Submitted:27 Active:22 Finished successfully:51
> > Progress: Submitted:27 Active:22 Finished successfully:51
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:27 Active:21 Finished successfully:52
> > Progress: Submitted:26 Active:22 Finished successfully:52
> > Progress: Submitted:26 Active:22 Finished successfully:52
> > Failed to transfer wrapper log from
> > oops7-20090219-1827-6gqbuh81/info/o on UCSDT2-B
> > Progress: Submitted:26 Active:21 Failed:1 Finished successfully:52
> > Execution failed:
> > Exception in runoops:
> > Arguments: [input/fasta/T1di2.fasta, input/secseq/T1di2.secseq,
> > input/native/T1di2.pdb, output/T1di2.26.pdt, output/T1di2.26.rmsd, 26,
> > TEMP UPDATE INTERVAL = 10, SMOOTH DEVIATION COEFFICIENT = 0.80001]
> > Host: UCSDT2-B
> > Directory: oops7-20090219-1827-6gqbuh81/jobs/o/runoops-on95pu6j
> > stderr.txt:
> >
> > stdout.txt:
> >
>
> Thanks!
> Zhengxiong
> _______________________________________________
> Swift-user mailing list
> Swift-user at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
From rynge at renci.org Fri Feb 20 17:59:38 2009
From: rynge at renci.org (Mats Rynge)
Date: Fri, 20 Feb 2009 18:59:38 -0500
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <27162045.392121235167830246.JavaMail.root@zimbra>
References: <499F26FF.6020105@uchicago.edu>
<27162045.392121235167830246.JavaMail.root@zimbra>
Message-ID: <20090220235938.GA8368@rynge.europa.renci.org>
On Fri, Feb 20, 2009 at 04:10:30PM -0600, Mihael Hategan wrote:
> I'm seeing this in the logs:
> No status file was found. Check the shared filesystem on UCSDT2-B
>
This reminds me to bring up an issue other users have had on UCSDT2 and
similar sites on OSG. UCSDT2 and UCSDT2-B are two interfaces to the
same cluster (shared filesystem is the same). If you give those as two
separate sites to Swift, will Swift be confused about the data caching?
That is, is the data caching directory named the same on all sites in a
run?
There are other clusters on OSG with multiple gatekeepers.
--
Mats Rynge
Renaissance Computing Institute
From hategan at mcs.anl.gov Fri Feb 20 18:15:51 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 18:15:51 -0600 (CST)
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <20090220235938.GA8368@rynge.europa.renci.org>
Message-ID: <28696812.400361235175351843.JavaMail.root@zimbra>
----- Mats Rynge wrote:
> On Fri, Feb 20, 2009 at 04:10:30PM -0600, Mihael Hategan wrote:
> > I'm seeing this in the logs:
> > No status file was found. Check the shared filesystem on UCSDT2-B
> >
>
> This reminds me to bring up an issue other users have had on UCSDT2 and
> similar sites on OSG. UCSDT2 and UCSDT2-B are two interfaces to the
> same cluster (shared filesystem is the same). If you give those as two
> separate sites to Swift, will Swift be confused about the data caching?
> That is, is the data caching directory named the same on all sites in a
> run?
It's likely that files in the shared directory will get messed up.
I can see no benefit in swift seeing one site as two, so I would recommend
against doing this in general.
From rynge at renci.org Fri Feb 20 20:14:38 2009
From: rynge at renci.org (Mats Rynge)
Date: Fri, 20 Feb 2009 21:14:38 -0500
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <28696812.400361235175351843.JavaMail.root@zimbra>
References: <20090220235938.GA8368@rynge.europa.renci.org>
<28696812.400361235175351843.JavaMail.root@zimbra>
Message-ID: <20090221021438.GA8716@rynge.europa.renci.org>
On Fri, Feb 20, 2009 at 06:15:51PM -0600, Mihael Hategan wrote:
>
> ----- Mats Rynge wrote:
> > On Fri, Feb 20, 2009 at 04:10:30PM -0600, Mihael Hategan wrote:
> > > I'm seeing this in the logs:
> > > No status file was found. Check the shared filesystem on UCSDT2-B
> > >
> >
> > This reminds me to bring up an issue other users have had on UCSDT2 and
> > similar sites on OSG. UCSDT2 and UCSDT2-B are two interfaces to the
> > same cluster (shared filesystem is the same). If you give those as two
> > separate sites to Swift, will Swift be confused about the data caching?
> > That is, is the data caching directory named the same on all sites in a
> > run?
>
> It's likely that files in the shared directory will get messed up.
>
> I can see no benefit in swift seeing one site as two, so I would recommend
> against doing this in general.
OSG is not going to stop doing this. The benefits for the site are the
ability to spread the load on multiple gatekeepers, and the ability
to do maintenance on one node and still have the resource available
with the other one.
One fix could be to add something site specific to the path of data
cache directory. That would mean duplicate copies of the data on some
sites, but if that is how the sites are advertised, I think that is
acceptable.
For users under the OSG Engagement VO, the problematic sites are:
UCSDT2 <-> UCSDT2-B
BNL_ATLAS_1 <-> BNL_ATLAS_2
Purdue-RCAC <-> Purdue-Steele
FNAL_FERMIGRID <-> FNAL_GPGRID_1
In your site catalog, make sure you only have one of the sites on each
line above.
--
Mats Rynge
Renaissance Computing Institute
From hategan at mcs.anl.gov Fri Feb 20 20:43:55 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 20:43:55 -0600 (CST)
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <20090221021438.GA8716@rynge.europa.renci.org>
Message-ID: <6816313.401881235184235427.JavaMail.root@zimbra>
----- Mats Rynge wrote:
> > I can see no benefit in swift seeing one site as two, so I would recommend
> > against doing this in general.
>
> OSG is not going to stop doing this. The benefits for the site are the
> ability to spread the load on multiple gatekeepers, and the ability
> to do maintenance on one node and still have the resource available
> with the other one.
I didn't mean it from an OSG perspective, but from a Swift perspective.
You are also offering a benefit, so I must reconsider what I said.
>
> One fix could be to add something site specific to the path of data
> cache directory. That would mean duplicate copies of the data on some
> sites, but if that is how the sites are advertised, I think that is
> acceptable.
This, I think, can currently be done manually by specifying a different
work directory in sites.xml, but swift won't check for such conflicts.
From rynge at renci.org Fri Feb 20 21:27:03 2009
From: rynge at renci.org (Mats Rynge)
Date: Fri, 20 Feb 2009 22:27:03 -0500
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <6816313.401881235184235427.JavaMail.root@zimbra>
References: <20090221021438.GA8716@rynge.europa.renci.org>
<6816313.401881235184235427.JavaMail.root@zimbra>
Message-ID: <20090221032703.GA8983@rynge.europa.renci.org>
On Fri, Feb 20, 2009 at 08:43:55PM -0600, Mihael Hategan wrote:
> > One fix could be to add something site specific to the path of data
> > cache directory. That would mean duplicate copies of the data on some
> > sites, but if that is how the sites are advertised, I think that is
> > acceptable.
>
> This, I think, can currently be done manually by specifying a different
> work directory in sites.xml, but swift won't check for such conflicts.
Good point! Attached is a fix for swift-osg-ress-site-catalog
--
Mats Rynge
Renaissance Computing Institute
-------------- next part --------------
A non-text attachment was scrubbed...
Name: swift-sitename.patch
Type: text/x-diff
Size: 560 bytes
Desc: not available
URL:
From zhengxiongh at uchicago.edu Fri Feb 20 22:14:50 2009
From: zhengxiongh at uchicago.edu (Zhengxiong Hou)
Date: Fri, 20 Feb 2009 22:14:50 -0600
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <20090221032703.GA8983@rynge.europa.renci.org>
References: <20090221021438.GA8716@rynge.europa.renci.org>
<6816313.401881235184235427.JavaMail.root@zimbra>
<20090221032703.GA8983@rynge.europa.renci.org>
Message-ID: <499F7FBA.5060506@uchicago.edu>
Mats Rynge wrote:
> On Fri, Feb 20, 2009 at 08:43:55PM -0600, Mihael Hategan wrote:
>
>>> One fix could be to add something site specific to the path of data
>>> cache directory. That would mean duplicate copies of the data on some
>>> sites, but if that is how the sites are advertised, I think that is
>>> acceptable.
>>>
>> This, I think, can currently be done manually by specifying a different
>> work directory in sites.xml, but swift won't check for such conflicts.
>>
>
> Good point! Attached is a fix for swift-osg-ress-site-catalo
Yes! This is a good one for the clusters which have one shared file
system for multiple gatekeepers.
But I'm sorry to say that this might not be the failure reason for "
UCSDT2-B ", because we did not use both of the "UCSDT2" and "UCSDT2-B"
concurrently.
BTW, where is "bin/swift-osg-ress-site-catalog"? I'm interested in it.
Thanks much!
Zhengxiong
From rynge at renci.org Fri Feb 20 22:27:12 2009
From: rynge at renci.org (Mats Rynge)
Date: Fri, 20 Feb 2009 23:27:12 -0500
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <499F7FBA.5060506@uchicago.edu>
References: <20090221021438.GA8716@rynge.europa.renci.org>
<6816313.401881235184235427.JavaMail.root@zimbra>
<20090221032703.GA8983@rynge.europa.renci.org>
<499F7FBA.5060506@uchicago.edu>
Message-ID: <20090221042712.GA9194@rynge.europa.renci.org>
On Fri, Feb 20, 2009 at 10:14:50PM -0600, Zhengxiong Hou wrote:
>
> BTW, where is "bin/swift-osg-ress-site-catalog"? I'm interested in it.
It will be included in the next Swift release. For now, you can get it
from the Subversion repository.
Example usage:
./swift-osg-ress-site-catalog --vo=engage --out=sites.xml
--
Mats Rynge
Renaissance Computing Institute
From hategan at mcs.anl.gov Fri Feb 20 23:22:00 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Fri, 20 Feb 2009 23:22:00 -0600
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <20090221032703.GA8983@rynge.europa.renci.org>
References: <20090221021438.GA8716@rynge.europa.renci.org>
<6816313.401881235184235427.JavaMail.root@zimbra>
<20090221032703.GA8983@rynge.europa.renci.org>
Message-ID: <1235193720.20264.0.camel@localhost>
Committed in r2580
On Fri, 2009-02-20 at 22:27 -0500, Mats Rynge wrote:
> On Fri, Feb 20, 2009 at 08:43:55PM -0600, Mihael Hategan wrote:
> > > One fix could be to add something site specific to the path of data
> > > cache directory. That would mean duplicate copies of the data on some
> > > sites, but if that is how the sites are advertised, I think that is
> > > acceptable.
> >
> > This, I think, can currently be done manually by specifying a different
> > work directory in sites.xml, but swift won't check for such conflicts.
>
> Good point! Attached is a fix for swift-osg-ress-site-catalog
>
From benc at hawaga.org.uk Sat Feb 21 03:00:47 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Sat, 21 Feb 2009 09:00:47 +0000 (GMT)
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <499F7FBA.5060506@uchicago.edu>
References: <20090221021438.GA8716@rynge.europa.renci.org>
<6816313.401881235184235427.JavaMail.root@zimbra>
<20090221032703.GA8983@rynge.europa.renci.org>
<499F7FBA.5060506@uchicago.edu>
Message-ID:
On Fri, 20 Feb 2009, Zhengxiong Hou wrote:
> BTW, where is "bin/swift-osg-ress-site-catalog"? I'm interested in it.
Build Swift from SVN source and you should see it there.
--
From benc at hawaga.org.uk Sat Feb 21 03:15:28 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Sat, 21 Feb 2009 09:15:28 +0000 (GMT)
Subject: [Swift-user] oops failures on OSG
In-Reply-To: <28696812.400361235175351843.JavaMail.root@zimbra>
References: <28696812.400361235175351843.JavaMail.root@zimbra>
Message-ID:
On Fri, 20 Feb 2009, Mihael Hategan wrote:
> I can see no benefit in swift seeing one site as two, so I would recommend
> against doing this in general.
There's a similar situation where you have multiple sites sharing file
systems (for example, at CI) - using (for example) /home/benc/tmp as a
shared directory on the >1 clusters that have access to CI home directory
space will cause a similar problem if they're used simultaneously, I
think.
--
From aespinosa at cs.uchicago.edu Tue Feb 24 17:14:33 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 24 Feb 2009 17:14:33 -0600
Subject: [Swift-user] extern data type undefined.
Message-ID: <50b07b4b0902241514h72d2a694l526be144012f09c3@mail.gmail.com>
Hi,
I am trying to use the "extern" data type as documented in the swift
manual. for some reason, the parser does not see this type as already
defined:
~/swift/vdsk/bin/swift -tc.file tc.data manysmall.swift
Could not start execution.
Type extern is not defined.
Swift script:
type data;
app (extern o) dd(string input) {
echo "if=" @input "of=/dev/null" "bs=128k";
}
data input;
foreach x in input {
extern o;
o = dd(@x);
}
-Allan
From aespinosa at cs.uchicago.edu Tue Feb 24 17:31:37 2009
From: aespinosa at cs.uchicago.edu (Allan Espinosa)
Date: Tue, 24 Feb 2009 17:31:37 -0600
Subject: [Swift-user] Re: extern data type undefined.
In-Reply-To: <50b07b4b0902241514h72d2a694l526be144012f09c3@mail.gmail.com>
References: <50b07b4b0902241514h72d2a694l526be144012f09c3@mail.gmail.com>
Message-ID: <50b07b4b0902241531n72755d7eh2ffabb21b58756d6@mail.gmail.com>
I looked in src//tests/language-behaviour/087-external-dataset.swift
it is actually the "external" data type. the script now works.
so there's a typo in the documentation.
-Allan
On Tue, Feb 24, 2009 at 5:14 PM, Allan Espinosa
wrote:
> Hi,
>
> I am trying to use the "extern" data type as documented in the swift
> manual. for some reason, the parser does not see this type as already
> defined:
>
> ~/swift/vdsk/bin/swift -tc.file tc.data manysmall.swift
>
> Could not start execution.
> Type extern is not defined.
>
> Swift script:
> type data;
>
> app (extern o) dd(string input) {
> echo "if=" @input "of=/dev/null" "bs=128k";
> }
>
> data input;
>
> foreach x in input {
> extern o;
> o = dd(@x);
> }
>
>
> -Allan
>
--
Allan M. Espinosa
PhD student, Computer Science
University of Chicago
From benc at hawaga.org.uk Wed Feb 25 03:35:52 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Wed, 25 Feb 2009 09:35:52 +0000 (GMT)
Subject: [Swift-user] Re: extern data type undefined.
In-Reply-To: <50b07b4b0902241531n72755d7eh2ffabb21b58756d6@mail.gmail.com>
References: <50b07b4b0902241514h72d2a694l526be144012f09c3@mail.gmail.com>
<50b07b4b0902241531n72755d7eh2ffabb21b58756d6@mail.gmail.com>
Message-ID:
On Tue, 24 Feb 2009, Allan Espinosa wrote:
> so there's a typo in the documentation.
ok, I have a fix for that in my commit queue.
--
From wilde at mcs.anl.gov Wed Feb 25 08:17:45 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Wed, 25 Feb 2009 08:17:45 -0600
Subject: [Swift-user] assigning file variables
Message-ID: <49A55309.4050100@mcs.anl.gov>
I was surprised that while I can assign complete arrays from one var to
another, I can not assign values of type "file".
This script:
---
type file;
app (file out) echo (string s) { echo s stdout=@out; }
file result;
file f <"echo.out">;
f = echo("output");
result = f;
---
gives:
---
Swift svn swift-r2552 cog-r2303
RunID: 20090225-0810-sz60al30
Progress:
Execution failed:
java.lang.RuntimeException: Deep non-array structure copying
not implemented, when trying to copy
org.griphyn.vdl.mapping.RootDataNode identifier
tag:benc at ci.uchicago.edu,2008:swift:dataset:20090225-0810-tibqd6aa:720000000003
type file with no value at dataset=f (closed)
---
The reason I'd like to do such assignments (in my current script) is to
use a single_file_mapper inside iterate and foreach loops to map a file
to a specific name pattern (eg one not obtainable with anything but an
ext mapper) and then assign the file object to an array element for
further processing later in the script.
Is it likely that the above restriction on file assignment will be
lifted in a future release, or should users code as if files can not be
assigned?
Related question: I see that assignment of entire arrays works, which is
very useful. The messsage above implies that limited kinds of
"structure" assignments work, and others dont. Whats works currently,
whats planned, and whats not likely to be implemented?
From benc at hawaga.org.uk Wed Feb 25 09:32:27 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Wed, 25 Feb 2009 15:32:27 +0000 (GMT)
Subject: [Swift-user] assigning file variables
In-Reply-To: <49A55309.4050100@mcs.anl.gov>
References: <49A55309.4050100@mcs.anl.gov>
Message-ID:
The semantics of file assignments have been discussed on and of for some
years.
Those discussions have left two different ideas floating around in my
head:
i) = as copy
The code file a <"foo">; file b<"bar">; a = b; behaves something like cp
bar foo.
Thats pretty straightforward, bu to implement and understandt unclear to
me if thats the right thing to do in many cases - for example, when
assigning into an array of files, you would end up with the members of the
array still being mapped to the filenames that the mapper associated with
the array gives, not the filenames of the rhs file in the assignment.
Its not clear to me if this behaviour, for example, would be useful in the
use case you specify. Why do you want to construct the filenames in a
difficult way? Is it because you want them to end up with that filename,
or because your application wants to generate them that way? In the
former, this model doesn't work, though in the latter, if you don't care
what they end up being called, thats fine.
ii) assignment-as-aliasing
file a; file b<"bar">; a= b turns a into an alias for b, mapped still to
the file "bar"; no copying takes place.
In your case, you'd then end up with an array of aliases to files that are
mapped by a bunch of single-file-mappers.
I haven't really thought this second model through a huge amount but I
probably should sit down and play with it.
In your specific case, can you show the code that your trying to make
work? If you are running a foreachwhere the cardinality is known before
hand (i.e. you know how many iterations you want, before the start of the
loop) you can perhaps programatically construct a string[] array with your
constructed filenames, and then use an array mapper to use that array of
strings as the filenames for an array.
So one foreach loop to make string[] arraynames, then a statement to use
arraynames to map an entire array, and then your original foreach loop.
In the case of an iterate where the cardinality is not known before hand,
that method probably doesn't work.
--
From hategan at mcs.anl.gov Wed Feb 25 09:40:22 2009
From: hategan at mcs.anl.gov (Mihael Hategan)
Date: Wed, 25 Feb 2009 09:40:22 -0600
Subject: [Swift-user] assigning file variables
In-Reply-To:
References: <49A55309.4050100@mcs.anl.gov>
Message-ID: <1235576422.17806.4.camel@localhost>
I think we cannot look at a solution without considering mapping. In
other words, there is a semantic distinction between file t; and file m
<"a.txt">;. One says "I don't care how it's named" and the other says
different.
So based on that, we can probably derive a few rules:
t = m -> aliasing
t = t -> aliasing
m = t -> copy; it would be preferable to map t to what m is mapped to
from the start
m = m -> copy.
Mihael
On Wed, 2009-02-25 at 15:32 +0000, Ben Clifford wrote:
> The semantics of file assignments have been discussed on and of for some
> years.
>
> Those discussions have left two different ideas floating around in my
> head:
>
> i) = as copy
>
> The code file a <"foo">; file b<"bar">; a = b; behaves something like cp
> bar foo.
>
> Thats pretty straightforward, bu to implement and understandt unclear to
> me if thats the right thing to do in many cases - for example, when
> assigning into an array of files, you would end up with the members of the
> array still being mapped to the filenames that the mapper associated with
> the array gives, not the filenames of the rhs file in the assignment.
>
> Its not clear to me if this behaviour, for example, would be useful in the
> use case you specify. Why do you want to construct the filenames in a
> difficult way? Is it because you want them to end up with that filename,
> or because your application wants to generate them that way? In the
> former, this model doesn't work, though in the latter, if you don't care
> what they end up being called, thats fine.
>
> ii) assignment-as-aliasing
>
> file a; file b<"bar">; a= b turns a into an alias for b, mapped still to
> the file "bar"; no copying takes place.
>
> In your case, you'd then end up with an array of aliases to files that are
> mapped by a bunch of single-file-mappers.
>
> I haven't really thought this second model through a huge amount but I
> probably should sit down and play with it.
>
> In your specific case, can you show the code that your trying to make
> work? If you are running a foreachwhere the cardinality is known before
> hand (i.e. you know how many iterations you want, before the start of the
> loop) you can perhaps programatically construct a string[] array with your
> constructed filenames, and then use an array mapper to use that array of
> strings as the filenames for an array.
>
> So one foreach loop to make string[] arraynames, then a statement to use
> arraynames to map an entire array, and then your original foreach loop.
>
> In the case of an iterate where the cardinality is not known before hand,
> that method probably doesn't work.
>
From benc at hawaga.org.uk Wed Feb 25 09:50:47 2009
From: benc at hawaga.org.uk (Ben Clifford)
Date: Wed, 25 Feb 2009 15:50:47 +0000 (GMT)
Subject: [Swift-user] assigning file variables
In-Reply-To: <1235576422.17806.4.camel@localhost>
References: <49A55309.4050100@mcs.anl.gov>
<1235576422.17806.4.camel@localhost>
Message-ID:
On Wed, 25 Feb 2009, Mihael Hategan wrote:
> it would be preferable to map t to what m is mapped to
> from the start
right. often (always?) the desire to do this kind of assignment comes from
insufficient expressiveness in our mapping semantics. in the foreach case,
I think my email suggests a reasonable alternative to assignments that
allows mapping to be generated inside of Swift. In the iterate{} case,
that in-swift expression is not possible at the moment, but could be. For
example, soemthing like the ext mapper that only maps output files, not
inputs, and calls a specified swift procedure to do that mapping. (thates
something that has been discussed before, I think)
--
From wilde at mcs.anl.gov Wed Feb 25 10:03:48 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Wed, 25 Feb 2009 10:03:48 -0600
Subject: [Swift-user] assigning file variables
In-Reply-To:
References: <49A55309.4050100@mcs.anl.gov>
Message-ID: <49A56BE4.20209@mcs.anl.gov>
I was envisioning approach (ii). I certainly dont want a file "cp" to
take place, and I have not yet seen a need for (i), other than something
related to retaining provenance across copies, which is not my need here.
I was envisioning (ii) more as a simple "reference" assignment, which
made the target variable have the same state as the source variable,
including the mapping.
Regardless, I dont think this is an issue we need to rush to resolve at
the moment. Its more a matter of creating enough documentation and style
examples so that people fall into paths that work for them.
My code is in transition but I put two version of it under:
http://www.ci.uchicago.edu/~wilde/oops8.swift
http://www.ci.uchicago.edu/~wilde/oops8e.swift
oops8.swift doesnt work, but shows the structure of what I was trying to
accomplish.
When I hit a few problems (like the extractint issue, file copy issue,
mapping same file twice issue, and iterate condition issue) I created a
simplified version oops8e.swift that used "echo" instead of the more
complex app. oops8e now correctly does the nested
foreach-iterate-foreach loops.
Next I'll be adapting the code to use structs to pass the large sets of
files in and out of the app, so that the final functions arevery simple
for the user to invoke. In doing this, I may need to go to ext mappers
anyways, dont know yet.
It seems like the swift framework for this app is now working, and I'll
post any new issues as they come up.
some notes, below...
On 2/25/09 9:32 AM, Ben Clifford wrote:
> The semantics of file assignments have been discussed on and of for some
> years.
>
> Those discussions have left two different ideas floating around in my
> head:
>
> i) = as copy
>
> The code file a <"foo">; file b<"bar">; a = b; behaves something like cp
> bar foo.
>
> Thats pretty straightforward, bu to implement and understandt unclear to
> me if thats the right thing to do in many cases - for example, when
> assigning into an array of files, you would end up with the members of the
> array still being mapped to the filenames that the mapper associated with
> the array gives, not the filenames of the rhs file in the assignment.
>
> Its not clear to me if this behaviour, for example, would be useful in the
> use case you specify. Why do you want to construct the filenames in a
> difficult way? Is it because you want them to end up with that filename,
yes, in this case. I did try mapping the 2D array with simple_mapper,
and that gave me names that were surprisingly acceptable, but not what I
had planned. A simple variation on it might have worked though,
something sprintf() like, which I could probably do with an equivalent
ext mapper. So there is certainly a reasonable solution here.
> or because your application wants to generate them that way? In the
> former, this model doesn't work, though in the latter, if you don't care
> what they end up being called, thats fine.
>
> ii) assignment-as-aliasing
>
> file a; file b<"bar">; a= b turns a into an alias for b, mapped still to
> the file "bar"; no copying takes place.
>
> In your case, you'd then end up with an array of aliases to files that are
> mapped by a bunch of single-file-mappers.
Yes, thats what I was looking for.
> I haven't really thought this second model through a huge amount but I
> probably should sit down and play with it.
>
> In your specific case, can you show the code that your trying to make
> work? If you are running a foreachwhere the cardinality is known before
> hand (i.e. you know how many iterations you want, before the start of the
> loop) you can perhaps programatically construct a string[] array with your
> constructed filenames, and then use an array mapper to use that array of
> strings as the filenames for an array.
In this case I know the size of the inner array, the result of the inner
foreach{} loop, at the start. So that might work.
>
> So one foreach loop to make string[] arraynames, then a statement to use
> arraynames to map an entire array, and then your original foreach loop.
I can try that.
>
> In the case of an iterate where the cardinality is not known before hand,
> that method probably doesn't work.
>
From wilde at mcs.anl.gov Thu Feb 26 00:13:18 2009
From: wilde at mcs.anl.gov (Michael Wilde)
Date: Thu, 26 Feb 2009 00:13:18 -0600
Subject: [Swift-user] assigning file variables
In-Reply-To:
References: <49A55309.4050100@mcs.anl.gov>
<1235576422.17806.4.camel@localhost>
Message-ID: <49A632FE.8070906@mcs.anl.gov>
Can you clarify how the ext mapper behaves differently from say the
simple_mapper for output files, and if the following is correct?
It seems that for the simple_mapper, the mapper parameters define a
prefix/suffix, and these strings are used wherever necessary at runtime
to form a mapping for any object composed of (possibly nested) structs
and arrays, by bracketing the dynamically-constructed object path.
But when the ext mapper is used for output, it is expected, in a single
call, to map the entire structure (and hence can only do static mappings)?
I thought I had my problem solved using the ext mapper, but the
combination of restrictions on assigning file variables and getting the
right info to the ext mapper seems to be forcing me back to simple_mapper.
(I'll try to assemble examples when I have more time)
On 2/25/09 9:50 AM, Ben Clifford wrote:
> On Wed, 25 Feb 2009, Mihael Hategan wrote:
>
>> it would be preferable to map t to what m is mapped to
>> from the start
>
> right. often (always?) the desire to do this kind of assignment comes from
> insufficient expressiveness in our mapping semantics. in the foreach case,
> I think my email suggests a reasonable alternative to assignments that
> allows mapping to be generated inside of Swift. In the iterate{} case,
> that in-swift expression is not possible at the moment, but could be. For
> example, soemthing like the ext mapper that only maps output files, not
> inputs, and calls a specified swift procedure to do that mapping. (thates
> something that has been discussed before, I think)
>