Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
CSE398:Network Systems Design
Instructor: Dr. Liang ChengDepartment of Computer Science and Engineering
P.C. Rossin College of Engineering & Applied ScienceLehigh University
March 28, 2005
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Outline
RecapNetwork processor architectures
Issues in scaling a network processorSummary and homework
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
RecapNetwork processor architecture is characterized by
Processor hierarchyMemory hierarchyInternal busesExternal interfacesSpecial-purpose functional unitsSupport for concurrent or parallel executionProgramming modelDispatch mechanisms
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Design QuestionsCan we make network processors
Faster?More powerful?Cheaper?More general?Easier to use?All of the above?
Scalable design is fundamental
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Scaling the Processor Hierarchy
General purpose CPUHighest level functionalityAdministrative interfaceSystem controlOverall management functionsRouting protocols
Embedded processorIntermediate functionalityHigher-layer protocolsControl of I/O processorsException and error handlingHigh-level ingress (e.g., reassembly)High-level egress (e.g., traffic shaping)
I/O processorBasic packet processingClassificationForwardingLow-level ingress operationsLow-level egress operations
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Packet Flow through HierarchyTo maximize performance, packet processing tasks should be assigned to the lowest level processor capable of performing the task.
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
The Pyramid of Processor Scale
Lower levels need the most increase
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Scaling the Processor Hierarchy
Make processors fasterUse more concurrent threadsIncrease numbers of processorsIncrease processor types
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Scaling the Memory Hierarchy
SizeSpeedThroughputCost
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Memory SpeedAccess latency
Raw read/write access speedSRAM 2 - 10 ns: flip-flop, 4-6 transistorsDRAM 50 - 70 ns: capacitor under 1 transistorExternal memory takes order of magnitude longer than onboard
Memory cycle timeMeasure of successive read/write operationsImportant for networking because packets are largeRead Cycle time (tRC) is time for successive fetch operationsWrite Cycle time (tWC) is time for successive store operations
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
The Pyramid of Memory ScaleLargest memory is least expensive
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Memory Bandwidth
General measure of throughputMore parallelism in access path yields more throughputCannot scale arbitrarily
Pinout limitsProcessor must have addresses as wide as bus
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Memory Cache
General-purpose technique better thanExternal memory
Memory controllerMagnitude longer to access than on-chip memory
May not work well in network systemsLow temporal localityLarge cache size (either more entries or larger granularity of access)
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Content Addressable Memory (CAM)
Combination of mechanismsRandom access storageExact-match pattern search
Rapid search enabled with parallel hardware
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Arrangement of CAMOrganized as array of slots
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Lookup in Conventional CAMGiven
Pattern for which to searchKnown as key
CAM returnsFirst slot that matches key, orAll slots that match key
Algorithmfor each slot do {
if ( key == slot ) {declare key matches slot;
} else {declare key does not match slot;
}}
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Ternary CAM (T-CAM)Allows masking of entriesGood for network processorOne, zero, don’t care
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
T-CAM LookupEach slot has bit maskHardware uses mask to decide which bits to testAlgorithmfor each slot do {
if ( ( key & mask ) == ( slot & mask ) ) {declare key matches slot;
} else {declare key does not match slot;
}}
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Partial Matching with a T-CAMKey matches slot #1
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Using a T-CAM for Classification
Extract values from fields in headersForm values in contiguous stringUse a key for T-CAM lookupStore classification in slot
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
Outline
RecapNetwork processor architecturesSummary and homework
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/28/05
SummaryScalability key issuePrimary subsystems affecting scale
Processor hierarchyMemory hierarchy
Many memory types availableSRAMSDRAMCAM
T-CAM useful for classification