Following a recent panel on gaming hardware, Gamasutra spoke exclusively with James A. Kahle, IBM Fellow and the lead architect for the PlayStation 3's Cell chip.
Kahle, who is chief technologist for Cell & Custom Power Systems in IBM's System & Technology Group, was previously one of the founders of the Somerset Design Center, which invented the PowerPC architecture.
However, his work at the STI Design Center in Austin, Texas on the IBM, Toshiba, and Sony co-developed Cell chip is what has made him renowned in the game industry, and Gamasutra's questions focused on the chip's genesis and possible issues over its ease of use for game programming.
Can you give us a picture of what you contributed to design of the Cell processor?
I was the Lead Architect for Cell. I was the first manager putting together the Design Center, and created all the basic structures that the team would work together in. So, pretty much responsible for all the different aspects of the Design Center, the collaboration, and the technology we put together.
Now, one thing you spoke about in the roundtable that's very important to the Cell processor, is that while it has to be viable for the PlayStation 3, it also has to be viable for IBM's businesses, and whatever Toshiba's doing with it as well. So how does that affect the design, and specifically, how does that affect the gaming direction of the design?
Well, luckily, most of this was synergistic. Things you'd be concerned about would be if those are pulling in different directions, but we were lucky to find that they're moving in similar directions. So a lot of the things that we were concerned about were going to be new to games. You know, being really more intensive physics, and other type[s] of attributes.
So we didn't have anything, real specific, saying, you know, "This is the game that we're going to make hum better than anything else." There's a lot of different attributes from the gaming world that we're picking up on that also synergize with some high performance computing, supercomputer attributes. And then we mixed in real-time and other attributes, so we can run dual operating systems on the chip. All those things played well together as we brought it forward.
During the roundtable you talked about anticipating, in 2000, what games would be like in 2007 -- which is obviously pretty challenging. Can you talk about what that actually means when you're working on the chip?
When you work on the chip -- a lot of the time, when you design processors, you have work loads that you can take on, and say, "This is what I can do to optimize the workload. And I'll take that, and make sure my hardware's specific to that." So, when I put the Design Center together, I knew I had to have a holistic design team.
Which means I had software engineers, I had the -- to give you an example -- I had the lead AIX operating system designer on it, I had people that have [a] graphics background, all working together, saying: "These are the kind of attributes, and this is what we can foresee, and how we can put the architecture together."
And then as we were developing, we wanted to validate that what we were doing was working, so we commissioned a team to work on a demo. We had this real-time ray-caster that we were developing for the processor, and that helped validate, through the design, that this was programmable; it was useful for these kind of different functions. And we could go off, something that it wasn't really designed for, and it worked well on.
Now when it comes to the PlayStation 3, it has, in addition to the Cell, an Nvidia GPU. Did that affect your design, or is that something that's sort of independent of you, because you're trying to create a processor that's got a variety of potential applications?
Because it was a variety of different applications, we were fairly flexible in how the graphics interfaces would work on the chip, and we needed to make sure that we were fairly flexible. From a perspective of the Design Center, that was one of the later decisions, on the graphics selection that went into the PlayStation 3. So, we had to make sure that we were capable of integrating something that'll [come] later in the design cycle than other aspects of the system.
I'm sure you're aware, that there's some criticism from game developers in terms of ease of use. Do you think that that's just a learning curve thing, or do you think that there are hurdles that the Cell presents, compared to what they have been familiar with?
Anything besides a single-threaded processor is going to be more difficult. Whether it's a large symmetric multi-processor, or heterogeneous type of structure the Cell is, it presents more challenges. And, to get some of the efficiencies that we have in Cell, we are expecting the software programmer to be a little more structured in how they design work.
It's sorta like, I had an analogy that, you know, in the old days you might, if you're doing a plumbing job, you might go to the plumbing store -- you might have a local store -- and you'd say, "OK, I'm can go to the store because it's really close, and get a thing..."
And then over time, you might get a plumber coming out, so then he'll put a van, and it's not too far for him to go to his truck and get some supplies. But then as you move forward, and say, "Oh, I've got a big project to do, and I gotta go to my Lowe's or Home Depot that's nearby," you really need a shopping list.
You need to put together all the stuff you need to get to get your work done. And it takes more up-front planning to get that kind of work done. And that's kinda what the Cell is, it's the structures that are requiring people to do a lot more up-front planning.
Whereas before, I wouldn't say they were lazy, they didn't need to worry about that kind of structures. So it's forcing people to be a lot more structured in their work, and it takes more time up front. So there's some adjustment to that, and tools needed, to make that more efficient.
Would you say that it's more Sony's responsibility, as a platform provider, to address that issue for the software developers? Or is that something that you concentrate on -- how it's going to affect the software developers when you design the chip?
We worked on it together; how it would affect the software developers. There's some places we worked very closely together. They said we had software development and tool development in the Design Center. Those kind of things were shared. Some of the things Sony is taking on for themselves, outside of the Design Center.
From IBM's perspective, we have a very open development system we've been putting together around Cell, and keep encouraging people to work in that very open environment.