Mat A Tiny Virtual Machine for Sensor Networks
- Slides: 24
Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano
Outline • • • Sensor Networks Virtual Machines Maté Details Evaluation Conclusion
Sensor Networks • Composed of 1000’s of tiny devices (Motes) with limited resources
Berkeley Mote Specifications
Tiny. OS • OS designed for sensor networks • Split-phase non-blocking execution • Not suited well to non-expert programmers
Reprogramming Motes Reprogramming is desirable as: • Environmental conditions change • Analysis techniques evolve Examples: • Great Duck Island • Building instrumentation
Reprogramming Motes To change the behaviour of a Tiny. OS program, either: 1. Hardcode a state transition OR 2. Modify source code, recompile a Tiny. OS image and place image on mote
Sensor Networks Challenges • Energy – Recharging is difficult or impossible – Deterministic network lifetime desirable • Communication – Lossy wireless networks – Bandwidth conservation • Programming – Motes unreachable in deployed networks – Difficult for a non-programmer to program Tiny. OS
System Requirements • • Small Expressive Concise Resilient Efficient Tailorable Simple
Virtual Machine • Easier programming • Short VM programs • A VM can provide a safe program execution environment
Maté VM Overview • Bytecode interpreter that runs on Tiny. OS • Single Tiny. OS component that sits on top of several system components • Code fits in capsules of 24 instructions • Built-in ad-hoc routing algorithm AND mechanisms for writing new ones
Code Capsules • There are four types of capsules – Message send capsules – Message receive capsules – Timer capsules – Subroutine capsules
Maté Architecture
Instruction Set There are three classes of Maté instructions: basic 00 iiiiii i = instruction s-class 01 iiixxx i = instruction, x=argument x-class 1 ixxxxxx i = instruction, x=argument 8 instructions reserved for users to define
Code Execution • Execution of code begins in response to an event • These three contexts can run concurrently • Each instruction is executed as a Tiny. OS task
Code Security • Bound checks prevent overrun and underrun • Heap addressing is not a problem because there is only a single shared variable • Unrecognized instructions result in noops
Code Infection Reprogramming is easy: • Each capsule contains a type and version number • When a capsule with a more recent version is received, it is installed • forw or forwo is used to broadcast the capsule for network neighbours to install
Maté Evaluation Ad-hoc routing algorithm was implemented to measure: 1. Rate of instruction 2. CPU overhead 3. Network infection rates
1. Rate of Instruction. Test Operation Maté Clock Cycles Native Clock Cycles Cost Simple: and 469 14 33. 5: 1 Downcall: rand 435 45 9. 5: 1 Quick Split: sense 1342 396 3. 4: 1 Long Split: sendr 685+~20000 1. 03: 1 Maté Bytecode vs. Native Code
2. CPU Overhead • Given the energy cost of an execution and the energy cost of installation: – Mate is preferable for a small number of executions – For large number of executions, Native code is preferable
3. Network Infection Percentage of Motes Running New Program Over Time
Case Study Great Duck Island Application • Spends most of its time in deep sleep mode – draws 50 μA • Reads several sensors and sends a packet • Maté proves to save energy if only run for 5 days or less
Conclusion • Maté met all of the defined requirements • Maté can conserve energy in domains of frequent reprogramming • VM can provide user-land guarantees
References • http: //www. cs. berkeley. edu/~pal/resear ch/mate. html • http: //www. cs. berkeley. edu/~pal/pubs/ brown-7 -02. pdf • http: //www. cs. virginia. edu/~qc 9 b/fall 03 cs 851/mate_damon_jo. ppt
- Tiny virtual machine
- Datagram networks and virtual circuit networks
- Mat för unga idrottare
- Smart sensor networks using bluetooth
- Single node architecture in wsn
- Wireless sensor networks for habitat monitoring
- Bluetooth based smart sensor networks
- Habitat monitoring sensor
- Backbone networks in computer networks
- Has virtual functions and accessible non-virtual destructor
- Microsoft virtual machine converter download
- Virtual anesthesia machine
- Perangkat lunak pvm (parallel virtual machine) bersifat
- Virtual machine history
- Hadoop virtualbox
- Slidetodoc download
- Az vm repair
- System center - virtual machine manager
- Honeypot virtual machine
- Chase virtual machine
- Virtual machine life cycle
- Pvm parallel virtual machine
- Virtual pc dos
- Pentest virtual machine
- Virtual machine