SAN MATEO, Calif. Startup Teja Technologies Inc. has rolled out an operating system and applications software for network processors, in the belief that standard software that works across many chips will help drive the use of these devices.
The Intel-backed company, based in San Jose, Calif., has come up with what it calls a processor-neutral Network Processing Operating System that is designed to work in tandem with other control-plane operating systems. Teja's goal is to persuade software developers they don't need to agonize over assembly or even C code to get the most out of the network processor platform.
To further accelerate system development, the company is developing software for standard functions to run on top of the OS. Its first offering is an Internet Protocol router with quality-of-service features. Like the operating system, it is available now.
Teja plans for the OS to first support the IXP1200 network processor from Intel Corp., which is an investor. Teja is also talking with two more NPU vendors, including PMC-Sierra Inc., and eventually expects to support about eight network processors, said chief executive officer Peter Manzo.
Teja was launched in the belief that there's a dire need for a higher level of programming abstraction beyond assembly language and C code. Today's lack of software standards, the company argues, has become a burden on engineers writing code to network processors (NPUs) because of the differences among architectures, and the microengines and programming models they employ.
If an NPU vendor adds more microengines to its architecture, for example, the software developer must rework the code to rebalance the processing load. "This problem not only applies between vendors but even [among] chips within a single vendor's own family," said Felix McNulty, vice president of marketing for Teja.
Indeed, software concerns are often an afterthought for many network processor companies, said Debasish Biswas, vice president of software development for Atoga Systems Inc. (Fremont, Calif.). Atoga itself recently picked Motorola's C-Port processor to power its FastAPP architecture aimed at metropolitan networks, largely because it was impressed with C-Port's software C-level development tools, he said.
"It's a problem, definitely, because not all these network processor companies are software aware," Biswas said. "Ninety percent of them think they can deliver a driver in Linux or VxWorks and they're done. But that's just the starting point."
Teja's Network Processing Operating System may be new, but the idea is not. The core technology is based on research conducted at the University of California, Berkeley, by chief technical officer Akash Deshpande, who previously was the senior engineering manager at TCSI. It was used as the software control mechanism for a mid-1990s experiment in California called Path, which showed how a number of driverless cars could be controlled wirelessly.
"It addresses the basic problem of multiple, parallel computing resources and the synchronization between them," McNulty said. "The network processor model is a perfect example of that kind of parallel, asymmetric processing."
Teja, whose founders hail from Network TeleSystems, TCSI, Virtio and Hitachi Internetworking, is hoping to prove that it can not only make programming easier, but can also help systems better take advantage of the multitude of processing elements in an NPU. The company's magic sauce lies in taking what is essentially asymmetrical processing units whether they're on-chip microengines or external coprocessors and tying them together for a more coherent system architecture.
To be sure, there is some lost optimization when writing code to a high-level OS instead of assembly language. Where the Teja OS excels, however, is in exploiting the inherent parallelism of these processors. The operating system allows the NPU to schedule hundreds of thousands of contexts using minimal hardware overhead, said Manzo.
"We were willing to accept 80 to 85 percent of what you get with optimized assembly," Manzo said. "What we're finding with early benchmark performance is that overall system performance will be a little better. We're focused on the system design, not on how to program a sequence of 10 instructions."
Given the wide range of NPU architectures, Teja's task could be daunting. Every net processor company has its own pet architecture using dissimilar microengines. And the programming models vary widely, from assembly to C intrinsics to straight C.
Yet the company claims its OS is processor agnostic. "You don't have to worry about the complexity of the network-processing chip," said McNulty. "We express logic in a state-machine format, and that's friendly to networking because the protocols are described in this manner. The developer can design the application independent of the hardware and map it to a specific device."
Though Teja is backed by Intel's venture fund and will initially support that company's NPU, it said this arrangement won't prevent it from making other deals. "We're anxious to announce our other vendors to demonstrate our neutrality with Intel," Manzo said.
Companies like Intel aim to find a home for network processors on the data plane from the edge to the core. Teja is also in discussions with PMC-Sierra, which favors limiting its MIPS-based network processors to the control plane. To do this, Teja says it will eventually have to support coprocessors that handle things like encryption and packet classification. "We figure that if we work from both ends of the spectrum we can do anything in the middle," Manzo said.
What could help Teja gain a foothold is its promise to provide applications for the OS so developers don't have to reinvent the wheel for standard functions. Atoga's Biswas, who said he is not familiar with Teja's plans, called that a smart move: "That's where the money is." But Biswas added that many software developers would like access to the source code so they can tweak applications to their liking.