Active Network Support Services Demonstration Columbia University, University of California Berkeley, University of California Los Angeles,



Similar documents
Novel Systems. Extensible Networks

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles

Resource Utilization of Middleware Components in Embedded Systems

RVS-Seminar Implementation and Evaluation of WinJTAP Interface. Milan Nikolic Universität Bern

Steelcape Product Overview and Functional Description

Automated Planning for Open Network Architectures Alexey Rudenko

Cisco Collaboration with Microsoft Interoperability

An Oracle Technical White Paper November Oracle Solaris 11 Network Virtualization and Network Resource Management

Where IT perceptions are reality. Test Report. OCe14000 Performance. Featuring Emulex OCe14102 Network Adapters Emulex XE100 Offload Engine

Bandwidth-limited systems. Chapter 8 Bandwidth-Limited Systems. Two flavors of limited bandwidth - 1. Outline of the chapter

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

Packet-based Network Traffic Monitoring and Analysis with GPUs

VIDEO SURVEILLANCE WITH SURVEILLUS VMS AND EMC ISILON STORAGE ARRAYS

Zing Vision. Answering your toughest production Java performance questions

Integration of Voice over Internet Protocol Experiment in Computer Engineering Technology Curriculum

Resource Management and Containment for Active Services

VIA CONNECT PRO Deployment Guide

RTP Performance Enhancing Proxy

Cloud Computing. Up until now

Enterprise Manager Performance Tips

Introduction to Passive Network Traffic Monitoring

Supporting VoIP in IEEE Distributed WLANs

Masters Project Proxy SG

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Three Key Design Considerations of IP Video Surveillance Systems

Facility Usage Scenarios

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Network Traffic Monitoring and Analysis with GPUs

What is virtualization

Leveraging NIC Technology to Improve Network Performance in VMware vsphere

OpenFlow: Load Balancing in enterprise networks using Floodlight Controller

TalkShow Advanced Network Tips

Influence of Virtualization on Process of Grid Application Deployment

D1.2 Network Load Balancing

Optimizing Network Virtualization in Xen

Course Project. Project Title: Comparing Schemes for Network Programmability. Presented to : Professor G. Bochmann. Li Tang

Achieving Performance Isolation with Lightweight Co-Kernels

Jonathan Worthington Scarborough Linux User Group

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Performance Evaluation of Linux Bridge

GraySort on Apache Spark by Databricks

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

The old Internet. Software in the Network: Outline. Traditional Design. 1) Basic Caching. The Arrival of Software (in the network)

The Case Against Jumbo Frames. Richard A Steenbergen <ras@gtt.net> GTT Communications, Inc.

SIDN Server Measurements

Monitoring and Managing a JVM


Application Note. Onsight TeamLink And Firewall Detect v6.3

PQoS Parameterized Quality of Service. White Paper

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

Configuring Your Computer and Network Adapters for Best Performance

CSE 237A Final Project Final Report

Operating Systems Design 16. Networking: Sockets

Mesos: A Platform for Fine- Grained Resource Sharing in Data Centers (II)

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

9/26/2011. What is Virtualization? What are the different types of virtualization.

Real-time Virtual NIC on KVM for Real-Time Network with OpenFlow

Instrumentation Software Profiling

The Ecosystem of Computer Networks. Ripe 46 Amsterdam, The Netherlands

Service and Resource Discovery in Smart Spaces Composed of Low Capacity Devices

10 Key Things Your VoIP Firewall Should Do. When voice joins applications and data on your network

AT&T Connect Video Conferencing Functional and Architectural Overview. v9.5 October 2012

Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck

An Oracle White Paper September Advanced Java Diagnostics and Monitoring Without Performance Overhead

TELE 301 Network Management

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS

OpenFlow with Intel Voravit Tanyingyong, Markus Hidell, Peter Sjödin

Abstract. Introduction. Section I. What is Denial of Service Attack?

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

Gigabit Ethernet Design

Can High-Performance Interconnects Benefit Memcached and Hadoop?

Silver Peak Virtual Appliances

Allocating Network Bandwidth to Match Business Priorities

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation

Traffic Monitoring in a Switched Environment

Hyper-V R2: What's New?

IPOP-TinCan: User-defined IP-over-P2P Virtual Private Networks

VIA COLLAGE Deployment Guide

NComputing L-Series LAN Deployment

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Proposal for Virtual Private Server Provisioning

Flexible Architecture for Internet of Things Utilizing an Local Manager

