Post on 06-Oct-2020
Scalable distributed computing with distributed intelligent MEMS Julien BOURGEOIS (UFC/FEMTO-ST), Seth Copen Goldstein (CMU/SCS) Keynote talk, Euromicro PDP conference, Garching, February 2012
Work funded by: ANR (ANR-06-ROBO-0009), ANR (ANR-2011-BS03-005), DARPA (FA87501010215), NSF (CNS-0428738) and
Intel Corporation
Événement - date
2 /66
Outline
Introduction
The Smart Projects
– Presentation
– Results
Claytronics
– Presentation
– Results
Challenges
Conclusion & perspectives
Événement - date
3 /66
Introduction
Parallel and distributed computing
– Tighly linked to history of computer science
– Appears in many fields of CS
Distributed community created many different fields of research
– From fundation theory to cloud
Objective of this talk
– Present a new field/application/system for distributed computing: distributed intelligent MEMS
Événement - date
4 /66
Introduction
Microtechnology is now a mature technology
MEMS can be produced by thousands units
Applications:
STMicro LIS331DLH
Accelerometers
What for?
Événement - date
5 /66
Introduction
Microtechnology is now a mature technology
MEMS can be produced by thousands units
Applications:
TI
Digital Micromirror Device
What for?
Événement - date
6 /66
MEMS Classification
MEMS
Sensor MEMS
Single MEMS Distributed
MEMS
Static topology Dynamic topology
Actuator MEMS
Single MEMS Distributed
MEMS
Static topology Dynamic topology
Sensor/Actuator MEMS
Single MEMS Distributed
MEMS
Static topology Dynamic topology
DMD Accelerometer
Événement - date
7 /66
Flow of information
Distributed MEMS
Sensor MEMS
Static topology Dynamic topology
Actuator MEMS
Static topology Dynamic topology
Sensor/Actuator MEMS
Static topology Dynamic topology
Output only Input only Input/Output
Scalability issue
Distributed Intelligent MEMS
Événement - date
8 /66
Some projects
Simple MEMS
Remote intelligence MEMS
Integrated intelligence MEMS
Static Distributed MEMS
Mobile Distributed MEMS
+ External PC
+ FPGA
+ Distributed
intelligence
+ Dynamic
network
topology
Smart Surface
Silmach Dragonfly
Accoustic impedance control
Claytronics Smart Blocks
Événement - date
9 /66
Introduction
Microtechnology is now a mature technology
MEMS can be produced by thousands units
Need for embedded intelligence
New challenges:
– Coordination needs distribution paradigm
• Communication
• Programming
• Control
– Smooth integration of different technologies
Scalability up to millions!
– 1 m3 of intelligent MEMS -> internet on your table!
Événement - date
10 /66
Introduction
One overriding design goal: Scaling
Scale up in numbers (millions of units)
– A software challenge
Scale down in size (sub mm dimensions)
– A hardware challenge
Événement - date
11 /66
Distributed Intelligent MEMS properties
Units (sensor+actuator+processing unit+communication capabilities)
Synchronization • Units acts independently
• Units acts synchronously
• Locally
• Globally
Communication channel • Wired equivalent quality
• Wireless equivalent quality
• Smart Surface: Global synchronization, fixed position, static, wired eq. quality
• Smart Blocks: Local synchronization, mobile, dynamic, wired eq. quality
• Accoustic impedance control: Local synchronization, fixed position, static, wired eq. quality
• Claytronics: No synchronization, mobile, dynamic, wireless eq quality
Physical topology • Units are mobile
• Units have a fixed position
Logical topology • Static
• Dynamic
Événement - date
12 /66
Partnership
12
Computer science
Micro-systems
Electronics Control
MEMS Micro-
robotics
Distributed control Networking
Distributed
Intelligent
MEMS
Événement - date
13 /66
Relations to existing fields of research
Parallel computing
– Scientific applications running in parallel
Mobile computing
– Mobility
Ad hoc networking
– Topology and energy saving
Pervasive/ubiquitous computing/Internet of Things
– Interactions between intelligent objects
– Linked to real-world
MEMS computing
– Scalability
– Linked to/act on real-world
Événement - date
14 /66
Outline Introduction
The Smart Projects
– The Smart Surface project
• Presentation
• Results
– The Smart Blocks project
• Presentation
• Preliminary results
Claytronics
– Presentation
– Results
Conclusion & perspectives
Événement - date
15 /66
Front-side
Back-side
Smart Surface Project
Objective : Design and realization of a distributed intelligent MEMS to convey and to sort mesometric objects
560 micro-actuators, distributed intelligence
actuator surface: ~1mm²
matrix surface 35 x 35 mm²
Work is funded by ANR , contract ANR-06-ROBO-0009-03
22 permanent researchers
5 labs (French and Japanese)
Événement - date
16 /66
Objectives
Managing informations from sensors
– Distributed differenciation of objects with:
• Low computing power
• Low memory size
• High level of discretization
Managing communications
– Preserving scalability
– Fault tolerance
Événement - date
17 /66
Distributed differentiation of objects
Is it possible to differentiate highly discretized objects and what are the best criteria to do so?
– Exhaustive Comparison Framework
What is the optimal number of sensors?
– Sensor Network Calibrator
What is the optimal way to communicate?
– Smart Surface Simulator
Integration with control in Simulink
Événement - date
18 /66
19 criteria have been tested in ECO, like criterion Y:
– P for Part and S for Surface
– Y= with
– Y = ( ) x (…) x …
Criteria definition
1),( ),( yxSyxP
Pc
ccPc
M ccd1
21
2
),( 21 )(2)(1)(2)(1 yyxxM ccccd
1
Y=1 492 992 Y=663 552
x2 x3 x1 x2 x3
Événement - date
19 /66
ECO criteria tree
Événement - date
20 /66
Sensor Network Calibrator
Événement - date
21 /66
Sensor Network Calibrator
Événement - date
22 /66
Asynchronous distributed state acquisition
Distributed asynchronous state acquisition description via successive approximation method:
with
and with T(i) the set of times at which sub vector xi is updated
Événement - date
23 /66
Smart Surface Simulator
Asynchronous distributed state acquisition:
Experiment performed in LAAS/CNRS, thanks to Didier El Baz and Vincent Boyer
Événement - date
24 /66
Integration with control
...
...
Motion controller
Valve i
...
s k u i kon/off sensor i
on/off sensor i+1
...
...
bi k
on/off sensor i+2
bi 1 k
bi 2 k
Part reconstruction and differentiation
...
Part reconstruction and differentiation
Part reconstruction and differentiation
s k
s k
Motion controller
Motion controller
...
Valve i+1u i 1 k
Valve i+2u i 2 k
...
P2P communication
P2P communication
P2P communication
P2P communication
Événement - date
25 /66
Outline Introduction
The Smart Projects
– The Smart Surface project
• Presentation
• Results
– The Smart Blocks project
• Presentation
• Preliminary results
Claytronics
– Presentation
– Results
Conclusion & perspectives
Événement - date
26 /66
Smart Blocks project
A MEMS-based modular and self-reconfigurable surface for fast conveying of fragile objects and medicinal products
20 permanent researchers, 4 labs, 1 company
Work funded by ANR, contract ANR-2011-BS03-005
Événement - date
27 /66
Événement - date
28 /66
Smart Blocks project
Challenges:
– Hardware
• CMOS and MEMS integration
• Integrating processing unit, communication network, high voltage circuit in reduced space
– Software
• Co-design between distributed computing and control to manage millions of sensors/actuators.
• Optimization of the physical topology
• Developing software for computer-aided design of very large multi-domain systems
Événement - date
29 /66
Existing distributed control
Don’t use resources in a optimal way • High constraints on the network or
• Non-optimal control law
Événement - date
30 /66
Proposed distributed control
Integration of computation and communication models
Interaction with control
Événement - date
31 /66
Proposed distributed control
)(
1
),(),(
)(
1 1
)(
1
)().(..PNbC
n
mnsmn
PNbB
n
n
i
ibimi
pNb
b
bg TTSNISTCNEC c
seq
Integration of computation and communication models
Interaction with control
Événement - date
32 /66
Preliminary results
Événement - date
33 /66
Preliminary results
Événement - date
34 /66
Outline
Introduction
The Smart Projects
– Presentation
– Results
Claytronics
– Presentation
– Results
Challenges
Conclusion & perspectives
Événement - date
35 /66 www.cs.cmu.edu/~claytronics
Claytronics
Événement - date
36 /66
www.cs.cmu.edu/~claytronics
Claytronic Apple Real Apple
Claytronics
Événement - date
37 /66 37
CATOM = Claytonic Atom
~meters (2006)
~decimeters (2007)
~centimeters (2007)
~milimeters (2010)
Claytronics
Événement - date
38 /66
Shell
Chip
Catom
Catom: a rolling cylinder.
Shell
Chip
Shell: SiO2 film + Aluminum
Chip: HV SOI CMOS die
Catom (1)
Événement - date
39 /66
Coupling Electrodes
Two types of electrodes:
1) Coupling electrodes
2) Actuation electrodes
Actuation
Electrodes
Chip has two main functions:
1) Power
2) Actuation
Actuation
Electrodes
Catom (2)
Événement - date
40 /66
Outline
Introduction
The Smart Projects
– Presentation
– Results
Claytronics
– Presentation
– Results
Challenges
Conclusion & perspectives
Événement - date
41 /66
Hardware results: Electrostatics
One mechanism: four functions
– Adhesion
– Actuation
– Communication
– Power Transfer
Événement - date
42 /66
Hardware results: Electrostatics
One mechanism: four functions
– Adhesion
– Actuation
– Communication
– Power Transfer
Événement - date
43 /66
Software results
Suppose we have a robotic system where the robots can move around one another
How can we get them to a particular location (e.g. 4) with 3 lines of code?
s t 4 0 3 2 1
s t 4 0 3 2 1
Événement - date
44 /66
Walk example
Rule 1:
dist(S, DS) :- at(S, PS), destination(PD), DS = |PS-PD|.
Rule 2: farther(S, T) :- neighbor(S, T), dist(S, DS), dist(T,DT), DS >= DT.
Rule 3: moveAround(S,T,P) :- farther(S,T), vacant(T,P),
dist(S,DS), destination(PD), DS > |P-PD|.
Événement - date
45 /66
Walk example: Rule 1, dist
dist(S, DS) :- at(S, PS), destination(PD), DS = |PS-PD|.
dist(s, DS) :- at(s, <0>), destination(PD), DS = |<0>-PD|.
dist(s, DS) :- at(s, <0>), destination(<4>), DS = |<0>-<4>|.
dist(s, 4) :- at(s, <0>), destination(<4>), 4 = |<0>-<4>|.
s t 4 0 3 2 1
Événement - date
46 /66
Walk example: Rules
Rules are created:
destination(<4>)
at(s, <0>)
at(t, <1>)
neighbor(s,t)
neighbor(t,s)
vacant(t,<2>)
dist(s, 4)
dist(t, 3)
...
s t 4 0 3 2 1
Événement - date
47 /66
Walk example: Rule 2, farther
farther(S, T) :- neighbor(S, T), dist(S, DS), dist(T,DT), DS >= DT.
farther(s, t) :- neighbor(s, t), dist(s, DS), dist(T,DT), DS >= DT.
farther(s, t) :- neighbor(s, t), dist(s, 4), dist(t,DT), 4 >= DT.
farther(s, t) :- neighbor(s, t), dist(s, 4), dist(t,3), 4 >= 3.
farther(s, t) :- neighbor(s, t), dist(s, 4), dist(t,3), 4 >= 3.
s t 4 0 3 2 1
Événement - date
48 /66
Walk example: Rules
Farther rule is added:
s t 4 0 3 2 1
destination(<4>)
at(s, <0>)
at(t, <1>)
neighbor(s,t)
neighbor(t,s)
vacant(t,<2>)
dist(s, 4)
dist(t, 3)
farther(s,t)
...
Événement - date
49 /66
Walk example: Rule 3, moveAround
moveAround(S,T,P) :- farther(S,T), vacant(T,P), dist(S,DS), destination(PD), DS > |P-PD|.
moveAround(s,t,P) :- farther(s,t), vacant(t,P), dist(s,DS), destination(PD), DS > |P-PD|.
moveAround(s,t,<2>) :- farther(s,t), vacant(t,<2>), dist(s,DS), destination(PD), DS > |<2>-PD|.
moveAround(s,t,<2>) :- farther(s,t), vacant(t,<2>), dist(s,4), destination(PD), 4 > |<2>-PD|.
moveAround(s,t,<2>) :- farther(s,t), vacant(t,<2>), dist(s,4), destination(<4>), 4 > |<2>-<4>|.
moveAround(s,t,<2>) :- farther(s,t), vacant(t,<2>), dist(s,4), destination(<4>), 4 > |<2>-<4>|.
Événement - date
50 /66
Walk example
moveAround(s,t,<2>) is an action, not a fact
– Causes robot s to move to <2>
3 lines of code makes two robots reach their goal
– Program is provable
– Fault-tolerant
s t 4 0 3 2 1
s t 4 0 3 2 1
Événement - date
51 /66
Gates-Hillman shape change (10M units)
Événement - date
52 /66
Gates-Hillman shape change type create(catom, point). type destroy(catom, catom). type give(catom, catom). type resources(catom, int). extern int inTargetShape(point). type in(catom). type out(catom). type state(catom, min int). type parent(catom, catom, int). type child(catom, catom). type false(catom, catom). type possibleParent(catom, first catom, min int). type notChild(catom, catom). in(Module) :- position(Module, Spot), 1 = inTargetShape(Spot). out(Module) :- position(Module, Spot), 0 = inTargetShape(Spot). state(Module, Neutral) :- position(Module, _), Neutral = 2.
state(Module2, Path) :- neighbor(Module1, Module2, _), state(Module1, Final), Final = 0, out(Module2), aPath = 1. state(Module2, Path) :- neighbor(Module1, Module2, _), state(Module1, Path), Path = 1. state(Module2, Final) :- neighbor(Module1, Module2, _), state(Module1, Final), Final = 0, in(Module2). possibleParent(Module2, Module1, Dist2) :- neighbor(Module1, Module2, _), state(Module2, Path), Path = 1, parent(Module1, _, Dist1), Dist2 = Dist1 + 1. possibleParent(Module2, Module1, Dist) :- neighbor(Module1, Module2, _), state(Module2, Path), Path = 1, state(Module1, Final), Final = 0, Dist = 1. child(Module2, Module1) :- neighbor(Module1, Module2, _), possibleParent(Module1, Module2, _). parent(Module1, Module2, Dist) :- neighbor(Module2, Module1, _), child(Module2, Module1), possibleParent(Module1, Module2, Dist).
notChild(Module1, Module2) :- neighbor(Module1, Module2, _), parent(Module2, Module3, Dist2), parent(Module1, _, Dist1), Dist2 <= Dist1 + 1, Module1 != Module3. notChild(Module1, Module2) :- neighbor(Module1, Module2, _), state(Module2, Final), Final = 0. destroy(Module1, Module2) :- state(Module1, Path), Path = 1, neighbor(Module1, Module2, _), resources(Module1, Destroy), Destroy = 0, resources(Module2, Destroy), Destroy = 0, forall neighbor(Module1, N, _) notChild(Module1, N), forall child(Module1, Child) false(Module1, Child). give(Module1, Module2) :- neighbor(Module1, Module2, _), resources(Module1, Create), Create = 1, resources(Module2, Destroy), Destroy = 0. create(Module, Spot) :- state(Module, Final), 0 = Final, // in final state vacant(Module, Spot), 1 = inTargetShape(Spot), resources(Module, Create), 1 = Create.
Événement - date
53 /66
Outline
Introduction
The Smart Projects
– Presentation
– Results
Claytronics
– Presentation
– Results
Challenges
Conclusion & perspectives
Événement - date
54 /66
Challenges
Hardware
– Voltage difference management between actuation and logic
– Seamless integration of MEMS and IC
– Designing affordable chips
– Designing robust MEMS
– Building micro-communication devices
– Building wireless nanonetworks
Événement - date
55 /66
Challenges
Software
– Scalability
– Fault-tolerance
– Implicit communications
– Maintaining a logical topology
– Optimization of the relation between logical and physical topologies
– Dealing with complexity of programming and controlling large ensembles of synchronized MEMS
Événement - date
56 /66
Challenges
Software (cont’d)
– Need for efficient simulation tools
– Tradeoff between computation/communication/sensing
– High speed networking for control
– Properties verification
– Relation with macro world
– Layered or cross-layer model
Événement - date
57 /66
Outline
Introduction
The Smart Projects
– Presentation
– Results
Claytronics
– Presentation
– Results
Challenges
Conclusion & perspectives
Événement - date
58 /66
Conclusion
Asynchronous communications better scale
– Better tolerance to fault
– Better scalability
Easier for developers if communications are hidden
– Ensemble principle that drives languages developed in Claytronics
Having a real working experimental plate-form is still a challenge
– Cost a lot
– Needs different skills
Événement - date
59 /66
Perspectives
MEMS/IC integration will lead the way to distributed intelligent MEMS
Many challenges are still to be addressed
Wireless ranged communication are promising
Creation of a research community in distributed intelligent MEMS:
– dMEMS workshop, April 2nd and 3rd 2012
• http://dmems.univ-fcomte.fr
We need you!
Événement - date
60 /66
Perspectives
Imagine
– 3D Fax machines
– Kinesthetic CAD tools
– Morphing Medical Device
– Ultimate mobile device
– 3D-theater TV
– Pario games
– “In person” remote meetings
Organization of IEEE iThings - IEEE CPSCom - IEEE/ACM GreenCom - IEEE FTDCS
Prof. Julien Bourgeois, FEMTO-ST Institute
Organization of IEEE iThings - IEEE CPSCom – IEEE GreenCom
September 11th-14th, 2012 Besançon, France
Workshop proposal deadline: 27 February, 2012
Paper submission due: 15 May, 2012
Notification of acceptance: 30 June, 2012
Camera-ready due: 15 July, 2012
Événement - date
62 /66
Acknowledgments
All Claytronics team, but in particular:
– Emre Karagozler and David Ricketts, CMU
All Smart Surface and Smart Block teams, but in particular
– Eugen Dedu, UFC/FEMTO-ST
– Benoit Piranda, University of Franche-Comté
– Didier El Baz, Vincent Boyer, LAAS/CNRS
– Nadine Piat, Guillaume Laurent, FEMTO-ST
Événement - date
63 /66
Claytronics example CMU/INTEL/UFC
Événement - date
64 /66
0 0 1 1 1 1 0 0
shifts every T = 100ms DATA 1
1
1 0
0
0
1 0
Logic
Événement - date
65 /66
shifts every T = 100ms DATA 1
1
1 1
0
0
0 0
0 0 1 0 1 1 0 1
Logic
Événement - date
66 /66
1
0
1 1
0
1
0 0
0 0 0 0 1 1 1 1 `
shifts every T = 100ms DATA
Logic
Événement - date
67 /66
0
0
1 1
1
1
0 0
0 1 0 0 1 0 1 1 `
shifts every T = 100ms DATA
Logic
Événement - date
68 /66
0 1 0 0 0 0 0 0 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
69 /66
1 0 0 0 0 0 0 0 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
70 /66
0 0 0 1 0 0 0 0 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
71 /66
0 0 1 0 0 0 0 0 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
72 /66
0 0 0 0 0 1 0 0 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
73 /66
0 0 0 0 1 0 0 0 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
74 /66
0 0 0 0 0 0 0 1 `
ENABLE shifts every T/32 seconds
Logic
Événement - date
75 /66
0 0 0 0 0 0 1 0
shifts every T/32ms ENABLE
Logic
Événement - date
76 /66
0 0 1 0 0 0 0 0 `
shifts every T/32 seconds ENABLE
Two pulses in
T/32 seconds
PULSE
1 2
2 1
Logic
Événement - date
77 /66
Internet of [micro]-things
Smart Surface
Claytronics
Macro
worl
d
Mic
ro w
orld
Monolithic intelligent objects Distributed intelligent MEMS objects
Événement - date
78 /66
Internet of [micro]-things
Smart Surface
Claytronics
Macro
worl
d
Mic
ro w
orld
Monolithic
intel. obj.
Distributed intelligent MEMS objects Low density of communication
Few communicating objects
Single point of contact
High density of communication
High number of communicating objects
No point of contact by default
IoT
Événement - date
79 /66
Determine the best criteria according to:
• Memory usage
• Execution time and need for computing power
Exhaustive Comparison Framework (ECO)