News & Analysis

Programmability rocks net power structure

Bernard Cole

11/1/2002 4:07 PM EST

Programmability rocks net power structure

System designers working with network processors have a lot more to think about today than which application-specific IC or application-specific standard product to use, or even whether a dedicated or programmable solution is best. Given the proliferation of market opportunities across a range of bandwidths and applications, developers need solutions they can adapt across an array of performance niches. Yet with major networking and communications companies virtually insolvent and the survivors on Spartan diets, unit cost and development cost are major factors.

This week's In Focus homes in on the challenge of designing high-performance network processors in this climate, and specifically looks into the role of programmability. Contributors offer differing views on several fronts, including the advantages of sequential vs. parallel programming, appropriate application programming interfaces (APIs), and procedural and nonprocedural languages.

One major motivator driving the industry toward programmable rather than dedicated solutions is the economic climate, said David Husak, a board member of the Network Processing Forum (www.npforum.org). "Nobody can predict when things are going to turn around and, therefore, no one can accurately predict what the 'correct' feature sets will be when the inevitable telecom recovery occurs," he said.

Moreover, "network equipment vendors are looking for ways to leverage technology across multiple product lines and product generations to save in design costs and to build more reliable products," Husak said. In this unsettled environment, he said, software-programmable network processors (NPUs) are a prime resource.

"It is now a question of how much programmability and configurability-and what kind," said Axel Tillmann, chairman and chief executive officer of Novilit Inc. (Marlborough, Mass.). The next question is "what is the most efficient way to achieve this in terms of the tools used to configure the systems based on NPUs," he added.

However, others in the industry do not believe the issues are so clear-cut. "Some telecommunication manufacturers will clearly gain from using fixed-function components-such as classifiers and traffic managers-found in some network processor architectures," said Michael Selissen, a technical marketing engineer in the network processor division at Intel Corp. But for OEMs that have developed their own algorithms for classification, table searching and traffic scheduling, "a general-purpose processor allows them to maintain the investment in their proprietary technology as they evolve to new designs," he said.

"What makes the transition from the traditional sequential-processing framework difficult is the highly parallel nature of the NPU environment," said contributor Ken Hines, vice president and chief scientist at Consystant Design Technology Inc. (Kirkland, Wash.). The typical line card in a router or switch often has multiple NPUs, each with multiple processing elements and functions separated into multiple planes of functionality.

"Typically, component models are used to simplify building the applications, where each component may be mapped to part or all of a processing element or to multiple processing elements," said Ross Ortega, vice president and chief technology officer at Consystant. "This adds a level of indirection between how an application is built, and the vendor's tools provided to analyze them."

Robin Melnick, director of marketing in the switching and network-processing division at Applied Micro Circuits Corp. (San Jose, Calif.), believes that high-performance network processing is most effectively handled with a balanced combination of hardware and software, designed to work together from the ground up

A scalable foundation

"A fundamental issue that must be addressed initially by developers is whether to stick with the well-understood single-stage, single-image model or go to the much more complex one dictated by the multiprocessor, multistage environment in which they are working," Melnick said. "What is necessary is incorporation of hardware constructs that support the single-stage, single-image model. It not only simplifies today's programming challenges and shortens overall development cycles, but it also lays a foundation of scalability and reusability that efficiently leverages software investments over multiple product generations."

However, some think attempts to impose a model created for an entirely different computing paradigm on highly parallel, multiprocessor architectures will ultimately backfire. "Lack of an appropriate methodology in approaching this problem will result in developing code in numerous languages and tools and, in order to improve performance, in countless hours wasted reprogramming sections of code to run them elsewhere in the architecture," said Akash Deshpande, CTO and founder of Teja Technologies Inc. (San Jose). "Iterative trials for optimizing performance are therefore tedious and error-prone."

Ultimately, Deshpande believes the most complete solution may involve a shift away from current linear programming languages to something more appropriate. "While the last thing the industry needs is yet another programming language, the successful adoption of NPUs compels such a development," said Deshpande. "Linear programming languages are inadequate for addressing the parallel, distributed architectures of NPUs." Already, he said, the wide range and rapid evolution of NPU architectures and features are quickly rendering target linear language code obsolete.

New standards

Meanwhile, there is hope that many of these complex programming issues will be resolved through the ongoing efforts of the Network Processing Forum (NPF), where many builders and users of NPUs are trying to come up with a common set of standards, languages and specifications. Among its first efforts is a just-released networking API that abstracts the data plane as seen by the control plane, and defines per-protocol management interfaces between the two.

These efforts are coordinated with an Internet Engineering Task Force working group called Forces (forwarding control element separation), which is in the process of defining a protocol for control plane/data plane communication in Internet Protocol networks. It will handle tasks such as capability exchange, port configuration and exchange of routing and quality- service information.

"The interconnect-independent nature of this protocol makes it easy to change the bus or the backplane without affecting the software layers that are above this protocol," said Alexander Shoykhet, senior software product manager in Intel's network processor division (Tempe, Ariz.). "In fact, the control-plane and the data-plane software may become co-located on the same network processor with no changes required, other than the implementation of the Forces protocol."

However, there is some resistance due to concerns about whether the standards will actually make it easier or more complicated to program an NPU, and whether there will be room for vendor-specific variations and improvements to differentiate a product.

Rapid deployment

The context and the application will determine whether programming becomes easier or harder, said contributor T. Sridhar, CTO and vice president of engineering at Futuresoft Corp. (San Jose). "More complex programming needs to be done only at the functional-API implementation level," he said. "The logical-functional-block (LFB) implementation has the NPU-specific code and provides the LFB API for the higher layer. The higher-layer applications simply use this API for functional programming of the NPU, permitting applications to be developed rapidly."

As to the question of vendor-specific twists, contributor S. Manikantan, a technical manager at Futuresoft, does not feel that should be a concern. "Network processor vendors are still free to build microcode that leverages the specific features of their network processor," he said.

If the right mix of languages, programming models and APIs can be found-as well as appropri-ate compilers, debuggers and development environments-NPF's Husak believes the market will be transformed. "Network processor programmability can change the balance of power in an industry where a few giant vendors currently determine feature sets for everybody," he said. "When the NPF's specification work is completed, the industry will have taken a large step toward the kind of standardization that made the PC the bargain of the century. This is an industry ripe for platformization. Once customers gain an understanding of the newfound power enabled by network processors, they'll never return to the vertical model," he said.





Please sign in to post comment

Navigate to related information

EE Buzz DesignCon

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)

Feedback Form