BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Practical Statically-checked Deterministic Parallelism - Ryan Newt
 on\, University of Indiana
DTSTART:20160701T130000Z
DTEND:20160701T140000Z
UID:TALK66536@talks.cam.ac.uk
CONTACT:Dominic Mulligan
DESCRIPTION:Reproducibility is important in computing\, whether reproducin
 g bug reports or\nscientific results.  After obvious sources of irreproduc
 ibility are addressed by\ncontainerization and hermetic build systems\, th
 e fundamental remaining challenge\nis preventing unintended nondeterminism
  due to parallelism and concurrency.\n\nIn this talk I present languages a
 nd libraries that provide strict deterministic\nparallelism by constructio
 n.  Starting with a foundation that disallows writable\nshared memory betw
 een parallel computations\, we add support for structured\ncommunication p
 atterns that preserve the determinism guarantee\, irrespective of\nthe und
 erlying architecture\, thread count\, and nondeterministic scheduling.\nBu
 ilding an application with these patterns also clarifies its structure and
 \nsupports formal reasoning about effect composition.\n\nWhile the constra
 int of determinism may seem harsh\, in this talk I argue that\nthe future 
 is bright: we can already build programs mixing lock-free concurrent\ndata
  structures\, blocking data-flow\, callbacks\, and GPU-based data-parallel
 ism\,\nwithout ever compromising determinism or referential transparency.\
 n\nBio:\n\nRyan Newton received his Ph.D. in computer science from MIT in 
 2009\, advised by\nArvind and Samuel Madden.  His thesis introduced techni
 ques for efficiently\ndistributing a single logical program over a sensor 
 network.  From 2009 through\n2011\, Ryan was an engineer in the developer 
 products division at Intel\, where he\nworked on parallel programming tool
 s\, including Cilk and CnC.  Since 2011\, Ryan\nleads a group of programmi
 ng languages researchers interested in increasing the\nsafety and parallel
  performance of high-level\, declarative programs.
LOCATION:FW26
END:VEVENT
END:VCALENDAR
