Envoyé par Jean-Marc.Bourguet
Si j'ai bonne memoire, l'approche d'Erlang fonctionne bien dans certains cas "faciles", ou il y a une decoupe naturelle en thread/process. Le probleme a mon avis est dans les cas difficiles, ou si on decoupe on se retrouve avec la question de la synchronisation et du risque qu'au dela d'un nombre relativement petit de processeurs, on ne sache plus progresser.
Comme les perfs en monothreads vont saturer/saturent deja -- on commence a voir des propositions un peu folle du genre pousser les coeurs en frequence au dela de ce qui est soutenable en continu mais en changeant regulierement de coeur de sorte qu'en moyenne on reste dans les specs; la latence sature depuis un moment et si augmenter la bande passante reste possible et permet de compenser un peu, ce n'est pas non plus une solution pour tout -- la seule source de progression a long terme c'est la parallelisation. Et faire une decoupe en (simplement) 10 process n'est pas simple du tout et pas toujours possible. Comment alors decouper un 100 process ou plus? On peut commencer a envisager des algo ou il faut plus de calcul mais mieux parallelisable donc on gagne en latence, mais meme cela ce n'est pas simple non plus. Il faudra de toute maniere de l'aide des langages pour la decoupe -- et simplement avoir une notion de process ne suffira pas.