[Swift-devel] hang checker updates

Michael Wilde wilde at mcs.anl.gov
Sun Jul 15 10:01:47 CDT 2012


Mihael, this analysis-with-messages and the subsequent changes look excellent - very exciting enhancements and improvements.

We'll need to do thorough testing and add tests to exercise the deadlock detection and avoidance.

But very nice work. I'll make a new trunk release for PNNL to try.

- Mike

----- Original Message -----
> From: "Mihael Hategan" <hategan at mcs.anl.gov>
> To: "Michael Wilde" <wilde at mcs.anl.gov>
> Cc: "Swift Devel" <swift-devel at ci.uchicago.edu>
> Sent: Saturday, July 14, 2012 7:11:42 PM
> Subject: Re: [Swift-devel] hang checker updates
> On Sat, 2012-07-14 at 12:07 -0700, Mihael Hategan wrote:
> > On Sat, 2012-07-14 at 13:55 -0500, Michael Wilde wrote:
> > > Wow - great analysis! Is the logic you applied here embedded in
> > > the new trace code? (Ie if users and Swift support folks could get
> > > this right off the bat, that would be excellent).
> >
> > It doesn't deal with partial closes and array analysis. I'm working
> > on
> > that.
> 
> Hmm, that was harder and I'm not quite sure how it will behave for
> large
> scripts (there are plenty of > O(N) things there). But I committed it
> if
> you want to try. It now detects things like:
> foreach i in [0:4] {
> c[i] = cat(d);
> }
> 
> foreach i in [5:9] {
> c[i] = gen();
> }
> 
> d = mcat(c);
> 
> Dependency loop found:
> d (declared on line 21) is needed by:
> cat, many-cat.swift, line 26
> foreach, many-cat.swift, line 24
> 
> the above must complete before the block below can complete:
> foreach, many-cat.swift, line 24
> which produces c (declared on line 20)
> 
> c (declared on line 20) is needed by:
> mcat, many-cat.swift, line 34
> which produces d (declared on line 21)

-- 
Michael Wilde
Computation Institute, University of Chicago
Mathematics and Computer Science Division
Argonne National Laboratory




More information about the Swift-devel mailing list