How do we control the Network in the Box(es)? Discussion on the need to control distributed network...

8
How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey [email protected]

Transcript of How do we control the Network in the Box(es)? Discussion on the need to control distributed network...

Page 1: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

How do we control the Network in the Box(es)?

Discussion on the need to control distributed network processors.

John Dickey

[email protected]

Page 2: 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.

Page 3: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

Network Data Packet(Does not alter State)

state

alg

Network Interface

Network Interface

Network Network

Control Operation

Simpler Times.

Page 4: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

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.

Page 5: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

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.

Page 6: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

Alg.

Alg.

Alg.Alg. Alg. Alg. Alg.

Alg.

Alg.

Alg.

Alg.

Alg.

ControlProcessor

NetworkProcessors

Page 7: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

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.

Page 8: How do we control the Network in the Box(es)? Discussion on the need to control distributed network processors. John Dickey jdickey@mmcnet.com.

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.