I know some people here (like Panajev, perhaps) are quite imtimately aware of the general architectures of next generation systems, so their input on this would be very much appreciated. I'm going into my final year of my computing degree, and am currently trying to choose subjects to take. I'll be graduating, and hopefully entering the games industry, just before the next generation of systems hit, so I'd like to maximise the relevance of my choices to the upcoming systems and the general direction hardware is taking going forward. One of the subjects looks interesting given the supposed architecture of systems like PS3 etc: Concurrent programming. Here's the syllabus for the course - does it sound like it's relevant to parallelism within a closed system like a console, or has it more to do with parallelism between different systems? Are the basic principles the same? In short, does this course sound like it's worth taking with game development in mind going forward?
Indicative Syllabus
· Architectural classification schemes.
· Parallel Speed-up.
· Threads.
· Critical sections and mutual exclusion.
· Semaphores.
· Monitors.
· Message Passing, Synchronous and Asynchronous, Types of message passing processes:
· Filters, Clients, Servers and Peers.
· Transactions.
· RPC.
· Rendezvous.
· Languages for concurrent programming:SR, Occam, Ada and Linda.
· Load Balancing and Resource Allocation.
· Fault tolerance.
· Parallel Complexity Theory.
...? Any comments are very welcome!
Indicative Syllabus
· Architectural classification schemes.
· Parallel Speed-up.
· Threads.
· Critical sections and mutual exclusion.
· Semaphores.
· Monitors.
· Message Passing, Synchronous and Asynchronous, Types of message passing processes:
· Filters, Clients, Servers and Peers.
· Transactions.
· RPC.
· Rendezvous.
· Languages for concurrent programming:SR, Occam, Ada and Linda.
· Load Balancing and Resource Allocation.
· Fault tolerance.
· Parallel Complexity Theory.
...? Any comments are very welcome!