Improving the Performance of Distributed Applications Using Active Networks - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Improving the Performance of Distributed Applications Using Active Networks

Description:

1. Improving the Performance of Distributed Applications Using Active Networks ... Emerged to solve those problems (DARPA, 94) The Network is Active in two ways: ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 21
Provided by: mhef1
Category:

less

Transcript and Presenter's Notes

Title: Improving the Performance of Distributed Applications Using Active Networks


1
Improving the Performance of Distributed
Applications Using Active Networks
  • Mohamed M. Hefeeda
  • 4/28/1999

2
Agenda
  • Active Networks
  • Limitations of the current Networking System
  • Definitions and motivations
  • Approaches
  • programmable switches
  • capsules
  • Programming Models (capsules)
  • Distributed Applications
  • Online auctions, stock quotes, distributed
    caching, ...
  • Performance comparisons
  • Summary and Conclusions

3
Current Networking System
  • Computation within the network
  • Very limited
  • Only packets header processing, no payload
    change
  • Independent of the user and the application
  • Limitations
  • Difficulty of integrating new technologies and
    standards into the existing structure (e.g. IP6,
    ...)
  • Difficulty to accommodate new services
    (multicast, )
  • Poor performance due to redundant operations at
    several protocol layers

4
Active Networks Definitions
  • Emerged to solve those problems (DARPA, 94)
  • The Network is Active in two ways
  • Nodes perform computations on the packets flowing
    through them. The packets can, for example
  • invoke some compression/decompression routines
  • compute next hop to the destination
  • send zero or more copies of the packet on
    selected links
  • authenticate themselves
  • modify themselves, .
  • Users can inject programs into the network,
    thereby tailoring the node processing to be
    user_and application_specific

5
Active Networks
6
Active Networks Motivations
  • Recent applications such as
  • Firewalls, Web proxies, Multicast routers,
    Nomadic routers, .
  • Go beyond the traditional network structure by
    doing some computations but in ad hoc approaches.
  • Active Networks objective is to
  • Provide a generic approach that allows users to
    program their networks

7
Active Networks Rate of innovations
  • IP networks (Internet)
  • Standard packet format
  • Standard processing on almost all packets
  • Thus, changing the protocol means changing
    everything
  • Very low rate of innovations
  • Active Networks
  • Nodes will provide sets of virtual instructions
  • Therefore, nodes can execute many different
    protocols
  • This allows a very wide range of new
    user-invented services that are not limited by
    the network structure or the vendors products
  • Very high rate of innovations

8
Active Networks Approaches
  • Programmable Switches Discrete approach
  • Programs and data are carried discretely i.e.,
    within separate messages
  • Users inject their programs into the required
    nodes
  • Then, they send the data packets
  • When a packet arrives, its header is examined and
    the suitable routine is executed
  • This separation is useful when
  • programs are relatively large
  • program loading must be carefully controlled

9
Active Networks Approaches (contd.)
  • Capsules Integrated approach
  • Every message is a program that contains at least
    one instruction and embedded data
  • When a capsule arrives at a node, the program
    will be executed and affect the data.
  • In the same way as a PS printer interprets the
    contents of a PS file.

10
Active Networks Programming Models
  • Standardized models for programming the nodes and
    allocate their resources
  • The Models should provide
  • Mobility
  • executing codes on various platforms
  • Safety
  • restrict the access to the resources
  • Efficiency
  • achieve mobility and safety without sacrificing
    the network performance

11
Programming Models Services (Instruction Set)
  • Common primitives
  • Packet manipulation
  • changing header, payload, length,
  • Access to the nodes environment
  • node address, time of the day, link status,
  • Controlling packet flow
  • forwarding, copying, discarding, .
  • Resource allocation (How to allocate resources?)
  • Physical resources
  • transmission BW, storage, processing capacity,
    ...
  • Logical resources
  • routing tables, management information base, ...

12
Program Encoding Approaches
  • Source Code
  • Uses scripting languages (e.g. Safe-Tcl)
  • Programs can be composed quickly
  • Safe, mobile, and human readable
  • But Not efficient because
  • source code interpretation
  • relatively large size
  • Intermediate Code
  • Uses intermediate instruction set (e.g. Java
    byte-code)
  • Safe, mobile, and compact size
  • More efficient

13
Program Encoding Approaches (contd.)
  • Binary code
  • Platform-dependent
  • Safe and very efficient
  • But Not mobile

14
Distributed Applications
  • Mixing Sensor Data

15
Distributed Applications (contd.)
  • Online Auctions
  • The server collects and processes client bids for
    each item
  • It responds to requests for the current prices
  • The information may be out of date by the time it
    reached to the user (auctioneer) because of the
    network delay
  • In an Active Network, the server may activate
    some routines on the routers and update them
    frequently
  • These routers can filter out the low bids and
    respond with current prices
  • So, they reduce the load on server and the
    network delay

16
Distributed Applications (contd.)
  • Active Reliable Multicast
  • Provides point-to-group communication facility
  • NACK may overload the server and consume the BW
  • Active Nodes solve this problem
  • a limited amount of multicast data is cached and
    retransmitted downstream when a NACK is received,
    reduces latency and BW
  • Duplicate NACKs are suppressed by checking the
    sequence number reduces the server load and BW
    usage
  • Missing data packets are detected by checking for
    gaps in the sequence numbers. If a gap found the
    node generates a NACK and sends it towards the
    server for retransmission reduces latency

17
Distributed Applications (contd.)
  • Stock quotes
  • The server should supply changing up-to-date
    info. (quotes) to users as fast as possible
  • Traditional whole web page caching is not
    suitable
  • Active nodes used to reduce server load and
    latency
  • they cache quotes (with their time stamp)
  • then they receive the subsequent requests and
    check the cache. If they are available, they are
    assembled into a web page and sent to the client.
  • This greatly reduces the load on the server and
    latency

18
Performance comparisons
  • Load on Servers

19
Performance comparisons (contd.)
  • Latency at Clients

20
Summary and Conclusions
  • Active Networks allow users to program the
    network
  • Wide range of new services and applications can
    easily and rapidly be realized
  • Performance of the distributed application can be
    enhanced by using active networks
Write a Comment
User Comments (0)
About PowerShow.com