6 ms·
PlayStation 3 Architecture (2021)
- amelius 11mo agoCan it run deep learning workloads?
- nxobject 11mo agoThe PS3 was used a few time in clusters – some NN work was done on it back in the day. My understanding (somewhat echoed in TFA) is that when programming Cell, you really needed to think about communication patterns to avoid quickly running into memory bandwidth limitations, especially given memory hierarchy and bus quirks. https://open.clemson.edu/all_theses/629/ https://open.clemson.edu/all_theses/629/
- cogman10 11mo agoFor a while, it was a major player in protein folding. I remember the PS3 was particularly apt at doing that sort of work.
- Tuna-Fish 11mo agoFor it's day, it packed a lot of compute into cheap package, so long as you could do something useful with a data set that fit into 256kB, the size of the local memory buffer on each SPE. If you overflowed that, the anemic system bandwidth would make it suck. Protein folding was an example of a problem that back then used tons of compute but could be fit into small space.
- specialp 11mo agoIt was the biggest contributor to folding @ home at one point. It came bundled with the PS3 and played relaxing music and showed a heat map of the world ps3 compute nodes as it went on. There was also https://en.wikipedia.org/wiki/PlayStation_3_cluster https://en.wikipedia.org/wiki/PlayStation_3_cluster
- 867-5309 11mo agothey've also been used for crypto mining/cracking
- frankbell 11mo agoSee also QPACE https://en.wikipedia.org/wiki/QPACE https://en.wikipedia.org/wiki/QPACE
- maximilianburke 11mo agoEugh, maybe? The PS3 only had 256mb of main memory so you'd be pretty limited there. Memory bandwidth, great at the time, is pretty poor by today's standards (25 gb/s)
- russell_h 11mo agohttps://en.wikipedia.org/wiki/PlayStation_3_cluster https://en.wikipedia.org/wiki/PlayStation_3_cluster
- duskwuff 11mo agoIt's a nearly 20 year old gaming console. Even if you could port a deep learning workload to run efficiently on the Cell architecture, it would be thoroughly outclassed by a modern cell phone (to say nothing of a desktop computer).
- zorgmonkey 11mo agoWith enough effort you could definitely do it. Just remember it is a device that came out in 2006 and it has 256MB of system RAM and 256MB of VRAM, at best you're running a quite small model after a lot work trying to port some inference code to CELL processors. Honestly it does sound a cool excuse to write code for the CELL processors, but don't expect amazing performance or anything.
- eek2121 11mo agoSo, I'd have to dig through some older notes I have, however, some of this information seems inaccurate based upon my own interpretation of the specs (and writing code...specifically, but not limited to, the PowerPC part). A suggestion from me is to provide sources, and also maybe an epub of this.
- flipacholas 11mo agoPlease see this: https://github.com/flipacholas/Architecture-of-consoles https://github.com/flipacholas/Architecture-of-consoles > A suggestion from me is to provide sources, and also maybe an epub of this What do you mean?
- rideontime 11mo agoIt seems they missed this. https://payhip.com/copetti https://payhip.com/copetti
- flipacholas 11mo agoThat was a small fundraiser started to convert all articles into epubs, finished in 2022
- BestHackerOnHN 11mo ago[dead]
- RiverCrochet 11mo ago> The EIB is made of twelve nodes called Ramps, each one connecting one component of Cell... Having said that, instead of recurring to single bus topologies (like the Emotion Engine and its precursor did), ramps are inter-connected following the token ring topology, where data packets must cross through all neighbours until it reaches the destination (there’s no direct path). I knew IBM was involved in the design of the Cell BE, but I had no idea some successor of IBM's token ring tech (at least the concept of it) lived on in it. I'm sure there's other hardware (probably mainframe hardware) in and before that 2006 with similar interconnects.
- rtpg 11mo agoI remember hearing somebody talk about programming hot loops in either the the PS3 or PS2 in Excel, to get a good handle on the concurrency question by having assembler in multiple columns next to each other
- nickpsecurity 11mo agoSounds like a Gantt chart with code might fit.
- moomoo11 11mo agoI love those
- xgkickt 11mo agoThat would be the PS2’s VUs which had an upper and lower pipe and it was easier to write instructions for each in separate columns. Then in one SDK we received program called vcl which took a single list of instructions, doing all the pipelining for you, as well as optimizing loops and assigning registers automatically. It was a godsend.
- mabster 11mo agoI can't remember the details because we coded the SPU in C, but the PS3 SPUs had odd and even cycles with different access properties too.
- trelane 11mo agoDiscussed in the article, should you want a refresher. https://www.copetti.org/writings/consoles/playstation-3#architecture-of-the-spu https://www.copetti.org/writings/consoles/playstation-3#arch...
- lepicz 11mo agoi did a bit dev on ps3 and i remember there was a small memory on the chip, like 256k that was accessible to programmer. i always found this very appealing, having a blazing fast memory under programmer control so i wonder: why don't we have that on other cpus?
- corysama 11mo ago“Shared mem” in CUDA and compute shaders works the same way. And, geometry shaders are very reminiscent of PS2 VU1 programming, during essentially computer shaders that can output directly to the rasterizer without going through DRAM.
- ack_complete 11mo agoSome do, some ARM-based devices have tightly coupled memory (TCM). The RP2040 in the original Raspberry Pi also has a 4K bank for each core intended for stack and per-core variables, though it is not limited to access only by that core. The main disadvantage of such dedicated memory is inefficient usage compared to using that same amount of fast local memory to cache _all_ of main memory.
- bitwize 11mo agoThe TI-99/4A had 256 BYTES (128 words) of static RAM available to the CPU. All accesses the 16K of main memory had to be done through the video chip. This made a lot of things on the TI-99/4A slow, but there were occasional bits of brilliance where you see a tiny bit of the system it could've been. Thanks to the fast SRAM and 16-bit CPU, the smooth scrolling in Parsec was done entirely in software—the TMS9918A video chip lacking scroll registers entirely.
- otabdeveloper4 11mo ago> why don't we have that on other cpus? We do, it's called "cache" or "registers".
- lepicz 11mo agoas a programmer you have (almost) no control over cache. that's not what i meant. registers ok, but i want at least one megabyte of them :)
- jl6 11mo agoI remember discussion at the time about how the PS3 was a uniquely difficult architecture to emulate. Was that true? Have those difficulties now been overcome? I see RPCS3 exists but I’ve no idea if it has done the difficult parts.
- nikanj 11mo agoWith sufficient thrust, pigs fly just fine. Eventually you can overcome any issues by throwing more CPU at the problem
- bakugo 11mo agoDepends on your definition of "overcome". RPCS3 does emulate the architecture, and many games are playable on it, but it's still far from being perfect. Many games have stability issues due to timing/synchronization inaccuracies, for example.
- jl6 11mo agoI think those timing issues are part of what I imagine the difficult part to be.
- jokoon 11mo agoI believe the PS3 was designed to make it difficult to emulate. Why go through the pain to design such thing, which makes it difficult for developers, while I don't think it would really result in better performance.
- jokoon 11mo agoI wonder if that architecture was designed to prevent emulation. Because emulators still work insanely hard to make those games work, even today.
- dlcarrier 11mo agoIt's more so that every generation afterward has used the same architecture as most computers, making emulation more of a compatibility layer than actual emulation. Development kits for the Xbox 360 used Power Mac G5s, because they were the same architecture as the Xbox 360, and modern Xbox and PlayStation development kits use x86 processors, again because there's no change in architecture. Granted, you can't easily get a computer with a cell processor, but it isn't because of a lack of trying. Sony worked with IBM and Toshiba on designing and manufacturing the cell processor, and all three developed products using it, but the only one that was successful was Sony's PlayStation 3, but its success was likely despite the cell processor, not because of it.
- smallpipe 11mo agoDoubt it. Avoiding jailbreak sure to keep selling games, but no one cares about emulators.
- maximilianburke 11mo agoNo, they were optimizing for FLOPS/$.
- CHB0403085482 11mo agoPS3 would have done better as a gaming console if the architecture wasn't so hard to program and wasn't forced to be a trojan blue-ray player.
- FirmwareBurner 11mo agoIIRC the Cell architecture was OK-ish for a CPU architecture, just that the PS3 was too gimped on RAM(256MB) for game devs to use to its full potential. The trojan Blu-ray Player actually worked in its favor. The big issue with the Cell architecture is that it was designed to act as a GPU as well which they realized later in development that it won't be powerful enough for those graphics and they'll still need a dedicated GPU in addition. That's why the Cell is such a franken-cpu compared to the vanilla IBM PowerPC it's based on. The Cell architecture was also a product of it's time. In the early 00s when they started Cell development nobody would have expected that X86 would have made such leaps by the time the PS3 hit the market.
- jonhohle 11mo agoEvery console chose PowerPC that generation. It definitely wasn’t obvious to anyone (except maybe Apple), that the architecture was reaching it’s commercial limit.
- netrix 11mo agoThis is totally strange. I just got interested in the architecture of PS3 and its emulators (on Android too) and now there is article on HN...
- wtcactus 11mo agoThe PS3 was the only console I had in my life. I bought it specifically to play the original Demon Souls. I see a lot of comments here saying how underwhelming it was. And that’s probably true. But one thing always surprised me. The quality of the games for PS3 at the platform end of life were gorgeous. Developers became so good at extracting all the power from the platform (and it had some in its difficult to use way), that great things were achieved.
- bluedino 11mo agoIt was common to try to get grant money to build a cluster of PS3's when they came out. I'm betting a bunch of computer science students got a console after that. Was the PS3 the one that was banned from some countries? And wasn't the PS2 rumored to be used a ballistic missile guidance chip for some country?
- whaleofatw2022 11mo agoPS2 had export limitations put on it by Japan. There were also rumors that Saddam was using them for a supercomputer. I do have the odd anecdote, way back in the day, I was in a CompUSA in Dearborn MI and overheard a middle eastern guy at the counter asking if they had any PS2s. When they said no (this was a point where availability was low) instead he bought bought at least 5 (might have been 10?) PS1s.
- andrepd 11mo agoWow, outstanding! I have reading material for months.
- andrepd 11mo agoI miss the times when consoles [1] had unique and quirky architectures. Now everything is a PC x) [1] And home computers, but that ended a couple decades earlier than consoles.