Analysis of Network Processing Workloads - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Analysis of Network Processing Workloads

Description:

Department of Computer Science and Information Engineering. National Cheng Kung University, Taiwan ... The key point about this system design: ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 25
Provided by: VCDse
Category:

less

Transcript and Presenter's Notes

Title: Analysis of Network Processing Workloads


1
Analysis of Network Processing Workloads
Authors Ramaswamy Ramaswamy, Ning Weng, and
Tilman Wolf Publisher IEEE 2005 Present
Shih-Chin Chang (???) Date Thursday, December
31, 2009
Department of Computer Science and Information
Engineering National Cheng Kung University,
Taiwan
2
Outline
  • Introduction
  • PacketBench
  • PacketBench System
  • PacketBench API
  • PacketBench Prototype
  • Application Workload
  • Network Processing Applications
  • Network Traces and Routing Tables
  • Results
  • Average Statistics
  • Variation across Packets
  • Individual Packet Analysis

3
Introduction
4
Introduction (cont.)
  • Compared to other network processing simulators
    and benchmarks, PacketBench
  • First, be programmed easily
  • Second, allow applications to operate on actual
    packets in the same fashion as it is done inside
    the NP.
  • Third, be able to hide the overhead for packet
    preprocessing in the PacketBench framework.
  • PacketBench can be used in
  • Application Optimization
  • Allocation of Processing Tasks
  • Developing Novel NP Architectures
  • Understanding the Dynamics of Network Processing

5
Outline
  • Introduction
  • PacketBench
  • PacketBench System
  • PacketBench API
  • PacketBench Prototype
  • Application Workload
  • Network Processing Applications
  • Network Traces and Routing Tables
  • Results
  • Average Statistics
  • Variation across Packets
  • Individual Packet Analysis

6
PacketBench
PacketBench Framework
7
PacketBench System
  • The key point about this system design
  • The application and the framework can be clearly
    distinguished even though both components need
    to be compiled into a single executable in order
    to be simulated.
  • This is done by analyzing the instruction
    addresses and sequence of API calls.

8
PacketBench System (cont.)
  • PacketBench Framework
  • To provide functions that are necessary to read
    and write packets, and manage memory.
  • PacketBench API
  • To distinguish between PacketBench and
    application operations during simulation.
  • Network Processing Application
  • To implement the actual processing of the
    packets.
  • Processor Simulator
  • To get instruction-level workload statistics.

9
PacketBench API
  • To define how applications can receive, send, or
    drop packets.
  • void init()
  • This function is implemented by the application
    and called by the framework before any packets
    are processed.
  • void (process_packet_function)(packet )
  • This function is the packet handler that is
    implemented by the application.
  • void write_packet_to_file(packet , int)
  • This function is implemented by the framework and
    called by the application when processing is
    complete.

10
PacketBench Prototype
  • Use the ARM target of the SimpleScalar simulator
    to analyze the applications.
  • The ARM architecture is very similar to the
    architecture of the core processor and the
    microengines found in the Intel IXP 2400 network
    processor.
  • The tools were setup to work on an Intel x86
    workstation running RedHat Linux 9.0.
  • PacketBench supports packet traces in the tcpdump
    format and the Time Sequenced Header (TSH) format
    from NLANR.

11
Outline
  • Introduction
  • PacketBench
  • PacketBench System
  • PacketBench API
  • PacketBench Prototype
  • Application Workload
  • Network Processing Applications
  • Network Traces and Routing Tables
  • Results
  • Average Statistics
  • Variation across Packets
  • Individual Packet Analysis

12
Application Workload
  • Network Processing Applications
  • IPv4-radix
  • IPv4-trie
  • Flow Classification
  • TSA (Top-hashed Subtree-replicated Anonymization)
  • Network Traces and Routing Tables

13
Outline
  • Introduction
  • PacketBench
  • PacketBench System
  • PacketBench API
  • PacketBench Prototype
  • Application Workload
  • Network Processing Applications
  • Network Traces and Routing Tables
  • Results
  • Average Statistics
  • Variation across Packets
  • Individual Packet Analysis

14
Results
  • Three classes of results that can be derived
  • Microarchitectural Results
  • Network Processing Results
  • Per-Packet Analysis
  • These statistics are divided into three
    categories
  • Averaged Statistics
  • Variation across Packets
  • Individual Packet Analysis
  • Processing complexity the average number of
    instructions executed per packet.
  • The memory accesses and coverage statistics can
  • Distinguish between instruction and data memory.
  • Separate data memory into packet data and program
    data.

15
Average Statistics
  • Processing Complexity

The overhead of maintaining and traversing the
radix tree.
Take the same amount of instructions.
16
Average Statistics (cont.)
  • Memory Accesses
  • Accesses to packet memory (e.g. the packet
    header, the payload)
  • Accesses to non-packet memory (e.g. routing
    tables, flow tables)
  • This analysis was performed for the first 10,000
    packets of each trace.

17
Average Statistics (cont.)
  • Memory Coverage
  • By SimpleScalar
  • This analysis was performed on the first 1,000
    packets of the MRA trace.

Due to large data structures.
18
Variation across Packets
  • Processing Complexity

The first 500 packets of the MRA trace.
The first 100,000 packets of the COS trace.
19
Variation across Packets (cont.)
  • Memory Accesses

20
Individual Packet Analysis
  • Instruction Pattern

21
Individual Packet Analysis (cont.)
  • Unique Instructions

The first 100,000 packets of the COS trace.
22
Individual Packet Analysis (cont.)
  • Basic Block Access Frequency

23
Individual Packet Analysis (cont.)
  • Basic Block Coverage

24
Individual Packet Analysis (cont.)
  • Memory Access Sequence
Write a Comment
User Comments (0)
About PowerShow.com