High-Performance IP Service Node with Layer 4 to 7 Packet Processing Features

NON-INTRUSIVE TRANSACTION MINING FRAMEWORK TO CAPTURE CHARACTERISTICS DURING ENTERPRISE MODERNIZATION ON CLOUD

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

Iperf Tutorial. Jon Dugan Summer JointTechs 2010, Columbus, OH

Optimizing Network Virtualization in Xen

Chapter 1 Reading Organizer

GPU-Based Network Traffic Monitoring & Analysis Tools

Network Traffic Analysis

Network Traffic Monitoring & Analysis with GPUs

Programmable Networking with Open vswitch

WHITE PAPER. Ad Insertion within a statistical multiplexing pool: Monetizing your content with no compromise on picture quality

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

I3: Maximizing Packet Capture Performance. Andrew Brown

AFDX Emulator for an ARINC-based Training Platform. Jesús Fernández Héctor Pérez J. Javier Gutiérrez Michael González Harbour

QualNet 4.5 Network Emulation Interface Model Library

Transcription:

Active Network Support Services Demonstration Columbia University, University of California Berkeley, University of California Los Angeles, University of Utah December 6, 2000

Outline Introduction Description of the demo Nestor (Columbia) Panda (UCLA) Janos (University of Utah) Ninja (UC Berkeley) Conclusion

Introduction What are active network support services? Node operating systems Active network management Middleware to make active networks more usable General clustering services applied to active networks Generally, they assist core active network technologies (like EEs and active applications) in doing their jobs

Two Important Characteristics of These Services 1. Intended for use by many applications Requiring high degree of generality And interfaces usable by wide range of applications 2. Should interoperate naturally

The Demonstration Two goals 1. Show the value of the support services 2. Demonstrate interoperation Basic strategy Show several support services working together Adding value to an application using active networks

What Will We Be Showing? A videoconferencing application Built from basic video and audio streams Active services allow it to operate in difficult conditions Poor network links Competing traffic and applications Failures Goal is to show obvious improvement

Some Details Two cameras streaming live video/audio In WaveVideo wavelet encoding Not directly using active networks Crossing a wireless link Resulting in unacceptable video quality Facing competing traffic at one node Eventually, one of the service nodes fails

The Demo Situation What if a key node fails? Competing traffic Wireless link with insufficient bandwidth

Solving the Demo s Problems Use a Ninja cluster to achieve fault tolerance Reserve resources with Janos node OS Competing traffic Monitor conditions with Nestor Use Actiware VANS and Panda active network adaptations Wireless link with insufficient bandwidth

What Are Nestor and Actiware Doing? Nestor observes wireless link characteristics Reports them to Panda, when requested Also displays them in real time on a system management machine Actiware sets up virtual active network links for Panda over wireless link

What Is Panda Doing? Panda intercepts four non-active data streams and makes them active Sets up a (simple) plan for adaptation Based on information from Nestor Runs adaptors at near end of wireless link Adaptor that drops some wavelet levels Adaptor that gives more bandwidth to speaker

What Is Janos Doing? Makes reservations for Panda flows on intermediate node In the face of competing: CPU hogs Network hogs Memory hogs

What Is Ninja Doing? Ninja runs Panda at one location in cluster mode When one cluster node running Panda fails, Ninja fails over to another node In around one second

On With the Demo! Two live video/audio feeds are being sent through the network just described Note that the output sucks Let s get started fixing it!

The Demo Setup Competing traffic Wireless link with insufficient bandwidth

Actiware and Nestor

Panda Middleware to bring benefits of active networks to legacy programs and other ANunaware programs Panda applies active network adaptations to selected non-active streams

Adaptation of Unaware Applications Many existing applications don t use active networks Many future applications won t, either But many kinds of data streams are automatically recognizable And adaptable using active networks

How Does Panda Help Unaware Applications? Intercept data streams at sending node Choose streams that Panda can handle Convert packets in stream to ANTS packets Deploy adaptors to do something helpful At destination, strip off ANTS stuff and deliver non-active packets

Adaptation Composition In complex networks, one adaptation at one place is often insufficient Combining multiple adaptations must be done carefully Requires planning to ensure adapter compatibility And proper overall behavior

Panda Planning Two types of planning currently supported: Planning at sending node Sending node specifies which adapters and where Hop-by-hop planning Each node decides on local adapters Using knowledge of previously deployed adapters Heuristics used in demo very primitive More sophisticated planning is partially implemented

