The "PRACTICAL"

Transterpreter

The First Part in Three
(Followed by Stories of Technical Stuff and Development)



Matt Jadud
Berea College
20131105

The Practical TVM

  1. Parallel (Design) Example
    1. SICSA Multicore Challenge

  2. Brief Historical Overview
    1. The Transputer
    2. occam

  3. Three Case Studies
    1. Mobile Robotics (LEGO RCX)
    2. The Flying Gator
    3. Environmental Sensing

SICSA Round 1

Concordance Problem


F
ar out in the uncharted backwaters of the unfashionable end of the Western Spiral arm of the Galaxy lies a small unregarded yellow sun.

Orbiting this at a distance of roughly ninety-two million miles is an utterly insignificant little blue green planet whose ape-descended life forms are so amazingly primitive that they still think digital watches are a pretty neat idea.

This planet has – or rather had – a problem, which was this: most of the people living on it were unhappy for pretty much of the time. Many solutions were suggested for this problem, but most of these were largely concerned with the movements of small green pieces of paper, which is odd because on the whole it wasn't the small green pieces of paper that were unhappy.

And so the problem remained; lots of the people were mean, and most of them were miserable, even the ones with digital watches.

Algorithm


dual-core 2.6GHz

the SCC

using the scc

the importance of design


interpreted, faster?

why parallel?

  1. Traditionally
    1. Performance
    2. Performance
    3. Performance

  2. In My Humble Opinion (IMHO)
    1. Organization / Modularity
    2. Safety
    3. Comprehension
    4. Extensibility

      (... with the right tools)

transputer

T800 series, 25MHz, 4KB RAM
(ATmega 328p, 16MHz, 2KB RAM)

occam

  1. Parallel programming language
  2. History
    1. Inspiration: CSP (Hoare, late 60's)
    2. Early 80's U. Bristol
    3. Opened/released mid-90's
  3. Notable Constructs
    1. SEQ / PAR / ALT
  4. "Bytecode for the Transputer"

occam: producer

occam: consumer

occam: a whole program

use in systems


subsumption architecture

  • A behaviorist approach to AI / control
  • Rodney Brooks (MIT), 1990's
  • Roomba ("Behavior Language")
    most prominent, modern use of this 
    model of control today.


  • Difficult to use without language
    support due to highly parallel nature.

inhibition

INHIBITION

Suppression

SUPPRESSION

all together

preventing collisions

pivoting

RESULTS

A SECOND LAYER

RESULTS

emergenT BEHAVIOR

  • Layers of control
  • Modular design
  • Complexity through composition
    • Complexity through iterative design


  • Modern systems (distributed VMs, DBs, etc.)
    would benefit from similarly modular designs
    • Or, are we already there?

Flying Gator

process network

general arduino
programming

Title

The TVM

By Matt Jadud

The TVM

  • 511