Post on 13-Dec-2015
How do we control the Network in the Box(es)?
Discussion on the need to control distributed network processors.
John Dickey
jdickey@mmcnet.com
Terms• Control Operation– The manipulation of an entity
that may alter or query its future behavior. • Control Message – The encoding of a Control
Operation into a data format that may be sent to entity(ies).
• Network Data Packets – Packets that are processed by an entity but do not alter the entity’s future behavior.
• Control Processor Elements – An entity which has a dominant purpose to do Control Operations.
• Network Processor Elements– An entity which has a dominant purpose is to process Network Data Packets.
Network Data Packet(Does not alter State)
state
alg
Network Interface
Network Interface
Network Network
Control Operation
Simpler Times.
Problem:Complexity Increases Over Time
• Needs Increase.– N – Number of users increase.– P – Algorithmic requirements increase.– S – Speed increase.– C – Port Density Increase.
• N*P*S*C > “Moore’s Law”
• Non-Linear growth.
Solution:Distribution and SpecializationNetwork Processors and Control processors.
• Distribute Work Tasks to multiple specialized entities.– By utilizing Parallel Processing a more linear scaling of
processing may be achieved.– Push the most intensive processing out to the edge of
the system.– Provide for communication (network) between entities
for control.– Provide programmability to allow for flexible of
algorithms for future proofing.
• Specialize the entities to their particular tasks.– CP’s – do Heavy Lifting for Control Processing.– NP’s -do the Heavy Lifting of Network Data Packets.
Alg.
Alg.
Alg.Alg. Alg. Alg. Alg.
Alg.
Alg.
Alg.
Alg.
Alg.
ControlProcessor
NetworkProcessors
New Problems:How do they all work together?
• Challenges are significant (Fun)!– Multi-Processor.– Multi-Vendors.– Multi-Tech generations.– Distributed Data Bases.– Different connection topologies. May to communicate over crossbars,
busses, Stacked Switches, Multicast Media, Unicast Media, etc.– May need to provide NP <->NP communications, as well as CP<->NP
communications.– Must keep per port cost low!
• We cannot overly burden Network Processors with high control overhead.
• Some NPs have 99.9999% resource dedicated to efficient packet processing.
• Some NPs have 1k Instructions or less.• Many are Cut-Through not Store and Forward.• Potentially, very little buffering.
Familiar Solutions:Standard Control Protocol.
• Provide a Standard Control Protocol between entities.– Define a set of services that the protocol provides.– Define Control Message Formats for those services.– Allow for proxies to assist less flexible tech. to be
compatible with new standard.– Allow for NP<->NP, NP<->Muli NP, CP<->NP,
and CP<->Multi-NP control.