An End-to-End Approach to Globally Scalable Programmable Networking Micah Beck, Assoc. Prof. & Director Terry Moore, Assoc. Director James S. Plank, Assoc.

Slides:



Advertisements
Similar presentations
Recent Developments in Logistical Networking Micah Beck, Assoc. Prof. & Director Logistical Computing & Internetworking (LoCI) Lab Computer Science Department.
Advertisements

Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Internet Backplane Protocol: Storage in the Network James S. Plank, Micah Beck, Wael Elwasif, Terry Moore, Martin Swany, Rich Wolski University of Tennessee.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
An End-to-End Approach to Globally Scalable Network Storage Presented in cs294-4 P2P Systems by Sailesh Krishnamurthy 15 October 2003.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Distributed Processing, Client/Server, and Clusters
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Introducing … Distributed Systems.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
OSD Metadata Management
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 Programming systems for distributed applications Seif Haridi KTH/SICS.
Internetworking Fundamentals (Lecture #2) Andres Rengifo Copyright 2008.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
Case Study - GFS.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Cloud MapReduce : a MapReduce Implementation on top of a Cloud Operating System Speaker : 童耀民 MA1G Authors: Huan Liu, Dan Orban Accenture.
Introduction to Distributed Programming Per Brand.
J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
JuxMem: An Adaptive Supportive Platform for Data Sharing on the Grid Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan, France Workshop.
CH2 System models.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Peer-to-Peer Distributed Shared Memory? Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan/Bretagne France Dagstuhl seminar, October 2003.
What is a Distributed File System?? Allows transparent access to remote files over a network. Examples: Network File System (NFS) by Sun Microsystems.
Introduction to Logistical Networking Micah Beck, Assoc. Prof. & Director Logistical Computing & Internetworking (LoCI) Lab APAN Advanced.
1 Logistical Computing and Internetworking: Middleware for the Use of Storage in Communication Micah Beck Jack Dongarra Terry Moore James Plank University.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Logistical Networking Micah Beck, Research Assoc. Professor Director, Logistical Computing & Internetworking (LoCI) Lab Computer.
JuxMem: An Adaptive Supportive Platform for Data Sharing on the Grid Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan, France Grid Data.
Logistical Networking as an Advanced Engineering Testbed Micah Beck, Assoc. Prof. & Director Logistical Computing & Internetworking (LoCI) Lab
Presenters: Rezan Amiri Sahar Delroshan
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
An Exposed Approach to Reliable Multicast in Heterogeneous Logistical Networks Micah Beck, Assoc. Prof. & Director Logistical Computing & Internetworking.
1 Mobile Management of Network Files Alex BassiMicah Beck Terry Moore Computer Science Department University of Tennessee.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Wide Area Data Sharing with Logistical Networking Micah Beck, Assoc. Prof. & Director Logistical Computing & Internetworking (LoCI) Lab Computer Science.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Distributed Computing Systems CSCI 4780/6780. Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line.
An End-to-End Approach to Scalable Network Storage Micah Beck, Associate Professor Director, Logistical Computing & Internetworking (LoCI) Lab Terry Moore,
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Revisiting failure detectors Some of you asked questions about implementing consensus using S - how does it differ from reaching consensus using P. Here.
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
An Architectural Approach to Managing Data in Transit Micah Beck Director & Associate Professor Logistical Computing and Internetworking Lab Computer Science.
DHCP Vrushali sonar. Outline DHCP DHCPv6 Comparison Security issues Summary.
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Seminar On Rain Technology
Definition of Distributed System
Google File System CSE 454 From paper by Ghemawat, Gobioff & Leung.
University of Technology
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Presentation transcript:

An End-to-End Approach to Globally Scalable Programmable Networking Micah Beck, Assoc. Prof. & Director Terry Moore, Assoc. Director James S. Plank, Assoc. Prof & Director Logistical Computing & Internetworking (LoCI) Lab Computer Science Department Future Directions in Net Architecture WorkshopSept 27, 2003

What We Mean By That Title »End-to-End: Rorschach for Networkers Generic functionality at intermediate nodes Push complex functionality to “endpoints” »Scalability has many dimensions Number and distribution of nodes “Global” – like the Internet »Programmable Networking Able to implement new functionality without deploying new infrastructure

How to Build a Scalable Network Service From Things You Have Around the House »Weaken the Semantics Best Effort: Availability, Correctness & Security »Implement stronger guarantees End-to-End Maximum Service Units in all dimensions »Visible state must be generic Softness of state is a function of its use, not its implementation

Review: Scalable Network Storage »An End-to-End Approach to Globally Scalable Network Storage, SIGCOMM 2002 Beck, M., Moore, T., and Plank, J. »End-to-End means writer to reader »Weak semantics: storage at server not necessarily available, correct or secure! Tends to upset storage people Network people find it more natural »Déjà vu: Are we reinventing file-based networks? »“Everything I need to know I learned in Multics”

The Internet Backplane Protocol »malloc-like allocation API; load/store/copy »Maximum Service Units in all dimensions Maximum size of storage allocation Maximum duration of storage lease (renewable) »Generic service: Minimal structure in stored state Names not semantically meaningful (long, random) Servers are functionally interchangeable »Warning: Denial of Service attacks! »Scalable yes, but is it worth doing?

A Gratuitous Diagram Not worth doing Won’t scale Too good to be true functionality scalability The limit of scalable functionality Scalable services

Scalable Programmable Networking »Elements of Programmability Transforming data (computing) Making decisions (control) »Computing is resource intensive »Control is hard to scale »Let’s start with computation Remote Procedure Call (client/server) Network services operating on flows (send/receive) »Warning: Denial of Service attacks!

Applying Our Methodology »Weaken the Semantics Correctness & Security Best Effort: Availability, Correctness & Security »Implement these End-to-End Maximum Service Units in all dimensions »Maximum size of input & output »Maximum duration of computation »Push state management to the endpoints Functional operations; no communication! IBP provides scalable state management

The Network Functional Unit (NFU) »Exposed Service Model Buffer-to-buffer operations Must be composed with communication »Remote Procedure Call »Flow Service »IBP allocations can be RAM or mapped files NFU operationclient sender receiver

The NFU API (simplified) »IBP_nfu_run(IBP_depot, NFU_op, IBP_arg_list[]) »Depot Address/port identifier »NFU_op: numerical operation identifier Different implementations of same opcode must be interchangable »IBP_arg_list: list of allocations on called depot Each list element specifies »call by reference (IBP capability) or value »read-only or read/write Data types are not checked by NFU call mechanism

Dealing with State in the NFU »Operands and results are IBP allocations »State & side effects are possible But are they necessary? (use RAM buffers!) »What operations are supported on a depot? Whatever application communities want Not necessarily homogeneous, but consistent »How is the set of operations extended? Assigned names w/ fixed semantics Trust is required to install new operations »Dynamic extension reduces scalability

End-to-End Guarantees: Availability »A weak model is arbitrary outputs on failure Weaker still: arbitrary inputs on failure Stronger model: atomicity »Transient unavailability: Retry »Partition: redundancy in management of state Don’t overwrite inputs Checkpointing Transactions

Correctness: Now It Gets Difficult »Can computational elements be untrusted? »Generalize from Networking & Storage »These services “compute” the identity »Checksums verify the identify function »We need to verify other services Independent redundant computations Efficiently verifiable computations »Verifiability may require redundancy in outputs »Example: When computing a GCD, return all the prime factors

Security is difficult, too! »Current approaches to remote computation require trust & authentication of the server Communication between client & server is secure This is classical hop-by-hop security! »This assures accountability »End-to-end: compute without decrypting »Is it possible? In some cases, perhaps. »Is a dual strategy possible? “Trust but verify”

Is This Anything? Is It Networking? »“This no longer fits my intuition of what networking is. This is remote access to storage or distributed computation or something else.” »What is networking? How did I get here? »What do users what from the network? Synchronous communication Asynchronous communication »Computation is sometimes required »Implementing control is a performance issue Support for distributed applications

Multidimensional Networking “… memory locations … are just wires turned sideways in time” Dan Hillis, 1982, Why Computer Science is No Good

Illustrative Example: Merge Tree Depot 1 Depot 2 Depot 3 M C Z Y B L X A endpoint KLMKLM XYZXYZ ABCABC K X merge state stream state merge network stream state operations in red are initiated by endpoint copy K

What About Performance? »Obvious problems with client-to-depot latency Data & Control dependences enforced at edge »Deep pipelining can mask latency Fill pipe with straight-line code We could even label and cache “instructions” »When autonomy is delegated to processor, state at depot increases Pseudo-processes can be created at the discretion of the client

Related Work »Ephemeral State Processing, Calvert, Griffioen and Wen, SIGCOMM bit allocations; scalar operations »Active Networking »Agents & Mobile Code »Distributed Operating Systems Remote Procedure Call Checkpointing & Process Migration State Machine Models »Grid Computing; Peer-to-Peer

Conclusions »Our architectural development follows a clear architectural methodology, generalizing from IP The network is made up of limited-size, unreliable, limited-duration resources Creation of unbounded, reliable, permanent abstractions is difficult and costly »Why is this so counter-intuitive? Networking starts from an analysis of scalability Computer Science usually starts from desired functionality »The proof of the pudding is in the tasting…