Comment 4 for bug 1020889

Revision history for this message
Garth Wells (garth-wells) wrote : Re: [Bug 1020889] [NEW] Deadlock with constant function space

On Thursday, 12 July 2012, Patrick Farrell <email address hidden>
wrote:

> This problem arises because we want to solve a PDE where we don't know
> the boundary condition, but have an integral constraint on the solution
> (like the neumann-poisson.py demo, but a bit more complicated).
>
> In that demo, a MixedFunctionSpace is created to solve for the real-
> valued Lagrange multiplier and the solution together. We can do this,
> and have done it, but it breaks the symmetry of the problem, which has a
> massive measured performance penalty.
>
> Instead, the approach we're taking is to solve the PDE with homogeneous
> boundary conditions, then compute the Lagrange multiplier c (which lies
> in R0), and then reconstruct the actual solution. We have a variational
> equation for the Lagrange multiplier, and so pass that equation over to
> solve(), despite the fact that it's 1x1. However, as James has pointed
> out, it deadlocks dolfin in parallel, in lots of places.
>
> By the way, if you ever intend to do on-the-fly repartitioning of the
> domain (for adaptivity, for example), it's quite likely this will happen
> in some corner case: in my experience of Zoltan, it sometimes decides
> that it's worth leaving a processor with no degrees of freedom. So this
> problem will eventually arise in another context.
>
> If we were to go through and fix all the deadlocks for this problem,
> would that be a candidate for merging?

Yes.

I expect that it will always be somewhat fragile because not all back ends
support having no data on a process, e.g. SCOTCH does support this but
ParMETIS does not.

Garth

> Or is there a parallel-safe way
> to do this that preserves symmetry?
>
> --
> You received this bug notification because you are a member of DOLFIN
> Core Team, which is subscribed to DOLFIN.
> https://bugs.launchpad.net/bugs/1020889
>
> Title:
> Deadlock with constant function space
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/dolfin/+bug/1020889/+subscriptions
>

--
Garth N. Wells
Department of Engineering, University of Cambridge
http://www.eng.cam.ac.uk/~gnw20