Programmable Packets in the Emerging Extreme Internet David Culler UC Berkeley Intel Berkeley.

Slides:



Advertisements
Similar presentations
A System Architecture for Tiny Networked Devices
Advertisements

1 Chapter 11: Data Centre Administration Objectives Data Centre Structure Data Centre Structure Data Centre Administration Data Centre Administration Data.
Harbor: Software based Memory Protection for Sensor Nodes Ram Kumar, Akhilesh Singhania, Eddie Kohler and Mani Srivastava Introduction: Memory protection.
Virtualisation From the Bottom Up From storage to application.
Trickle: Code Propagation and Maintenance Neil Patel UC Berkeley David Culler UC Berkeley Scott Shenker UC Berkeley ICSI Philip Levis UC Berkeley.
Xen , Linux Vserver , Planet Lab
SDN and Openflow.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
Presented by Elisavet Kozyri. A distributed application architecture that partitions tasks or work loads between peers Main actions: Find the owner of.
Systems Wireless EmBedded Distributed System Design from a Sensor Net Perspective David Culler.
Current Proposal: Secure Language-Based Adaptive Service Platform (SLAP) for Large-Scale Embedded Sensor Networks David Culler Eric Brewer Dave Wagner.
Towards System Architecture for Tiny Networked Devices David Culler U.C. Berkeley Wireless hoo-hah 5/30/2000.
Towards I-Space Ninja Mini-Retreat June 11, 1997 David Culler, Steve Gribble, Mark Stemm, Matt Welsh Computer Science Division U.C. Berkeley.
An Energy Consumption Framework for Distributed Java-Based Systems Chiyoung Seo Software Architecture Research Group University of Southern California.
FI-WARE – Future Internet Core Platform FI-WARE Cloud Hosting July 2011 High-level description.
Finale’ cs294-8 Design of Deeply Networked Systems Spring 2000 David Culler & Randy Katz U.C. Berkeley
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
TinyOS Software Engineering Sensor Networks for the Masses.
Sensor Node Architecture Issues Stefan Dulman
Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano.
Philip Levis UC Berkeley 6/17/20021 Maté: A Tiny Virtual Machine Viral Programs with a Certain Cosmopolitan Charm.
Internet Indirection Infrastructure (i3) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002.
Towards a Distributed Test-Lab for Planetary-Scale Services David Culler UC Berkeley Intel Berkeley.
Bandwidth DoS Attacks and Defenses Robert Morris Frans Kaashoek, Hari Balakrishnan, Students MIT LCS.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
MICA: A Wireless Platform for Deeply Embedded Networks
Computer System Architectures Computer System Software
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
PlanetLab: A Distributed Test Lab for Planetary Scale Network Services Opportunities Emerging “Killer Apps”: –CDNs and P2P networks are first examples.
Mate: A Tiny Virtual Machine for Sensor Networks Presented by: Mohammad Kazem Ghaforian Mazandaran University of Scince & Technology.
Intel Berkeley and Extreme Networked Systems David Culler 8/12/2002.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Damon Jo.
Vincent Matossian September 21st 2001 ECE 579 An Overview of Decentralized Discovery mechanisms.
Korea Advanced Institute of Science and Technology Active Sensor Networks(Mate) (Published by Philip Levis, David Gay, and David Culler in NSDI 2005) 11/11/09.
An Overview of the PlanetLab SeungHo Lee.
Extreme Networked Systems: Large Self-Organized Networks of Tiny Wireless Sensors David Culler Computer Science Division U.C. Berkeley Intel
Mate: A Tiny Virtual Machine for Sensor Networks Phil Levis and David Culler Presented by Andrew Chien CSE 291 Chien April 22, 2003 (slides courtesy, Phil.
Overview of Sensor Networks David Culler Deborah Estrin Mani Srivastava.
1 A Blueprint for Introducing Disruptive Technology into the Internet Larry Peterson Princeton University / Intel Research.
Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Secure Routing in Wireless Sensor Networks: Attacks and Countermeasures Chris Karlof and David Wagner (modified by Sarjana Singh)
REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
1 REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
1 Testbeds Breakout Tom Anderson Jeff Chase Doug Comer Brett Fleisch Frans Kaashoek Jay Lepreau Hank Levy Larry Peterson Mothy Roscoe Mehul Shah Ion Stoica.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Introduction Why are virtual machines interesting?
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
0.1 IT 601: Mobile Computing Wireless Sensor Network Prof. Anirudha Sahoo IIT Bombay.
Company LOGO Network Management Architecture By Dr. Shadi Masadeh 1.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
01/27/10 What is PlanetLab? A planet-wide testbed for the R & D of network applications and distributed computing Over 1068 nodes at 493 sites, primarily.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Chapter 6: Securing the Cloud
CIS 700-5: The Design and Implementation of Cloud Networks
Internet Indirection Infrastructure (i3)
Trickle: Code Propagation and Maintenance
PlanetLab: a foundation on which the next Internet can emerge
Software Defined Networking (SDN)
Towards a Distributed Test-Lab for Planetary-Scale Services
Towards Distributed Test-Lab for Planetary-Scale Services
Towards a Distributed Test-Lab for Planetary-Scale Services
Presentation transcript:

Programmable Packets in the Emerging Extreme Internet David Culler UC Berkeley Intel Berkeley

8/7/2002Programmable Packets The emerging internet of 2012 won’t be dominated by independent, point-to- point transport between ‘desktops’ 99.9% of the network nodes will be the billions of devices deeply embedded in the physical world –they are the majority today, but not connected to each other or the web.... This will change. –they will generate a phenomenal amount of data Broad-coverage services spread over a substantial portions of the web serve millions at once –CDNs and P2Ps the tip of the iceberg These ‘extreme’ network environments may present a much greater need for programmability –may also be more condusive to generality –very different attack models and response

8/7/2002Programmable Packets Outline Motivation Deeply embedded networks of tiny devices Planetary-scale Services Discussion

8/7/2002Programmable Packets Deeply Embedded Networks # nodes >> # people sensor/actuator data stream unattended inaccessible prolonged deployment energy constrained operate in aggregate in-network processing necessary what they do changes over time => must be programmed over the network

8/7/2002Programmable Packets Berkeley Wireless Sensor ‘Motes’ Mote TypeWeCReneRene2DotMica DateSep-99Oct-00Jun-01Aug-01Feb-02 Microcontroller (4MHz) TypeAT90LS8535ATMega163ATMega103/128 Prog. Mem. (KB) RAM (KB)0.514 Communication RadioRFM TR1000 Rate (Kbps)1010/40 Modulation TypeOOKOOK/ASK

8/7/2002Programmable Packets TinyOS Application Graph RFM Radio byte Radio Packet UART Serial Packet ADC Tempphoto Active Messages clocks bit byte packet Route map routersensor appln application HW SW Example: self-organized ad- hoc, multi-hop routing of photo sensor readings 3450 B code 226 B data Graph of cooperating state machines on shared stack

8/7/2002Programmable Packets It is a noisy world after all... Get to rethink each of the layers in a new context –coding, framing –mac –routing –transport, –rate control –discovery –multicast –aggregation –naming –security –... Resource constrained, power aware, highly variable,... Every node is also a router No entrenched ‘dusty packets’ probability of reception from center node vs xmit strength

8/7/2002Programmable Packets Example “epidemic” tree formation

8/7/2002Programmable Packets Tiny Virtual Machines? TinyOS components graph supports a class of applns. Application flexibility / extendability needed –Re-tasking deployed networks –Adjusting parameters Binary program uploading takes ~2 minutes –significant energy cost, vulnerable transition Tiny virtual machine adds layer of interpretation for specific coordination –Primitives for sensing and communication –Small capsules (24 bytes) –Propagate themselves through network

8/7/2002Programmable Packets Maté Overview TinyOS component 7286 bytes code, 603 bytes RAM Stack-based bytecode interpreter Three concurrent execution contexts Code broken into capsules of 24 instructions Single instruction message send Self-forwarding code for rapid programming Message receive and send contexts

8/7/2002Programmable Packets Maté Network VM Architecture 0123 Subroutines Clock Send Receive Events gets/sets Code Operand Stack Return Stack PC Mate Context 3 execution contexts dual stack, 1-byte inst. Send/Rcv/Clock + sub capsules Hold up to 24 instructions Fit in a single TinyOS AM packet –installation is atomic –no buffering Context-specific inst: send, receive, clock Shared: subroutines 0-3 Version information

8/7/2002Programmable Packets Code Snippet: cnt_to_leds gets # Push heap variable on stack pushc 1 # Push 1 on stack add # Pop twice, add, push result copy # Copy top of stack sets # Pop, set heap pushc 7 # Push 0x0007 onto stack and # Take bottom 3 bits of value putled # Pop, set LEDs to bit pattern halt #

8/7/2002Programmable Packets Sending a Message pushc 1 # Light is sensor 1 sense # Push light reading on stack pushm # Push message buffer on stack clear # Clear message buffer add # Append reading to buffer send # Send message using built-in halt # ad-hoc routing system

8/7/2002Programmable Packets Viral Code Every capsule has version information Maté installs newer capsules it hears on network Motes can forward their capsules (local broadcast) –forw –forwo

8/7/2002Programmable Packets Forwarding: cnt_to_leds gets # Push heap variable on stack pushc 1 # Push 1 on stack add # Pop twice, add, push result copy # Copy top of stack sets # Pop, set heap pushc 7 # Push 0x0007 onto stack and # Take bottom 3 bits of value putled # Pop, set LEDs to bit pattern forw # Forward capsule halt #

8/7/2002Programmable Packets Code Progation 42 motes: 3x14 grid 3 hop network –largest cell 30 motes –smallest cell 15 motes

8/7/2002Programmable Packets Why Tiny Programmable Packets? All programming must be remote –rare opportunities to get to GDI, can’t mess with the birds, minimize disturbance –too many devices to program by hand Network programming of entire code image –essential, but often overkill –takes about 2 minutes of active radio time –window of vulnerability Packet programs propagate very cheaply –if a change will run for less than 6 days, less energy to interpret it ~10,000 instructions per second Task operations are 1/3 of Maté overhead 33:1 to 1.03:1 overhead on TinyOS operations

8/7/2002Programmable Packets Thoughts on the “Many Tiny” Deeply embedded networks of small devices are coming –utilize spatial diversity as well as coding and retransmission –severely constrained resources –self-organization is essential –deal with noise and uncertainty - routinely “Programming the network?” is not a question. –it is necessary –epidemic algorithms common –distributed algorithms (time synch, leader elec,...) –reactive by design –‘learning’ framework is natural (ex. MPR routing) Nodes interact directly with physical world –what they do will matter –potential to observe the effects of actions Models of security & privacy TBD! –very different attack models Deja vu opportunity

8/7/2002Programmable Packets The Other Extreme - Planetary Scale Services

8/7/2002Programmable Packets Motivation A new class of services & applications is emerging that spread over a sizable fraction of the web –CDNs as the first examples –Peer-to-peer,... Architectural components are beginning to emerge –Distributed hash tables to provide scalable translation –Distributed storage, caching, instrumentation, mapping, events... The next internet will be created as an overlay on the current one –as did the last one –it will be defined by its services, not its transport »translation, storage, caching, event notification, management There will soon be vehicle to try out the next n great ideas in this area

8/7/2002Programmable Packets Confluence of Technologies Cluster-based scalable distribution, remote execution, management, monitoring tools –UCB Millennium, OSCAR,..., Utah Emulab, ModelNet... CDNS and P2Ps –Gnutella, Kazaa,...,Pastry, Chord, CAN, Tapestry Proxies routine Virtual machines & Sandboxing –VMWare, Janos, Denali,... web-host slices (EnSim) Overlay networks becoming ubiquitous –XBONE, RON, Detour... Akamai, Digital Island,.... Service Composition Frameworks –yahoo, ninja,.net, websphere, Eliza Established internet ‘crossroads’ – colos Web Services / Utility Computing Grid authentication infrastructure Packet processing, –Anets,.... layer 7 switches, NATs, firewalls Internet instrumentation The Time is NOW

8/7/2002Programmable Packets Guidelines (1) Thousand viewpoints on “the cloud” is what matters –not the thousand servers –not the routers, per se –not the pipes, per se

8/7/2002Programmable Packets Guidelines (2) and you miust have the vantage points of the crossroads –primarily co-location centers

8/7/2002Programmable Packets Guidelines (3) Each service needs an overlay covering many points –logically isolated Many concurrent services and applications –must be able to slice nodes = > VM per service –service has a slice across large subset Must be able to run each service / app over long period to build meaningful workload –traffic capture/generator must be part of facility Consensus on “a node” more important than “which node”

8/7/2002Programmable Packets Guidelines (4) Test-lab as a whole must be up a lot –global remote administration and management »mission control –redundancy within Each service will require its own remote management capability Testlab nodes cannot “bring down” their site –generally not on main forwarding path –proxy path –must be able to extend overlay out to user nodes? Relationship to firewalls and proxies is key Management, Management, Management

8/7/2002Programmable Packets Guidelines (5) Storage has to be a part of it –edge nodes have significant capacity Needs a basic well-managed capability –but growing to the model should be considered at some –may be essential for some services

8/7/2002Programmable Packets Initial Researchers (mar 02) Washington Tom Anderson Steven Gribble David Wetherall MIT Frans Kaashoek Hari Balakrishnan Robert Morris David Anderson Berkeley Ion Stoica Joe Helerstein Eric Brewer John Kubi Intel Research David Culler Timothy Roscoe Sylvia Ratnasamy Gaetano Borriello Satya Milan Milenkovic Duke Amin Vadat Jeff Chase Princeton Larry Peterson Randy Wang Vivek Pai Rice Peter Druschel Utah Jay Lepreau CMU Srini Seshan Hui Zhang UCSD Stefan Savage Columbia Andrew Campbell ICIR Scott Shenker Mark Handley Eddie Kohler see

8/7/2002Programmable Packets Initial Planet-Lab Candidate Sites Intel Berkeley ICIR MIT Princeton Cornell Duke UT Columbia UCSB UCB UCSD UCLA UW Intel Seattle KY Melbourne Cambridge Harvard GIT Uppsala Copenhagen CMU UPenn WI Chicago Utah Intel OR UBC Washu ISI Intel Rice Beijing Tokyo Barcelona Amsterdam Karlsruhe St. Louis

8/7/2002Programmable Packets Approach:Service-Centric Virtualization Virtual Machine Technology has re-emerged for hosting complete desktop environments on non-native OS’s and potentially on machine monitors. –ex. VMWare,... Sandboxing has emerged to emulate multiple virtual machines per server with limited /bin, (no /dev) –ex. ENSim web hosting Network Services require fundamentally simpler virtual machines, can be made far more scalable (VMs per PM), focused on service requirements –ex. Jail, Denali, scalable and fast, but no full legacy OS –access to overlays (controlled access to raw sockets) –allocation & isolation »proportional scheduling across resource container - CPU, net, disk –foundation of security model –fast packet/flow processing puts specific design pressures Instrumentation and management are additional virtualized ‘slices’ –distributed workload generation, data collection

8/7/2002Programmable Packets Hard problems/challenges “Slice-ability” – multiple experimental services deployed over many nodes –Distributed Virtualization –Isolation & Resource Containment –Proportional Scheduling –Scalability Security & Integrity - remotely accessed and fully exposed –Authentication / Key Infrastructure proven, if only systems were bug free –Build secure scalable platform for distributed services »Narrow API vs. Tiny Machine Monitor Management –Resource Discovery, Provisioning, Overlay->IP –Create management services (not people) and environment for innovation in management »Deal with many as if one Building Blocks and Primitives –Ubiquitous overlays Instrumentation

8/7/2002Programmable Packets Programmable Packets w/i a Slice A service spread over the globe needs to be extensible through methods more lightweight than ‘reload all the code’ –not unlike the ‘new router firmware’ problem Smart Packets interpreted in the context of the containing service-slice, rather than generic core-router. Routing is overlay routing, so not limited by CISCO design cycle ‘Global view’ gives the service many advantages –not just localization / caching –adaptive or multipath routing in the overlay –multi-lateration in the network space »consider a global spam filter Reactive loops within a service are natural –service-driven load balancing, overlay management, SEDA-style processing

8/7/2002Programmable Packets Discussion Wide-Area Broad-Coverage Services Traditional pt-pt Internet Deeply- Embedded Networks

8/7/2002Programmable Packets Security: restricted API -> Simple Machine Monitor Authentication & Crypto works… if underlying SW has no holes  very simple system  push complexity up into place where it can be managed  virtualized services Classic ‘security sandbox’ limits the API and inspects each request Ultimately can only make very tiny machine monitor truly secure SILK effort (Princeton) captures most valuable part of ANets nodeOS in Linux kernel modules –controlled access to raw sockets, forwarding, proportional alloc Key question is how limited can be the API –ultimately should self-virtualize »deploy the next planetlab within the current one –progressively constrain it, introducing compatibility box –minimal box defines capability of thinix Host  1 planetSILK within  2 thinix VM