ubiquitous component remoting support on overlay network
DESCRIPTION
Ubiquitous Component Remoting Support on Overlay Network. Adaptation support with Ontology-based annotation Roaming support of wireless component communication Switching support of component communication using network processors - PowerPoint PPT PresentationTRANSCRIPT
Ubiquitous Component Remoting Support on Overlay Network Adaptation support with Ontology-based a
nnotation Roaming support of wireless component co
mmunication Switching support of component communi
cation using network processors Streaming support of component communi
cation for multimedia applications Transcoding support (On-going)
Component Remoting Technology Map
Component Remoting Technology Map
Switching support of component communication using network processors
Switching mechanism supports Remote Object Invocation, .Net Remoting and Java RMI.
The switching mechanism is implemented on IXP1200.
Porting the switching mechanism to IXP2400.
Future work: Parsing header, transcoding
Hardware comparison
IXP1200 IXP2400Platform Radisys ENP-2505 Radisys ENP-2611
Core StrongARM_232Mhz Xscale_600Mhz
MicroEngine/thread 6/4 8/8
RAM sizeScratchpad-4KB
SRAM-8MBDRAM-128MB
Scratchpad-16KBSRAM-8MB
DRAM-256MB
I/O 4 10/100 EtherNet Ports 3 Gigabit optical ports
New feature Scratch Ring, Next Neighbor register
porting
Two mode of NNR: Date can be read
by next ME (ex. ME0:0 write data into a NNR, ME0:1 can read data from its NNR. )
Use as extra GPR NNR are useful
when two pipeline stages are communicating.
Next Neighbor Register
ME Cluster 0
ME 0:0ME 0:0 ME 0:1ME 0:1 ME 0:2ME 0:2 ME 0:3ME 0:3
ME Cluster 1
ME 1:0ME 1:0 ME 1:1ME 1:1 ME 1:2ME 1:2 ME 1:3ME 1:3
Behavior of Packet Receiving
1. Divide packet into mpackets
2. Store Mpackets into DRAM
3. Gather metadata from Mpacket
64Byte
0 64 149
DRAM
SOP
EOP
Metadata of packet
ScratchPad RAMMetadata formatdl_buf_handle //The current buffer containing SOP dl_eop_buf_handle // for large packets, the buffer containing EOP. input port // port from which the packet is rxed……
…
0
1
2
15
Ring DescriptorsRing Descriptors
headheadtailtail
basebaseSize=128Size=128
Scratchpad RAMScratchpad RAM
…
Ring data
Size = 128
Scratch Ring
SRAMSRAM
Blueprint Ingress: one thread to
receive packets from one 100 Mbps Ethernet port
Egress: a scheduler thread loads the packets from the packet queues of each port in round-robin fashion
L2 Bridge: relays and filters frames
L3 Forwarder: forwards packets based on a forwarding table
Stack ACE: allows I/O to and from the TCP/IP stacks and ACEs
Load Balancer: distributing requests to servers according to servers’ load
StrongARMStrongARM
IngressACE
IngressACE
StackACE
StackACE
L2BridgeL2
BridgeLoad
BalancerLoad
BalancerL3
ForwarderL3
ForwarderEgressACE
EgressACE
LinuxTCP/IPStack
ME 0ME 0
IngressMicrocodeIngress
Microcode
ME 5ME 5
EgressMicrocodeEgress
Microcode
ME 1ME 1
L2L2 LBLB L3L3
ME 2ME 2
L2L2 LBLB L3L3
ME 3ME 3
L2L2 LBLB L3L3
ME 4ME 4
L2L2 LBLB L3L3
Resource Manager
New Blueprint for IXP2400(Microengine)
ME 0:0ME 0:0
Packet RxMicrocodePacket RxMicrocode
ME 0:1ME 0:1
De-capsulateDe-capsulate ForwardForward Load-balancerLoad-balancer
ME 0:2ME 0:2
De-capsulateDe-capsulate ForwardForward Load-balancerLoad-balancer
ME 0:3ME 0:3
De-capsulateDe-capsulate ForwardForward Load-balancerLoad-balancer
ME 1:0ME 1:0
Packet QMMicrocodePacket QMMicrocode
ME 1:1ME 1:1
PacketSchedulerMicrocode
PacketSchedulerMicrocode
ME 1:2ME 1:2
Packet Tx MicrocodePacket Tx Microcode
ME 1:3ME 1:3
Packet Tx MicrocodePacket Tx Microcode
Communication with Core components
Use Neighbor Register
Progress
What is done Microcode New blueprint of switching mechanism o
n IXP2400 Todo
Core component Performance measure