I read this article on CPU trends Converging Design Features in CPUs and GPUs. Matthew Papakipos writes:
Where are both CPU and GPU designs converging?
Both processors will be massively multi-core –- think hundreds of cores — within a five-year period.
Both processors will have complex memory hierarchies, with programmer managed core-local memories and core-local hardware-managed cache. (My own belief is that hardware-managed cache will decrease substantially in importance.)
Memories will be strongly non-uniform with significant latency and throughput differences between local and non-local memory.
Accelerators that can offer substantial speedups for specific tasks, either integrated on-chip or available via a HyperTransport-type interconnect, will be ubiquitous.
I’m more interested in modern CPUs trends and their relation to PHP, and not GPUs. Here are some of my thoughts:
Well PHP running in pre-fork mode on Apache or FastCGI on IIS/Apache should have no problems handling massively multi-core architectures, assuming the cores are uniform in design.
As to complex memory hierarchies, we already have to handle the different latencies in harddisk -> harddisk cache -> cpu data/instruction caches. We always had the option of caching data on a hard disk or RAM disk, and some PHP Accelerators already give you the option of caching data in shared memory — I just see it as more of the same for PHP developers. Things get more interesting for PHP compiler and opcode cache designers as they will have more options for caching PHP opcodes and data.
What is interesting is the possibility of hardware acceleration of PHP. To me, it’s not likely that any CPU vendor will come up with a hardware accelerator for PHP, but a CPU accelerator for .NET or java opcodes is a strong possibility. Thus in the long run, .NET or java compilers for PHP (and Python and Perl) could become mainstream.