BEGIN:VCALENDAR
VERSION:2.0
PRODID:Linklings LLC
BEGIN:VTIMEZONE
TZID:America/Chicago
X-LIC-LOCATION:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20181221T160727Z
LOCATION:D166
DTSTART;TZID=America/Chicago:20181112T103000
DTEND;TZID=America/Chicago:20181112T110000
UID:submissions.supercomputing.org_SC18_sess173_ws_espm108@linklings.com
SUMMARY:Distributed Memory Futures for Compile-Time, Deterministic-by-Defa
 ult Concurrency in Distributed C++ Applications
DESCRIPTION:Workshop\nAccelerators, Exascale, Parallel Programming Languag
 es, Libraries, and Models, Workshop Reg Pass\n\nDistributed Memory Futures
  for Compile-Time, Deterministic-by-Default Concurrency in Distributed C++
  Applications\n\nWilke, Hollman, Lewis, Markosyan, Morales\n\nFutures are 
 a widely-used abstraction for enabling deferred execution in imperative pr
 ograms. Deferred execution enqueues tasks rather than explicitly blocking 
 and waiting for them to execute. Many task-based programming models with s
 ome form of deferred execution rely on explicit parallelism that is the re
 sponsibility of the programmer. Deterministic-by-default (implicitly paral
 lel) models instead use data effects to derive concurrency automatically, 
 alleviating the burden of concurrency management. Both implicitly and expl
 icitly parallel models are particularly challenging for imperative object-
 oriented programming. Fine-granularity parallelism across member functions
  or amongst data members may exist, but is often ignored. In this work, we
  define a general permissions model that leverages the C++ type system and
  move semantics to define an asynchronous programming model embedded in th
 e C++ type system. Although a default distributed memory semantic is provi
 ded, the concurrent semantics are entirely configurable through C++ conste
 xpr integers. Correct use of the defined semantic is verified at compile-t
 ime, allowing deterministic- by-default concurrency to be safely added to 
 applications. Here we demonstrate the use of these “extended futures” for 
 distributed memory asynchronous communication and load balancing. An MPI p
 article-in-cell application is modified with the wrapper class using this 
 task model, with results presented for a Haswell system up to 64 nodes.
URL:https://sc18.supercomputing.org/presentation/?id=ws_espm108&sess=sess1
 73
END:VEVENT
END:VCALENDAR

