CSE398: Network Systems Design
Transcript of CSE398: Network Systems Design
CSE398:Network Systems Design
Instructor: Dr. Liang ChengDepartment of Computer Science and Engineering
P.C. Rossin College of Engineering & Applied ScienceLehigh University
March 23, 2005
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Outline
RecapComplexity of network processor designLab time log
Network processor architecturesSummary and homework
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Network Processor Architectures
Primary architecture characteristicsPacket flowSoftware architectureAssigning functionality to processor hierarchy
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Primary CharacteristicsProcessor hierarchyMemory hierarchyInternal transfer mechanismsExternal interface and communication mechanismsSpecial-purpose hardwarePolling and notification mechanismsConcurrent and parallel execution supportProgramming model and paradigmHardware and software dispatch mechanisms
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Processing Hierarchy
One or more embedded RISC processorsOne or more specialized coprocessorsMultiple I/O processorsOne or more fabric interfacesOne or more data transfer units
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Processor Hierarchy – Cont’dType Programmable? On Chip?General purpose CPU y possibleEmbedded processor y typicalI/O processor y tCoprocessor n tFabric interface n tData transfer unit n tFramer n possiblePhysical transmitter n possible
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Memory HierarchyMemory measurements
Random access latencySequential access latencyThroughputCostInternalExternal
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Internal Transfer Mechanisms
Programmers are free to choose … =>Internal busHardware FIFOsTransfer registersOnboard shared memory
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
External Interface and Communication Mechanisms
Standard and specialized bus interfacesMemory interfacesDirect I/O interfacesSwitching fabric interface
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Special-purpose Hardware
ArbitratorI/O manager
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Polling and Notification Mechanisms
Handle asynchronous eventsArrival of packetTimer expirationCompletion of transfer across the fabric
Two paradigmsPollingNotification
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Concurrent Execution SupportImproves overall throughputMultiple threads of executionProcessor switches context when a thread blocksEmbedded processor
Standard operating systemContext switching in software
I/O processorsNo operating systemHardware support for context switchingLow-overhead or zero-overhead
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Concurrent Support Questions
Local or global threads (does thread execution span multiple processors)?Forced or voluntary context switching (are threads pre-emptable)?
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Hardware and Software Dispatch Mechanisms
Refers to overall control of parallel operationsDispatcher
Chooses operation to performAssigns to a processor
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Implicit and Explicit Parallelism
Explicit parallelismExposes parallelism to programmerRequires software to understand parallel hardware
Implicit parallelismHides parallel copies of functional unitsSoftware written as if single copy executing
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Network Processor Architectures
Primary architecture characteristicsArchitecture styles and packet flowSoftware architectureAssigning functionality to processor hierarchy
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Architecture Styles
Embedded processor plus fixed coprocessorsEmbedded processor plus programmable I/O processorsParallel (number of processors scales to handle load)Pipeline processors
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Embedded Processor Architecture
Single processorHandles all functionsPasses packet on
Known as run-to-completion
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Parallel ArchitectureEach processor handles 1/N of total load
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Pipeline ArchitectureEach processor handles one functionPacket moves through ‘‘pipeline’’
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Clock Rates
Embedded processor runs at > wire speedParallel processor runs at < wire speedPipeline processor runs at wire speed
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Network Processor Architectures
Primary architecture characteristicsArchitecture styles and packet flowSoftware architectureAssigning functionality to processor hierarchy
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Software ArchitectureCentral program that invokes coprocessors like subroutinesCentral program that interacts with code on intelligent, programmable I/O processorsCommunicating threadsEvent-driven programRPC-style (program partitioned among processors)Pipeline (even if hardware does not use pipeline)Combinations of the above
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Example Uses of Programmable Processors1. Administrative interface2. Classification3. Control of I/O processors4. Exception and error handling5. Forwarding6. High-level egress (e.g., traffic shaping)7. High-level ingress (e.g., reassembly)8. Higher-layer protocols9. Low-level egress operations10. Low-level ingress operations11. Overall management functions12. Routing protocols13. System control
Instructor: Dr. Liang Cheng CSE398: Network Systems Design 03/23/05
Example Uses of Programmable Processors
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/23/05
Packet Flow through HierarchyTo maximize performance, packet processing tasks should be assigned to the lowest level processor capable of performing the task.