260 lines
18 KiB
Plaintext
260 lines
18 KiB
Plaintext
|
|
Episode: 24
|
||
|
|
Title: HPR0024: An interview with Jonathan Bartlett
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0024/hpr0024.mp3
|
||
|
|
Transcribed: 2025-10-07 10:25:20
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
¶¶
|
||
|
|
Hello and welcome to Hacker Public Radio, I'll be your host for today Deep Geek.
|
||
|
|
Today is a very special show for me today because I'm joined today on the phone by Jonathan
|
||
|
|
Bartlett.
|
||
|
|
Jonathan is a web developer at New Media in Tulsa, Oklahoma, as well as being an adjunct
|
||
|
|
instructor at Tulsa Community College.
|
||
|
|
He is the author of programming from the ground up.
|
||
|
|
A Guide to Learning Linux Assembly Language, a book in use at Princeton University as a textbook,
|
||
|
|
which aims at making good programmers better programmers by giving them a deep appreciation
|
||
|
|
for how the CPU works.
|
||
|
|
He is also the author of numerous articles at IBM.com's Developer Works.
|
||
|
|
Hi John, how you doing?
|
||
|
|
Doing great thanks for having me or I'm so glad you could join us today.
|
||
|
|
John in addition to being a web developer and being an instructor, John is also a PS3 hacker.
|
||
|
|
And I'm always interested in talking to people about exotic hardware.
|
||
|
|
And so that's why the PS3 is pretty exotic.
|
||
|
|
It's got an architecture of making the other, I think.
|
||
|
|
Well, John, perhaps not all of our listeners are real CPU enthusiasts.
|
||
|
|
Can you tell us a little bit about the differences in architecture between the cell and the
|
||
|
|
more popular windtell CPUs?
|
||
|
|
Yeah, as you said, the PS3 has a processor on it called the cell, which was developed
|
||
|
|
jointly by IBM and Sony.
|
||
|
|
And historically, each chip processor chip has one core on it.
|
||
|
|
So each CPU can only execute one stream of code at a time.
|
||
|
|
It can alternate quickly between streams, so it feels like it's doing multiple tasks at
|
||
|
|
one.
|
||
|
|
But really each CPU was only doing one thing at a time.
|
||
|
|
With multi-threading, there was some sharing where you could have some streams going simultaneously.
|
||
|
|
But finally, they started building what's called multi-core processors, where you actually have
|
||
|
|
multiple independent processing units on each chip.
|
||
|
|
Now Intel does that by simply taking the same chip and replicating it multiple times.
|
||
|
|
So it's basically the same architecture as if you had multiple independent chips, but
|
||
|
|
just all put together on the same piece of those.
|
||
|
|
In the cell, it's different.
|
||
|
|
It's a multi-core design, but the big difference is that the cell has one kind of supervisor
|
||
|
|
core, which is basically just a stripped-down power PC chip.
|
||
|
|
And then eight specialized cores, called synergistic processing units, through this CPU.
|
||
|
|
And they're actually full cores, but they're different from a typical CPU core, because they're specialized for
|
||
|
|
computational programming.
|
||
|
|
And so if you think about, you know, you have the vector processing units like alpha-back,
|
||
|
|
and MMX, and those sorts of things that you have on traditional processors.
|
||
|
|
Well, these FPUs are kind of like those, except they can be extended to have a full range of instructions on them.
|
||
|
|
So they're not piggybacking off of a traditional CPU that actually have the full instruction set.
|
||
|
|
So anyway, these chips don't have all the capabilities of a full chip, but they're not limited as just a straight vector processor.
|
||
|
|
And what's that give you is really huge multimedia support, because that's basically what we buy vector processors for.
|
||
|
|
MMX and alpha-back, it's for doing multimedia processing.
|
||
|
|
And so these are specialized for that.
|
||
|
|
So the cell processor has a one primary core, and then it has eight FPUs attached.
|
||
|
|
And all of them, I believe they all run at 3.4 gigahertz.
|
||
|
|
So they're screaming fast.
|
||
|
|
So is it both the power PC part, the stripped down power PC part, and the FPUs are running at that high speed?
|
||
|
|
Yes.
|
||
|
|
Okay.
|
||
|
|
So I mean, so it sounds like what you're telling me.
|
||
|
|
Like if I board a dual core Intel, you know, the links tunnel would recognize if the access slows immediately, both those cores, right?
|
||
|
|
But in this case, it won't.
|
||
|
|
Right.
|
||
|
|
That's correct, because, you know, for like one X, you have to have each core have to be able to support virtual memory and support preemptive multitasking, and that sort of thing.
|
||
|
|
So it can switch processes correctly.
|
||
|
|
These chips are specialized for multimedia.
|
||
|
|
They don't have all that extra stuff on them.
|
||
|
|
So basically, they're owned by one processor at the time, and you actually have to write specialized code for each of these cores to run on.
|
||
|
|
You can't just take a standard out of the box program and compile it for these processes.
|
||
|
|
You actually have to write special codes to take care of that.
|
||
|
|
So, let me know just on the side now, if I compare, say, a 3.4 gigahertz cell and a 3.4 gigahertz Pentium or programs, let's say I'm not a specialized seed programmer.
|
||
|
|
Or is my Linux background going to operate the same speed between those two processor types?
|
||
|
|
You're probably going to get less speed out of the cell, in that case.
|
||
|
|
Why would that be?
|
||
|
|
The prior PC, which ships on it, is actually a little bit stripped down, so it doesn't have all the optimizations that are in a standard prior PC chip.
|
||
|
|
But as I said, in order to get the 8th synergistic cores working, they have to have specialized codes to run on those.
|
||
|
|
So, what you wind up with is if you don't have any programs that know how to use your SPUs, then you wind up with just a prior PC that does work as well as most of them.
|
||
|
|
That's interesting, you know, because a lot of hackers have an extensive knowledge of seed.
|
||
|
|
So, I mean, it sounds like they could still get some good mileage out of this.
|
||
|
|
Yeah, especially if you want to do any sort of scientific programming, that's actually where my articles that I wrote for IBM kind of focus on during scientific processes on those specialized processes.
|
||
|
|
You know what I think of is, as I remember, there was this hacker webpage, and what the guy did was he made a look up of all the hash values that passwords could possibly link to.
|
||
|
|
Now, if somebody wanted to write a generator table like that really quickly, would he load into the SPUs, a bunch of seed numbers, and then channel them all together,
|
||
|
|
and actually do eight calculations at a time that way, is that how it would work?
|
||
|
|
Yeah.
|
||
|
|
Yeah, basically, yeah, it's kind of interesting because you actually have to explicitly code all memory moves from and to main memory on the cell.
|
||
|
|
It's unusual to usually just access it directly.
|
||
|
|
But yeah, I mean, basically, you'd load it in, load it in the code into each of the eight processors, go through it, and calculate all of your hash's simultaneous.
|
||
|
|
Uh-huh.
|
||
|
|
That's really amazing.
|
||
|
|
So it would be a fast computer for a typical desktop user, but it would be even better for a more knowledgeable programmer.
|
||
|
|
Yeah, if you were at that.
|
||
|
|
That's amazing.
|
||
|
|
And also, it's possible that in the future, because it's such a different technology, there's not a whole lot of people developing for at the beginning.
|
||
|
|
And so it's possible, as time goes on, we'll have more apps to come out that have specialized cell extensions.
|
||
|
|
You know, you're already seeing that with a bunch of the at-home type apps, like Folding At Home.
|
||
|
|
I believe Einstein at home is trying to work on a place vision, a cell version, and a bunch of those kind of do-it-at-home scientific apps are working on those.
|
||
|
|
You know, I wonder if a more mainstream application, such as a spreadsheet, could take advantage of all those SPUs.
|
||
|
|
You know, because that's a calculation-intensive application, right?
|
||
|
|
You probably could, I mean, because most spreadsheets aren't really that calculation-intensive.
|
||
|
|
You know, you've got about, you know, 30, 100, maybe a thousand calculations to do.
|
||
|
|
The cell really shines, you know, a couple million.
|
||
|
|
A couple million.
|
||
|
|
Which is why it's kind of specialized for graphics.
|
||
|
|
In fact, what I kind of heard from the room though, the room though, is that the first design of the PlayStation 3 is actually going to have two cell processors.
|
||
|
|
And they were going to be simply, rather than have a graphics processor, they're just going to use the cell in its place.
|
||
|
|
And the reason that they chunked that design was simply because there's a whole stack of dissolves of work that goes along with making a video card or a video board,
|
||
|
|
and making all the libraries that go with it.
|
||
|
|
So they just want to have you with the standard one, rather than trying to build it themselves.
|
||
|
|
But multi-media processing is really what the cell is built for.
|
||
|
|
That's amazing.
|
||
|
|
Yeah, one of the reasons for the architecture is because, you know, Intel has eight core processors now, or is working on them a lot, but I don't think they're out yet.
|
||
|
|
But the difference is that those runs really hot because each core is a full processor.
|
||
|
|
But the cell, since each core are these specialized multi-medias, the cell actually runs really cool.
|
||
|
|
So you don't have to have, like, a grunk-antuan pan sitting on your TV or whatever sort of multi-media device.
|
||
|
|
So this would really, like, advance, like, you know, a media company or an animation company.
|
||
|
|
Well, perhaps a company that needed to run bare wolf clusters, like for the forecasting or something.
|
||
|
|
Yeah.
|
||
|
|
Yeah.
|
||
|
|
Also animation rendering.
|
||
|
|
I think it would be fantastic.
|
||
|
|
Do you know, because I've seen pictures in Linux Journal of the render form used by the Shrek movies,
|
||
|
|
do you never have any actual installations where people have replaced render forms with all cell processors?
|
||
|
|
I'm not.
|
||
|
|
And I think the reason is because no one's actually done the development work to move a lot of these rendering platforms to use the cell to protect them.
|
||
|
|
You know, I heard that Toshiba released a prototype motherboard.
|
||
|
|
But that no one ever came out with, you know, a regular standardized, consumable-level motherboard centered around the cell.
|
||
|
|
Is there a reason for that?
|
||
|
|
And have there been industrial state blade server-style motherboards made with the cell?
|
||
|
|
Yeah, there's been a lot of blade servers made with the cell.
|
||
|
|
Yeah.
|
||
|
|
I think that before the PlayStation 3 came out, most of the people using the cell were on some sort of IBM blades,
|
||
|
|
or there's not a company making blades that I forget the name right now.
|
||
|
|
So actually, both, you know, besides the PS3, most cells right now are running in place.
|
||
|
|
So this could really replace a person looking to change home computers.
|
||
|
|
They could actually get this.
|
||
|
|
Get a PS3 and use it as a home computer.
|
||
|
|
Yeah, you can use it as a regular Linux box.
|
||
|
|
I actually did that for a while, although I have a really, really crappy TV, so it didn't work out as well as it looked for other people.
|
||
|
|
Well, you know, I know it comes with a blue right, a PS3.
|
||
|
|
So I would assume you would need to get, you know, like a HDTV monitor.
|
||
|
|
Do you want to?
|
||
|
|
Yeah.
|
||
|
|
But now, in your case, you don't.
|
||
|
|
You know, I'm a cheap bastard, you know.
|
||
|
|
So much, I don't know.
|
||
|
|
So how do you connect to it then?
|
||
|
|
Do you connect to it just with the TV set or do you tunnel into it somehow?
|
||
|
|
No, well, I connect direct to my TV set.
|
||
|
|
You know, I think Sony engineers would probably be crying in their beer.
|
||
|
|
They saw the kind of setup I had for it.
|
||
|
|
Yeah, and if I actually need to, I actually want to see a full desktop.
|
||
|
|
I usually run an external into it that way.
|
||
|
|
Yeah, so you'd log in via KVM or something?
|
||
|
|
Exactly.
|
||
|
|
So, you know, it's interesting because I heard these game councils are sold
|
||
|
|
at a slight loss by the big companies who make them, you know,
|
||
|
|
because they want to get them out in the expect to recoup money on licensing fees
|
||
|
|
like for the gate individual games.
|
||
|
|
So I'm wondering if like the actual hardware of the PS3 is actually worth more
|
||
|
|
than what you have to buy it for.
|
||
|
|
This probably is.
|
||
|
|
In some of these several things to try to shave off some diamond off of it,
|
||
|
|
as opposed to the cells that come on the PS3 instead of having 8th SPU cores
|
||
|
|
that actually have 7th.
|
||
|
|
And the reason they did that is that, you know, when you go into manufacturing,
|
||
|
|
some of your chips will be slightly defective and some of them will be, you know, even more defective.
|
||
|
|
And so what they did is they basically said we're going to manufacture these
|
||
|
|
but we're going to only throw out chips if they have 2 defective SPUs.
|
||
|
|
Well, they keep them, they keep them if they have 1 and if they manage to get all 8,
|
||
|
|
we'll just disable one of them.
|
||
|
|
You know, that's an amazing thing.
|
||
|
|
I just don't know how to respond to that.
|
||
|
|
You know, because I know that the CPUs are actually made in mass
|
||
|
|
and that there's a quality assurance and sometimes they know that some can operate a certain speed
|
||
|
|
and those can't, like I've read that, until they rate the speed of a batch somehow.
|
||
|
|
But in this case, they're actually rating how many of the SPUs are fully functional.
|
||
|
|
Exactly.
|
||
|
|
Amazing.
|
||
|
|
Yeah, it's interesting what they do in engineering but that's why I'm a software guy, not a hardware guy.
|
||
|
|
So what kind of Linux do you prefer, John?
|
||
|
|
I'm generally just, I usually stick with Red Hat just because that's kind of what I grew up on.
|
||
|
|
Now, I'm a devian guy and I did read that some people got devian Linux up and working.
|
||
|
|
What are the different Linuxes that are known to work with the PS3?
|
||
|
|
Well, the main one that they got, the first one they got running on PS3 was yellow dog.
|
||
|
|
And they've been kind of the stable power CPU vendor for a long time.
|
||
|
|
But because Sony actually paid them to all the porting work to get yellow dog up and running on the PS3,
|
||
|
|
which I thought was kind of interesting kind of showing Sony's commitment to Linux on the PS3.
|
||
|
|
Yeah, you know, that is a lot of commitment from them.
|
||
|
|
Has any nine Linux operating systems been made to work on this platform?
|
||
|
|
Perhaps the...
|
||
|
|
Yeah, I've heard netbfp.
|
||
|
|
Netbfp?
|
||
|
|
Yeah, but I've never tried it myself.
|
||
|
|
Yeah.
|
||
|
|
So, you know, I know that Macintosh Apple released used to have a power PC computer before they switched to Intel's.
|
||
|
|
But they've made no attempt.
|
||
|
|
In fact, that was one thing that I was a bit disappointed at because I thought that would have been a great move for Apple
|
||
|
|
because their PCs are so heavily multimedia-oriented.
|
||
|
|
Yeah.
|
||
|
|
That the cell would have been a natural fit going from power PC to the cell,
|
||
|
|
because it doesn't require any rewrite of any application code.
|
||
|
|
But they could have used the SPUs for doing a lot of their quick time graphics processes.
|
||
|
|
That would have been great.
|
||
|
|
They probably missed the bottom of this one.
|
||
|
|
Well, now, a lot of my listeners, a lot of our listeners at Hacker Public Radio are heavily pre-soft for people.
|
||
|
|
And some of them have said that they've had problems with Sony because they do a lot of patenting and a lot of, you know,
|
||
|
|
I don't know if close sources are the right word, but it's certainly closed architecture.
|
||
|
|
Well, how does this wash with you?
|
||
|
|
As far as hardware goes, I don't have much of a opinion on it one way or another.
|
||
|
|
I'm a big free software fan myself.
|
||
|
|
My book I released under the GNU free documentation license.
|
||
|
|
And I try, at the place I work, we try to, as large parts of the software, we develop as we can try to open source.
|
||
|
|
But, you know, the main thing that, my main disagreeing with Sony is when they started putting those root kits on,
|
||
|
|
I think they were putting root kits on CDs or something like that.
|
||
|
|
Yeah, that was a real tobacco.
|
||
|
|
Yeah, that went way too far.
|
||
|
|
But as far as, you know, one of the things that people complain about is that they've walked the graphics processor on the cell.
|
||
|
|
So that you can't use any of the graphics processors 3D capability.
|
||
|
|
Yeah, but I did want to ask you about the graphics processor, because I understand it's like a really, I'm correcting if I'm wrong.
|
||
|
|
That is like a really advanced, I believe in video, but I'm not sure.
|
||
|
|
And that some people have used the actual video card for photography calculations.
|
||
|
|
Do you know anything about that?
|
||
|
|
I'm not familiar with any of that, although I wouldn't be surprised.
|
||
|
|
There's actually a company called RocketMind, and they have the software development kits that I believe haven't looked at it as closely as I'd like.
|
||
|
|
It allows you to use a lot of these alternate execution environments such as graphics cards,
|
||
|
|
SPUs, and that sort of thing fairly easily from within a C++ environment.
|
||
|
|
I wouldn't be surprised if someone had used that in conjunction with something like RocketMind that makes it pretty easy to write stuff to work on specialized graphics.
|
||
|
|
But as far as on the PlayStation 3 itself, Sony's walked that card down pretty hard, so you actually can't access it from Linux except through a frame buffer.
|
||
|
|
So that must have been if anything that people know about that has done, used that technique, that must be very advanced.
|
||
|
|
Well, I mean, before we wrap things up, John, is there anything I should have asked you?
|
||
|
|
I think we covered most of the basics, especially for non-programmers.
|
||
|
|
There's a lot of interesting stuff as well when you get into the actual individual programming on it.
|
||
|
|
But anyone who's interested in that can also check out my articles on IBM's developer work.
|
||
|
|
It's kind of interesting the way I got into it is because I actually thought, you know, we were talking about Macs, I actually bought a Mac.
|
||
|
|
And I was interested in running the programming.
|
||
|
|
But I was just pointing because I got a laptop in there, 32 bits, and I wanted to do the 64 bit stuff.
|
||
|
|
And someone told me that this file was a 64 bit RPC processor.
|
||
|
|
And is it?
|
||
|
|
And it turns out they actually have a simulator available for the cell.
|
||
|
|
So before it even came out, I was able to do some practice programming on it via simulator that I did have.
|
||
|
|
They still produce it.
|
||
|
|
And it's actually quite an interesting little thing because it literally mimics the hardware exactly.
|
||
|
|
So it mimics the actual cycle through so you can actually know how many cycles your programming is taking just by running it on a simulator.
|
||
|
|
That sounds very intense and it also makes me wonder if maybe if somebody actually set this up as a home computer.
|
||
|
|
If they could maybe run a virtualization environment and be able to run their old favorite Windows apps in that way.
|
||
|
|
That's very popular.
|
||
|
|
Yes.
|
||
|
|
And that's not the kind of sure on all the details I'm talking about.
|
||
|
|
Well, look, John, I really want to thank you for coming back to public radio because you know I do web searches on this topic.
|
||
|
|
And it just doesn't seem to be enough interesting information out there.
|
||
|
|
So I hope this really enlightens the listenership.
|
||
|
|
Thank you again.
|
||
|
|
Well thanks for having me. I appreciate it.
|
||
|
|
Thank you for listening to Hack with Public Radio.
|
||
|
|
HPR is sponsored by Carol.net.
|
||
|
|
So head on over to C-A-R-O dot-A-T for all of us here.
|
||
|
|
Thanks for watching.
|
||
|
|
You
|