François TOURDE wrote:
Le 14311ième jour après Epoch, Basile STARYNKEVITCH écrivait:La réalité est brutale: pour profiter des multi-coeurs, il faudra réécrire la plupart des programmes actuels, et le développement d'un programme parallèle est -pour les ingénieurs qui s'en chargent- encore plus difficile que celui d'un programme séquentiel classique.A moins de généraliser l'utilisation de la virgule comme séparateur d'instructions en C, et que le compilateur puisse en tenir compte correctement, non?
Je participe à des montages de projets de R&D en rapport vague avec ça (désolé, je n'en dirais pas plus tant que le financement n'est pas acquis; s'il est acquis, je continuerais à développer du logiciel libre.).
Mais c'est beaucoup beaucoup plus compliqué que la virgule du langage C (qui est précisément l'operateur d'évaluer en séquence, pas en parallèle).
Il y a une véritable crise du logiciel qui s'annonce devant nous. Et l'esprit humain n'est pas fait pour penser en parallèle.Mon intuition est d'ailleurs un peu opposée à ce que François Tourde suggère. Je crois (c'est vraiement une opinion, une intuition - pas du tout scientifique) au contraire que la programmation parallèle se fera dans des langages fonctionnels de très haut niveau (style Jocaml ou Haskell ou autres langages relativement déclaratifs - dans le sens américain [Peyton-Jones] pas français [Pitrat] du mot "declarative") où les effets de bord seront minimaux. Ca demandera de toutes façons la reconception et la réécriture des applications ex nihilo ou presque. On n'échappera donc pas à la crise du logiciel parallèle, on peut espérer éventuellement la surmonter un jour, en investissant massivement (et dès maintenant) dans la R&D (oui, je défends mon bifteck et la recherche en général, actuellement mal-menée). La même intuition me fait penser que le logiciel libre, s'il accepte d'innover fortement, a de beaux jours devant lui : le développement de logiciels parallèles sera tellement difficile et coûteux qu'il sera encore plus nécessaire de le mutualiser sur le modèle économique du logiciel libre. Je ne crois évidemment pas à la possibilité pratique de coder des applications sur des processeurs à 30 ou 300 coeurs avec les techniques de programmation parallèles actuelles (pthreads, MPI, OpenMP, ...).
Librement. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mines, sont seulement les miennes} ***