[Swift-devel] hang checker fun
Allan Espinosa
aespinosa at cs.uchicago.edu
Sun Mar 27 16:55:01 CDT 2011
Here it is. The get_app() calls are simple wrappers to readData()
type offset {
int off;
int size;
}
type offset_file;
(offset _off[]) mkoffset(int _size, int _group_size) {
offset_file file <single_file_mapper; file=@strcat("LGU/offset-",_size)>;
file = mkoffset_file(_size, _group_size);
_off = readData(file);
}
app (offset_file _off) mkoffset_file(int _size, int _group_size) {
mkoffset _size _group_size;
}
/* TODO: data management zip jobs */
/* Main program */
int run_id = 664;
int agg_size = 80;
int loc_size = 20;
string datadir =
"gsiftp://gridftp.pads.ci.uchicago.edu//gpfs/pads/swift/aespinosa/science/cybershake/Results";
Station site = get_site(run_id);
Sgt sgt_var <ext; exec="getsgtvar.rb", r=run_id, s=site.name,
l="gsiftp://gridftp.pads.ci.uchicago.edu//gpfs/pads/swift/aespinosa/science/cybershake/SgtFiles">;
Rupture rups[] = get_ruptures(run_id, site);
foreach rup in rups {
string loc_sub = @strcat(datadir, "/", site.name, "/", rup.source,
"/", rup.index);
Sgt sub <ext; exec="getsub.rb", l=loc_sub, n=site.name, s=rup.source,
r=rup.index>;
string var_str[] = get_variations( site, rup,
"gsiftp://gridftp.pads.ci.uchicago.edu//gpfs/pads/swift/aespinosa/science/cybershake/RuptureVariations"
);
Variation vars[] <array_mapper; files=var_str>;
sub = extract(sgt_var, site, vars[rup.size-1]);
string seis_str[];
string peak_str[];
foreach var,i in vars {
seis_str[i] = @strcat(loc_sub, "/Seismogram_", site.name, "_", rup.source,
"_", rup.index, "_", i, ".grm");
peak_str[i] = @strcat(loc_sub, "/PeakVals_", site.name, "_", rup.source,
"_", rup.index, "_", i, ".bsa");
}
Seismogram seis[] <array_mapper; files=seis_str>;
PeakValue peak[] <array_mapper; files=peak_str>;
if(rup.size <= loc_size) {
/*
* Not worth to transfer the data. Execute on TeraGrid instead.
* Also execute on localhost.
*/
foreach var,i in vars {
(seis[i], peak[i]) = seispeak_local(sub, var, site);
}
} else {if(rup.size <= agg_size) {
/* Execute on a single resource */
(seis, peak) = seispeak_agg(sub, vars, site, rup.size);
} else {
/*offset offs[] = mkoffset(rup.size, agg_size);*/
/*for i in offs {*/
/*(seis, peak) = seispeak_agg(sub, vars[i.off:i.off+off.size],*/
/*off.size);*/
/*}*/
}}
}
2011/3/27 Mihael Hategan <hategan at mcs.anl.gov>:
> May I see the script?
>
> On Fri, 2011-03-25 at 19:42 -0500, Allan Espinosa wrote:
>> this has been occurring for 70 times already. What i expect is for
>> the app with SgtDim sub to run and close the future.
>>
>> 2011-03-25 19:40:12,217-0500 WARN HangChecker No events in 10s.
>> 2011-03-25 19:40:12,217-0500 WARN HangChecker
>> Registered futures:
>> Rupture[] rups Closed, 1 elements, 0 listeners
>> Variation vars - Closed, no listeners
>> SgtDim sub - Open, 1 listeners
>> string site Closed, no listeners
>> Variation[] vars Closed, 72 elements, 0 listeners
>> ----
>>
>> Waiting threads:
>> 0-13
>> 0-13-0-7
>> 0-13-0-8-1-1
>> ----
>>
>>
>
>
>
>
--
Allan M. Espinosa <http://amespinosa.wordpress.com>
PhD student, Computer Science
University of Chicago <http://people.cs.uchicago.edu/~aespinosa>
More information about the Swift-devel
mailing list