370 likes | 631 Views
NETWORKED EMBEDDED SYSTEMS. SRIKANTH SUBRAMANIAN. Agenda. Overview Networked Embedded Systems (NES) NES built on ASIPs NES built on General Purpose Processors Quantitative performance comparison of various NES for TCP and UDP Online HW/SW partitioning of NES. Overview.
E N D
NETWORKED EMBEDDED SYSTEMS SRIKANTH SUBRAMANIAN
Agenda • Overview Networked Embedded Systems (NES) • NES built on ASIPs • NES built on General Purpose Processors • Quantitative performance comparison of various NES for TCP and UDP • Online HW/SW partitioning of NES
Overview • NES are employed in Devices that form the backbone of communication networks • Routers, Network Bridges (Switches), Telephone Switches etc • Perform the task of data processing, Network Connectivity and Service delivery
Overview • NES were mostly implemented on Single Purpose Processors (SPPs) • SPPs - No Flexibility • Pose problems when the requirements change • Alternatives : General purpose processors or ASIPs (Network Processors)
Network Processors • ICs specifically built for networking application • Software Programmable Devices • Optimized features for networking applications : pattern Matching, Queue management, Data bit field manipulation etc.
NES based on ASIPs • Stareast: • Consists of a Baseboard and two daughter boards • Baseboard contains Intel IXP425 (533MHz) Processor
Scalable performance, Reduced power consumption, Low cost Deliver a range of data, voice, security and I/O features Distributed processing Architecture Combination of Intel XScale (an ARM Processor) and 3 Network Processing Engines (NPEs) Intel IXP425 Processor
Intel IXP425 Processor • XScale - Control plane • NPEs - computationally intensive data • Parallel Operation of Xscale and NPEs
NES based on ASIPs • Netgear WAG302: • Most commonly used wireless Access Point • Based on Intel IXP422B processor (266 MHz)
NES based on GPPs • Soekris net4826-50 • Based on AMD Geode Processor (266 MHz)
NES based on GPPs • Used to create fully customized routers and access points • Low cost, advanced communication features • AMD Geode processor comes under the X86 processor family
Quantitative Performance Comparison • Objectives: • Performance comparison Between NES based on GPP and NES based on ASIP • Performance comparison between Two NESs based on ASIP with one running on a commercial Operating system and another running Open source operating system
Experimental Setup • Three Stareast boards: • One running Montavista 4.0 OS • The other two running Snapgear versions 3.1 and 3.3 • Netgear WAG302 Running openWRT • Soekris net 4826 running Voyage Linux (Debian) distribution for X86 processors
Experimental Setup • To Study the behavior of the NESs, D-ITG traffic generator is used • Can generate IPv4/IPv6 traffic replicating the appropriate stochastic processes for both IDT( Inter Departure time) and PS (packet size) • Collect Statistics of Quality of Service (QOS) parameters: Throughput, Jitter, Packet loss and Delay (Latency)
Experimental Analysis • NES boards are connected back to back with the Workstation • Testing is performed using both TCP and UDP in the transport layer • Two types of tests are performed: • Discover the number of packets per second the devices are able to generate for fixed packet size • Measure bit rates, jitter, packet loss for different packet rates and sizes
Results • Packet Rate:
Results • Bitrate for UDP:
Results • Bitrate for TCP:
Results • Jitter for UDP:
Results • Jitter for TCP:
Results • Packet Loss for UDP:
Conclusions • NES based on ASIP running a commercial OS provides better performance as compared a NES based on GPP running a commercial OS • NES based on ASIP running open source OS are still less efficient as compared to commercial OS • Hence NES using network processors can play a major role in data intensive real time applications.
Online HW/SW Partitioning • Need: • Optimal partitioning of load into HW and SW during compile time is difficult • Arrival of new tasks during execution time • Failure of a node during run time
Network Architecture • Graph Theory: • Structure of Network ga = (N,C)
3 -1 -1 -1 -1 3 -1 -1 -1 -1 3 -1 -1 -1 -1 3 Network Architecture • Laplacian Matrix: Given a graph G with n vertices (without loops or multiple edges), its Laplacian matrix is defined as
Network Architecture • Assumptions w.r.t Network • Architecture graph is undirected • each computational task may be assigned to each node in the network without restriction • HW Reconfiguration • Temporal partition: Temporal HW/SW partition at time t is an assignment of each task pЄ P(t) to a resource N ( t ) as well as the indication whether the task is implemented in HW or SW.
Network Architecture • Workload characterization: Each task pjЄ P(t) causes a unique load whj on resource niЄ N ( t ) if implemented in HW and a load of wsj, if implemented in SW. • Load: For HW - The fraction of total area occupied by the load For SW - The fraction of execution time and period.
Diffusion Algorithm • load exchanges between two adjacent nodes are determined in each iteration as: yk-1c = β(wk-1i – wk-1j) for all c = {ni, nj} Є C wki = wk-1i - ∑ yk-1c c = {ni, nj} Є C • Changing β in each iteration k has shown that the convergence speed can be drastically improved to exactly m - 1 iterations Choosing β = 1/גk where 1 ≤ k ≤ m – 1 m – Number of distinct Eigen Values of the Laplacian matrix
Optimization Flow • Objectives: • Find a bi-partition such that the load is balanced between HW and SW i.e.; minimize ∑|N| wSi - ∑|N| wHi i = 1i = 1 • Effective Load Balance i.e.; minimize |w’ – max{maxi:niЄN{wSi }, max{maxi:niЄN{wHi }| by using Evolutionary Algorithm applied to encode implementation selection • Diffusion Algorithm only balances load between nodes not HW/SW load
Discrete Diffusion Algorithm • Need: It is advisable not to split one process and distribute it to multiple nodes. This increases the data traffic in the network. Let ycontkcbe the real-valued continuous and ydisckcthe discrete flow on one edge c in iteration k such thatydisckc doesn’t exceedycontkc ydisckc ≤ ycontkc +ek-1c with e0c = 0 ekc =ycontkc +ek-1c - ydisckc for all c={ni, nj} Є C An additional adjustment step is introduced emc =em-1c - yadjc
Experimental Analysis • Evaluation the discrete diffusion algorithm for different types of a network like meshes with 3x3 or 4x4 nodes, a ring and a chordal ring with 8 nodes • In the beginning all tasks are mapped onto a single resource node • Focus is set on the load error |w’ – wi| and the congestion in the network
Thank You Questions?