An interview written by Dean Takahashi for VentureBeat – VentureBeat: What makes this hard enough that it might be a 10-year project?
Pawlowski: What’s hard is it will be a 10-year project. Coming up with a programming paradigm and the community starts using it, so you can start bringing the programming community along — I don’t know if you know Steve Wallach, [from Tracy Kidder’s book] Soul of a New Machine, years ago. He just retired, but he was working for me for a while. Every one-on-one we had, he said, “If I ever teach you anything, it’s this. The thing that’s easiest to program is the solution that wins. Every time.” The bottom line is, you have to bring over the programming community. You can’t just go do fancy hardware and leave them behind, because they won’t touch it. That’s the hard problem.
We’re not a software company yet. Intel wasn’t a software company when I started. They’re like Nvidia. They have a number of software engineers that in some cases exceed their hardware engineers. You just don’t see them.
VentureBeat: You acquired one piece here with the Fwdnxt folks. Was it a pretty comprehensive piece, or do you need more? Do you still need to find a lot of partnerships?
Pawlowski: We’re going to need a lot of partnerships and data scientists. They have an inference engine architecture they’ve developed over five years, 10 years, 12 years. Different companies and different academic settings. The guy who founded it was a professor at Purdue. They’ve been optimizing that architecture. They have a fairly good compiler that takes an Open Network Exchange frontend and then maps it down to their hardware.
What I need are data scientists. I need applications. I also think we’re going to need a dynamic runtime/scheduler. If you really have this model of — if I wrote a network on hardware today, on an Intel processor, three years from now you could still run that same program. Everything is abstracted through the instruction set. What I want to do here is abstract the network, which means we’re going to need some type of dynamic runtime. That’s going to say, “OK, this thing has 8,000 multiply and accumulate units. This has 1,000. I can spread that thing out a little farther. Oh, these 150 units died. I don’t want to schedule anything on those, but I still want to be able to use the part.”… Full interview