Next computer architectures & D

bearophile bearophileHUGS at lycos.com
Tue Jul 27 13:59:59 PDT 2010


If you are *physicist* and you look at the future of computer architectures, you can think that it's inevitable that sooner or later multi-core computers will adopt an architecture where memory is not shared, each core has its own memory (plus a bit of memory for message caching), and sends messages to other cores. For such hypothetical computer architecture an actor-based programming language is quite fitting. So it's good for D to have something like actors.

But several practical considerations make such model appear unrealistic. So I think a structure closer to the reality will be the same with units that don't share a single memory and send messages to each other. But the units themselves will be composed by several cores that share a single memory (plus caches), and each core will have advanced SIMD instructions (see AVX instructions that perform a kind of vectorized 'if' too).

(Beside such structure there can be something like a GPU, with many more tiny cores, see the recent NVIDIA Tesla.)

So a programming language that wants to be efficient needs to use well such two-level architecture (the Chapel language seem able to adapt to that, it has domains for its memory, etc.). So maybe an actor-like-based concurrency design is not enough. D has array ops that once improved and well implemented can be use SIMD instructions in a good enough way.

Bye,
bearophile


More information about the Digitalmars-d mailing list