What Panda Does in the Demo Panda captures both video and both audio streams Converts them to ANTS active format Examines Nestor-supplied information about wireless link conditions Chooses plan to filter wavelet encoding use Actiware VANs to reserve bandwidth give preferential treatment to speaker s streams Deploys and runs necessary adaptor Converts back to non-active form at destination

Team 3: Demo 2000 Janos Project University of Utah Flux Research Group janos

Java Active Network OS Java-oriented active network operating system From AAs all the way down to the wires [JSAC 2001] Provides standard OS facilities Separation Resource control Termination but in a Java Virtual Machine janos

Java Active Network OS Abstractions from operating systems [HotOS 99] User/kernel boundary, process model Mechanisms from garbage collection: Distributed GC, write barriers Key issue: controlled sharing Packet buffers Based on KaffeOS [Back et al, OSDI 2000] Comprehensive resource control Physical memory, CPU, outgoing network bandwidth janos

Janos in the Demo Demonstration of Janos support for resource controls over Java code CPU Network bandwidth Memory Demonstration of Java code in low-level networking janos

Janos in the Demo Janos node connects video source network and video display network Janos janos

Janos in the Demo IPFwd application forwards packets Hog applications waste resources All apps are written to Janos Java NodeOS API Each application runs in its own Java process Separate GC, Heap, namespace, CPU, threads, etc. janos

Janos Setup IP Fwd Net Hog Mem Hog Janos Java NodeOS JanosVM Moab NodeOS Utah OSKit CPU Hog Java C PIII 600 / 3x 100Mbs / 128MB janos

Janos Setup IP Fwd Net Hog Mem Hog Simple IP routing of two video streams to display network Network bandwidth abuser Consumes 90% of output link Infinite memory waster Java GC cleans up, restricted to 2MB CPU Hog Endless CPU consumer 200 threads in infinite loops janos

IP Fwd IP Forwarder Validates header checksum, decrements TTL, picks OutChan Written in Java: if (bufhandle.computechecksum(0, IPHeader.HEADER_LENGTH_NO_OPTIONS)!= 0) throw new Error( Bad checksum ); if (!IPHeader.consumeTTL(bufHandle, 0)) throw new Error( No time to live ); routeentry = this.lookuproute(this.iface, IPHeader.getDestination(bufHandle, payloadoffset)); if ((outchan = routeentry.getchannel())!= null) oc.send(bufhandle); Zero-copy buffer access janos

Hog (Net CPU Mem) Hog Runs in own Janos domain Efficiently wastes just one resource Net hog gets significant CPU allocation Each written in Java Stats Stats & Control Talks to GUI on separate NIC janos

Performance More than enough for the demo 500 pps, ~500 bytes per packet IP Forwarder handles almost 18Kpps About 40% of the C version Ping across forwarder in less than 1ms janos

Demonstration Janos manages CPU, memory, network usage of each domain. Parameters are setup such that Forwarder flow gets more than enough X hog gets a small share of X Disabled scheduler is simple round-robin over quantum (time slice or packet send ) Memory scheduler cannot be disabled Cannot revoke allocated pages janos

Future Work Performance Interrupt -> Polling model for rx JanosVM optimizations (JIT & GC optimizations, etc.) Build applications to our model Validate the sharing/separation Improve resource schedulers Include latency requirements janos

Summary Janos provides resource guarantees to active network code Janos supports Java code for systems Zero-copy buffer access Full NodeOS API available (except Mem) Janos provides OS process model for Java applications janos

Available http://www.cs.utah.edu/flux/janos/ NodeOS in C: Moab OSKit, Linux, FreeBSD, Solaris NodeOS in Java: Bindings for: Moab, JDK, (soon) AMP JanosVM Available soon ANTS ANTSR available now ANTS 2.0 available soon Janos and KaffeOS papers available today and on web janos

Ninja

What Has This Demo Shown? Benefits of active network technologies Specifically, of AN service technologies Obvious benefit to a realistic service Ability of various active network services to interoperate beneficially Application of active networks to nonactive applications

Demo Lessons Network configuration is a pain Wireless is a pain Suggesting it s actually a good place to look for active network opportunities Increasing maturity of components has actually made them useful Demo devils are in the details

Why Didn t We Get Better Frame Rates? Multiple passes up and down through ANTS and kernels Wireless limitations Need better adaptations E.g., packet aggregation Java runtime overheads

Credits Who actually did the work? Kevin Eustice (UCLA) Ramakrishna Gummadi (UCB) Patrick Tullman (Utah) Alexander Konstantinou and Gong Su (Columbia)