4 ms·
I feel like calling the PS3 a licked cookie is unfair. >The original design was approximately 4 Cell processors with high frequencies. Perhaps massaging this d
by nemothekid 2y ago
I feel like calling the PS3 a licked cookie is unfair.
>The original design was approximately 4 Cell processors with high frequencies. Perhaps massaging this design would have led to very homogenous high performance Many-Core architecture. At more than 1 TFlop of general purpose compute it would have been a beast and not a gnarly beast but a sleek smooth uniform tiger.
That's great and all, but the PS3 cost (famously) FIVE HUNDRED AND NINETY NINE US DOLLARS (roughly $900 dollars in todays money).
However one thing I noticed is that multi-core programming in 2006 was absolutely anemic. Granted I was too young to actually understand what was happening at the time, but a couple years ago I went in on a deep dive on the Cell and one thing I came away with was proper parallelism was in its infancy for mainstream development. Forget the Cell, it took a long time for game developers to take advantage of quad core PCs.
Developers were afraid of threads, didn't understand memory barriers and were cautious of mutexes. Gaben has a famous clip trashing the PS3 because most of valve's developers at the time did not have the experience programming multicore systems. It was common to just have objective-based threads (ex, Render thread, AI thread, Physics thread), and pretend coordination didn't exist for large parts of the code. This mostly worked up until you had more cores than threads. This stands in stark contrast to most parallel thread today that does userspace scheduling with tasks or threads.
Even Naughty Dog eventually figured out late in the cycle to best take advantage of SPEs using fibers with a system that looks like modern async reactors (like node or tokio) if you squint really, really hard.
The Cell was just really really early. Looking back I don't think the Cell was half-baked. It was the best that could be done at the time. Even if the hardware was fully baked, there was still 5-10 years of software engineering research before most people had the tooling to tae advantage of parallel hardware.
- wk_end 2y ago> Even Naughty Dog eventually figured out late in the cycle to best take advantage of SPEs using fibers with a system that looks like modern async reactors (like node or tokio) if you squint really, really hard. Well, if anyone was going to figure it out, it would've been Naughty Dog, they've got a long history of being absolute wizards at taming Sony's hardware. Do you have any links to further details about ND's achievements on the PS3? I found a talk that looked like it might cover the issue, but it seems like it's about the PS4. https://gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine https://gdcvault.com/play/1022186/Parallelizing-the-Naughty-...
- nemothekid 2y agoI'm 100% confusing this talk with an earlier talk on the PS3. "Fibers" (aka, tasks, coroutines) is the industry standard name but I believe their engine did something more primitive on the PS3 in which their PS4 engine evolved from. I'll try to find it, but admittedly this is knowledge that I researched back in ~2011 around the time of Uncharted 3's launch.
- wmf 2y agoEven if you understood parallel programming you still would have been better off with the 360. I also thought the price was OK considering the Blu-ray support.
- em3rgent0rdr 2y ago> multi-core programming in 2006 was absolutely anemic OpenMP was around back then and was easy.
- MBCook 2y agoRemember that with the PS3 it wasn’t just multicore (which was new to game consoles that generation) but it was also heterogeneous cores. VERY heterogeneous cores.
- dkersten 2y agoNaughty Dog’s late PS3 era code was very similar to modern task/job based parallel code. That really was the start of the modern era of multitasking. Compared to today, the Cell really isn’t so complex — we have just as many or more cores, we have GPU programming (and low level APIs with manual data moving and what not). It’s just that the cell came out in a world where dual core had just became the norm and people hadn’t really accustomed to it yet. It was ahead of its time. And a new architecture meant immature tooling.
- kristianp 2y ago> PS3 cost ... roughly $900 dollars in todays money). I'd like to see a list of the top-selling consoles with their inflation-adjusted prices. The ps3 did really well considering the price. I'd say the ps2 hit the sweet spot for price while still offering a performance improvement over the previous generation.