DOC PREVIEW
Berkeley COMPSCI 252 - Introduction to Network Processors

This preview shows page 1-2-3-4-5-37-38-39-40-41-42-74-75-76-77-78 out of 78 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 78 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Introduction to Network ProcessorsOutlineIntroductionWhat is a Network Processor?Motivations for using a Network ProcessorWhat Can an NP Be Used For?Common Features in NPsNP Architectural ChallengesProblem Spaces Addressed by NP’sNetwork Application PartitioningNetwork Processor FocusGeneric Networking EquipmentL3-L7 Application ExamplesOversimplified Categorization of ApplicationsCategorizing Application Types and NeedsMore Detailed Application CharacteristicsBasic Paradigm of Forwarding Plane ProcessingCanonical Network Processing FlowChallenges Faced by Network ProcessorsChallenges for NPsProcessing Time BudgetsLatency Challenges of Packet ProcessingLocality Can Be Poor in Network ApplicationsCruelty to Memory (1): Access SizeCruelty to Memory (2): Life of a PacketCruelty to Memory (3): Stress and ContetionSolutionsWhy a Network Processor?Special Functions Found in NPsSolutions Offered by Network ProcessorsNP’s Use a Variety of Acceleration TechniquesAcceleration Techniques (2)Acceleration via PipeliningAcceleration via ParallelismLatency Hiding via Hardware Multi-ThreadingCoprocessors: NP’s for NP’sSummarySupplementary MaterialsTCP/IP DatagramBasic TerminologyWhy not just use a GHz+ Pentium?Variety of Workload PartitioningTasks for Network ProcessorsA Little (Random) HistoryTime SupportAcceleration DetailsAccelerating Header ParsingAccelerating LookupsAccelerating Internal CommunicationsPartitioning on Network ProcessorsReducing Media Management OverheadFabricsEvaluating Network Processors for Your NeedsBenchmarkingMetricsOther Evaluation CriteriaNetwork Processor SoftwareNetwork Processor ValueNetwork ApplicationsL2/L3 ForwardingNetwork Address Translation (NAT)IPSec VPNFirewallsLoad BalancingQuality of ServiceProtocol ConversionSoftware PartitioningSlide 68Data Plane ProcessingControl PlaneManagement PlaneNetwork Application CharacteristicsException HandlingNetwork Reconfiguration ExceptionsConnection ExceptionsTCP Handshake ExampleTCP EndpointsConnections per Second is a Driving MetricIntroduction to Network Processors 3/7/20021Introduction to Network ProcessorsGuest Lecture at UC Berkeley, 07Mar2002Chuck Narad, Principal System ArchitectIntel Network Processor DivisionIntroduction to Network Processors 3/7/20022Outline•Introduction•Application Partitioning•Generic Networking Equipment•Network Processor Focus•Network Processor Challenges •Fitting the Architecture to the Problem SpaceIntroduction to Network Processors 3/7/20023Introduction•Overview of networking applications and processing systems that are tuned to address them•Network Processing vs. Network Processors•Discussion of Network Processors must be driven by what networking applications do–Moving data from here to there: Switching, Routing, Aggregation/Disaggregation, Bridging etc.–Providing services: Security, Monitoring, Traffic Shaping etc.•Value proposition of NP’s:–Improve TTM and to reduce investment by turning a silicon design problem into a programming problem–Provide flexibility and field upgradability in networking equipmentIntroduction to Network Processors 3/7/20024What is a Network Processor?•Terminology emerged in the industry 1997-1998–Many startups competing for the network building-block market•Broad variety of products are presented as an NP•Some amount of integration and some amount of programmability•Generally some characteristics that enable efficient processing of network headers in cells or packets•Sometimes support for higher-level flow management•Wide spectrum of capabilities and target marketsIntroduction to Network Processors 3/7/20025Motivations for using a Network Processor•“Flexibility of a fully programmable processor with performance approaching that of a custom ASIC.”•Faster time to market (no ASIC lead time)–Instead you get software development time•Field upgradability leading to longer lifetime for products in the field–Ability to adapt deployed equipment to evolving and emerging standards and new application spaces•Enables multiple products using common hardware•Allows the network equipment vendors to focus on their value-addIntroduction to Network Processors 3/7/20026What Can an NP Be Used For?•Highly dependent on user’s application:•Integrated uP + system controller + “acceleration”•Fast forwarding engine with access to a “slow-path” control agent•A smart DMA engine•An intelligent NIC•A highly integrated set of components to replace a bunch of ASICs and the blade control uPIntroduction to Network Processors 3/7/20027Common Features in NPs•Pool of multithreaded forwarding engines•Integrated or attached GP uP•High Bandwidth and High Capacity Memories–Embedded and external SRAM and DRAM•Integrated media interface or media bus•Interface to a switching fabric or backplane•Interface to a “host” control processor•Interface to coprocessorsIntroduction to Network Processors 3/7/20028NP Architectural Challenges•Application-specific architecture•Yet, covering a very broad space with varied (and ill-defined) requirements and no useful benchmarks•The Swiss Army Knife challenge–Versatile but does a bad job at everything•Need to understand the environment•Need to understand network protocols•Need to understand networking applications•Have to provide solutions before the actual problem is defined–Decompose into the things you can know–Flows, bandwidths, “Life-of-Packet” scenarios, specific common functionsIntroduction to Network Processors 3/7/20029Problem Spaces Addressed by NP’sIntroduction to Network Processors 3/7/200210Network Application Partitioning•Network processing is partitioned into planes–Forwarding Plane: Data movement, protocol conversion, etc–Control Plane: Flow management, (de)fragmentation, protocol stacks and signaling stacks, statistics gathering, management interface, routing protocols, spanning tree etc.•Control Plane is sometimes divided into Connection and Management Planes–Connections/second is a driving metric–Often connection management is handled closer to the data plane to improve performance-critical connection setup/teardown–Control processing is often distributed and hierarchicalIntroduction to Network Processors 3/7/200211Network Processor Focus•The NP is generally aimed at Forwarding Plane tasks–Data shovel–Light Touch: Framing, SAR’ing, Classification and Lookups, Mappings (port, path, tag, flow,


View Full Document

Berkeley COMPSCI 252 - Introduction to Network Processors

Documents in this Course
Quiz

Quiz

9 pages

Caches I

Caches I

46 pages

Lecture 6

Lecture 6

36 pages

Lecture 9

Lecture 9

52 pages

Figures

Figures

26 pages

Midterm

Midterm

15 pages

Midterm

Midterm

14 pages

Midterm I

Midterm I

15 pages

ECHO

ECHO

25 pages

Quiz  1

Quiz 1

12 pages

Load more
Download Introduction to Network Processors
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to Network Processors and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to Network Processors 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?