The "PRACTICAL"
Transterpreter
The First Part in Three
(Followed by Stories of Technical Stuff and Development)
Matt Jadud
Berea College
20131105
The Practical TVM
- Parallel (Design) Example
- SICSA Multicore Challenge
- Brief Historical Overview
- The Transputer
- occam
- Three Case Studies
- Mobile Robotics (LEGO RCX)
- The Flying Gator
- Environmental Sensing
SICSA Round 1
Concordance Problem
Far 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?
- Traditionally
- Performance
- Performance
- Performance
- In My Humble Opinion (IMHO)
- Organization / Modularity
- Safety
- Comprehension
- Extensibility
(... with the right tools)
transputer
T800 series, 25MHz, 4KB RAM
(ATmega 328p, 16MHz, 2KB RAM)
occam
- Parallel programming language
-
History
- Inspiration: CSP (Hoare, late 60's)
- Early 80's U. Bristol
- Opened/released mid-90's
- Notable Constructs
- SEQ / PAR / ALT
- "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