[isabelle-dev] Isabelle/ML/Scala parallel computation and PIDE execution
Makarius
makarius at sketis.net
Tue Dec 30 15:44:00 CET 2014
Over the past few weeks, I have reworked a few aspects of parallel
computation in Isabelle/ML and Isabelle/Scala, e.g. to provide
Par_List.map on both sides with more or less the same semantics
(concerning max. threads and cancelation of tasks). As Lars Hupel has
pointed out, Scala .par is not the best way to do parallel computation, so
more Isabelle library support for that makes sense.
This unification of ML/Scala libraries has lead to small re-adjustments
like Synchronized.value with actual synchronization in e557a9ddee5f.
This seamingly tiny change (NEWS: "subtle change of semantics with minimal
potential for INCOMPATIBILITY") has lead to various bad consequences, such
as huge waste of cycles on more than 4 cores and spurious deadlocks.
(There were some private mail threads about both, concluding eventually
with ba2a326fc271 and e99f706aeab9.)
After some more refinements, there is even less access to costly
Synchronized.value than before and more plain value-oriented programming.
Moreover, I have pushed some reforms from the bottom to the top of PIDE.
In particular, the global execution is no longer sequential over its
ongoing history (e.g. current 702e0971d617).
The practical consequence of the latter should be improved scheduling of
long-running print functions, notably Sledgehammer. This means the
Sledgehammer panel should work more asynchronously from the document
processing, even after several edits of the text.
So far this is just an intermediate outline of some reforms that came
about spontaneously. We are right in the middle between two releases, so
more is likely to happen.
As usual, problems, observations etc. can be posted at any time, but it is
important to refer to a *current* and *explicit* repository version.
Makarius
----------------------------------------------------------------------------
http://stop-ttip.org 1,235,896 Participants
----------------------------------------------------------------------------
More information about the isabelle-dev
mailing list