Qualcomm Innovation Fellowship (QInF) 2014 Proposal#

QInF 2014 site

Round 1: proposal#

Proposal document(info) attached

Round 2: presentation#

Presentation attached as PowerPoint slides(info) and as Print-version PDF(info).

Speaker notes are in a Google Slides file

Presentation Notes#

Show:

  • Novel -- via related work? Hop, GWT, ...
  • Significant/Useful -- Use motivation from proposal
  • Feasible -- Demonstrate via progress
  • We're the right team -- We start from a good place (Orc), and have done this kink of work

Question: How much Orc-ish context to put in presentation?

  • Orc proc calc underlies Orc
  • Pervasive concurrency in Orc, vice parallelizing sequential code
  • Fewer sync primitives needed
  • Strong semantics

Topics:

  • Optimization possibilities
    • As part of out p.o.v.
  • Static analysis
  • Min-cut

Outline#

1 sentence abstract: dOrc enables constructing cohesive distributed systems: those distributed systems that are better written as one cohesive program, rather than communicating modules.

  • (Title slide)
  • Intro to problem (Base on proposal doc)
    • Browser user ID validation example
    • Present the conventional code (see code snippets below)
      • First sequentially all-in-one
      • Fragment code across locations
      • (Uglier and uglier....)
  • Our current solution
    • Show dOrc code (re-integrate back to start point)
    • Explain semantics as applied to example
      • Policy set and location set, per values
      • "Pinned" values: Singleton/small policy set
    • Note semantics offer multiple possible distributions (subexpressions-to-locations relation)
  • Future directions
    • Optimization opportunities abound
    • Static analysis
      • Back-propagate knowledge of ultimate destinations of values
      • Can find some distributions dominate others
    • Metadata may let us replicate values or computations safely
    • Build a graph of locations and data flow costs, use std graph partitioning algos (min-cut et al.)
  • (Summary slide)

Note: Make sure terminology is consistent with proposal.

Code examples#

(Arthur has Latex of these as well, if we need it)

dOrc#

def attemptRegistration() =
  askUser(“Pick a username”) > username >
  if isLegal(username)
     and isUnique(username)
  then
    createNewUser(username)
  else
    displayError(username)

Optimistic State of the Art Solution#

def createNewUserIfUnique(username) =
  if isUnique(username)
  then
    createNewUser(username) >> true
  else
    false
-----------------------------
def attemptRegistration() =
  askUser(“Pick a username”) >username>
  if not isLegal(username)
     or not createNewUserIfUnique(username)
  then
    displayError(username)

Realistic State of the Art Solution#

remote def createNewUserIfUnique(username) =
  if isUnique(username)
  then
    createNewUser(username) >> true
  else
    false
-----------------------------
def callback(username, success) =
  if not success
  then
    displayError(username)
-----------------------------
def attemptRegistration() =
  askUser(“Pick a username”) > username >
  if isLegal(username)
  then
    createNewUserIfUnique(username, callback)
  else
    callback(username, false)

Even More Realistic State of the Art Solution#

remote def createNewUserIfUnique(username) =
  if isUnique(username)
  then
    createNewUser(username) >> true
  else
    false
-----------------------------
def makeCallback(username) =
  callback def callback(success) =
    if not success
    then
      displayError(username)
  callback
-----------------------------
def attemptRegistration() =
  askUser(“Pick a username”) > username >
  if isLegal(username)
  then
    createNewUserIfUnique(username, makeCallback(username))
  else
    makeCallback(username)(false)

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
pdf
QInF2014-proposal.pdf 164.7 kB 1 25-Feb-2014 11:17 John Thywissen
pptx
S2014-6568-Thywissen-Peters-Mi... 2,576.6 kB 1 04-Mar-2014 08:54 John Thywissen
pdf
S2014-6568-Thywissen-Peters-Mi... 603.5 kB 1 04-Mar-2014 08:54 John Thywissen
« This page (revision-13) was last changed on 04-Mar-2014 09:13 by John Thywissen