Editor's note: This is the companion piece to Eric Carmés' article appearing in the October issue of Embedded Systems Design magazine.
The drive to all IP-based services is placing stringent performance demands on IP-based equipment and devices, which in turn is growing demand for multicore technology. There is strong growing demand for advanced telecommunications services on wired and wireless Next Generation Network (NGN) infrastructures, and fast growing demand for the same in the enterprise too. This telecommunications / IT convergence is a major revolution that is going to tear down barriers between both worlds and significantly simplify and accelerate the development of converged services at a lower cost.
Within a few years, more than 10 billion fixed and mobile devices will be connected via the Internet to add to the more than one billion already connected. New innovative Internet services based mainly on images and video will be launched, and intelligence in the network will be required to differentiate service offerings. All these services are going to be deployed over full IP-based architectures.
The telecommunications industry has well adopted multicore technology for its demanding services and with IP now being the de facto standard for enterprise information systems, multicore is fast moving into all enterprise environments as well. All equipment including security gateways, VoIP and ToIP systems, Web 2.0 applications, storage systems, etc. rely on a sophisticated IP communications layer. Single-core architectures can no longer sustain networking performance demands of IP-based next generation equipment. As such, the progression toward running applications on multicore-based architectures is well underway. However, the migration toward multicore introduces a myriad of new multicore-based networking and application integration design challenges and complexities.
Here, we will describe in more detail how multicore can be used for a new design for 4G telecommunications infrastructure and for a network offload engine for an existing SIP server.
LTE Architecture: LTE (Long Term Evolution) is gaining momentum to be the key standard for deploying Next Generation Network (NGN) wireless telecommunications services that provides end-users with unrivalled mobile broadband access. Features include data rates of more than 100 Mbps downlink and 50 Mbps uplink, simultaneous voice and data sessions, and low round-trip latency to support real-time applications like gaming and mobile TV.
3GPP, the standards body driving LTE, has specified a flat IP-based network architecture (SAE: System Architecture Evolution) with the aim to efficiently support massive usage of IP services. As a consequence, the network architecture is much simpler compared with existing architectures like 3G. Inter-working between CDMA and LTE-SAE has also been standardized to enable evolution to LTE.
LTE-SAE architecture relies on several key pieces of equipment:
- Packet Data Network Gateway (PDN-GW)
- Serving Gateway (S-GW)
- Mobility Management Entity (MME)
Figure 7 shows embedded software architecture for LTE equipment on a hardware platform using a single multicore processor. It is also applicable on a larger configuration with several multicore processors and on heterogeneous platforms using multicore processors for the Fast Path and generic purpose multicore processors for the Control Plane.
Network offloading engine for IP-based applications (SIP server example): Figure 8 describes the scaling challenge for IP-based applications when network traffic grows. Applications that can sustain today's traffic will not be able to scale when traffic ultimately reaches multi 10 Gbps. Packet processing will be a bottleneck especially when traffic will be made primarily of smaller packets. For instance, standard x86 architectures are not able to manage more than 500 Mpps of 64 byte packets–this is only one third of 1 Gbps traffic with such packet size.
To preserve existing applications, it will be mandatory to offload packet processing on specific resources. A dedicated front end can be used to do it and can be used to load balance the traffic to different application servers. Another possible solution is to move an existing application to multicore. Performance of an existing x86 application can be significantly improved by using one of the different scenarios described in Figure 6. Cores can be dedicated to packet processing while the remaining cores can provide applications with more processing capabilities. Figure 9 describes a possible architecture to provide a network offloading engine solution for an existing SIP Server based on x86 in scenario 2.
A dedicated front end based on a highly integrated multicore can be put in charge of packet processing. Compared to the LTE architecture, protocols to be handled should be simpler and it can, for instance, manage L2 (VLAN, Link Aggregation), packet reassembly, NAT, and IP QoS to prioritize flows. It can also be used to detect the beginning / end of RTP connections and load balance network traffic to the right SIP server (based on system decision) and maintain connections. Then, the packet processing front end will offload applications from processing data packets. Finally, statistics have to be provided to the system. Fast Path runs on a large number of cores to provide the maximum level of performance while one core is dedicated to Linux and management functions.
The shift to multicore technology to run advanced IP-based applications and services is well underway. Multicore technology has certainly introduced the hardware required for powerful processing demanded by converged telecommunications and enterprise applications running on IP-based architectures. But the new hardware has introduced new embedded networking and software challenges, complexities and design constraints. It is clear the multicore ecosystem is in need of efficient embedded software to truly maximize the performance possible with multicore technology as applications must be able to seamlessly, and with more ease, migrate to multicore. Embedded designers must be able to leverage embedded software that simplifies networking implementations, maximizes software reuse and enables them to create differentiating features more easily while ensuring all these capabilities are portable and add no performance penalties.
It's a daunting task to go it alone. But, the entire ecosystem of multicore technology requires it–from chipset providers to equipment providers. Embedded software specifically designed for multicore is critical to truly leverage the full potential of multicore while minimizing design complexities and costs and allowing everyone to realize faster time to market and time to revenue.
Eric Carmés is founder and CEO of 6WIND. He has more than 15 years' experience in IP standards and architectures and is an expert in current and next generation IP technologies and protocols and multicore. Previously, he was head of the Network Department at Thales (previously Thomson-CSF), managing large teams of advanced R&D engineers designing and developing IP network architectures and COTS technologies for stringent military programs. Carmés holds a Master of Science degree from both INSA (French University for Applied Sciences) and ESE (French Electrical Engineering University). He can be contacted by email at firstname.lastname@example.org.