Is Your Processor a Jet Engine?
Obviously, there wasn't any physical smacking down; this was a panel of semiconductor guys who probably all know each other. But they did exchange some verbal blows on a couple of fronts, particularly software.
One of the biggest arguments in favor of general-purpose microprocessors -- things like the Intel Corp. (Nasdaq: INTC) x86 architecture -- is that there's a large population of software engineers who can program the devices. Network processors (specialty chips intended for handling packets) tend to require some specialized knowledge.
"There's a huge software base out there, and when you talk to any serious software developer, they don't want to have to get used to yet another instruction set," said Dac Pham, director of processor cores and development platforms at Freescale Semiconductor Inc.
That's an outdated argument, countered Niel Viljoen, CEO of Netronome : "If we take the argument [back to] the 1920s, we would have internal combustion engines, and when somebody would come up with a jet, we would say, 'No, all our technicians are trained on internal combustion engines.' "
He came up with that analogy on the fly, and it's not perfect. (Pham pointed out that you don't put a jet engine in a car, not safely, anyway.) But being part of the network processor camp -- Netronome is continuing the life of Intel's IXP2800 product line -- Viljoen naturally believes there are tasks best suited for those devices.
As for the software issue, Netronome has prefab libraries that let users avoid getting elbow-deep in code.
The real panel consensus was that a combination of the chip types is usually required. Viljoen conceded that point early on.
In fact, another Netronome representative, director of product management Daniel Proch, had expanded on that point earlier in the day, describing an architecture that uses network processor cores first, then hands off certain tasks to general-purpose processors. The reasoning had to do with the nature of packet flows. I'm hoping to write it up as a separate entry.
— Craig Matsumoto, West Coast Editor, Light Reading
> So, what is the argument? That a CRS-1 should use x86 processors to forward packets?
Sort of. But not that seriously.
Part of the point of the discussion was to see if multicore processors, given their increasing abilities, can square off against NPUs. It's a market the multicore guys have at least a passing interest in.
But the consensus seemed to be that you need both processor types -- so for now, I think they mostly agreed with you.