IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firefox Discussion :

Mozilla expérimente le parallélisme avec son moteur JavaScript SpiderMonkey


Sujet :

Firefox

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 198
    Points
    87 198
    Billets dans le blog
    2
    Par défaut Mozilla expérimente le parallélisme avec son moteur JavaScript SpiderMonkey
    Mozilla expérimente le parallélisme avec son moteur JavaScript SpiderMonkey
    Pour accélérer la puissance matérielle

    L'éditeur de navigateur Mozilla a récemment partagé sur son blog des actions menées pour expérimenter le parallélisme avec son moteur JavaScript SpiderMonkey.

    La firme précise avant tout que le parallélisme auquel elle fait allusion ne fait pas référence à la concurrence relative aux programmes qui répondent aux événements simultanés. « Le modèle de concurrence asynchrone de JavaScript est populaire et réussi », a déclaré Dave Herman, chercheur principal et directeur de la stratégie de Mozilla Research. Il affirme qu'avec les générateurs ES6, et la synntaxe async/await à venir, le modèle de JavaScript se porte de mieux en mieux.

    Il s'agit donc d'essayer d'autres genres d'expériences pour tirer pleinement parti des capacités matérielles disponibles. Mozilla veut adopter une « approche de bas niveau, évolutionniste, à l'extension de Java avec des primitives plus flexibles et puissantes pour le parallélisme

    « Entre la sortie prochaine d’ES6 et la concurrence acharnée pour la performance JIT, ce sont des moments excitants pour JavaScript », a déclaré Herman. « Mais une zone où JavaScript reste toujours en retard est le parallélisme - exploiter l'accélération matérielle en exécutant plusieurs calculs simultanément. »

    L'idée est de « débloquer la puissance qui se cache à l'intérieur de nos appareils: GPU, instructions SIMD, et plusieurs cœurs de processeur. » A déclaré Herman. « Avec l'émergence de WebGL 2.0 et les normes SIMD, le web fait des progrès significatifs sur les deux premiers. Et les web workers font partie du chemin vers le parallélisme multicœur. »

    L'une des pistes explorées, les web workers, fournissent un moyen pour le contenu web d'exécuter des scripts dans les threads de fond. Cependant, comme l'a signifié Herman, « les workers sont, de par leur conception, fortement isolés: ils ne peuvent communiquer que via postMessage. »

    L'autre possibilité qui s'offrait à Mozilla était de reprendre ce qui a été fait dans le projet Nashorn : «transformer JavaScript en un modèle de données entièrement multi-thread », a dit Herman. Cette possibilité présente toutefois une insuffisance. « À moins que votre programme Java hôte prenne soin de synchroniser vos scripts, vos applications JavaScript perdent toutes les garanties de run-to-completion. » A-t-il ajouté.

    Pour mettre en oeuvre le parallélisme avec JavaScript, Mozilla expérimente donc l'API SharedArrayBuffer dans SpiderMonkey. l'API permettra d'introduire de nouvelles formes de blocage pour les workers, ainsi que la possibilité que certains objets puissent être sujets à des data races, a expliqué Herman.

    L’éditeur de navigateur aurait par ailleurs, en collaboration avec Intel Labs, exploré la piste des API de parallélisme déterministe. « Le but de ces expériences était de trouver des abstractions de haut niveau qui pourraient permettre des accélérations parallèles sans les pièges de threads », a déclaré Herman. Mais cette approche s'avère complexe, « car il est difficile de trouver des modèles de haut niveau qui sont suffisamment généraux pour s'adapter à une grande variété de programmes parallèles. » A-t-il dit.


    Source : Blog Mozilla

    Et vous?

    Qu'en pensez-vous?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    En attendant des avancés significatives pourquoi ne pas utiliser une autre alternative comme C# qui gère le parallélisme (plutôt pas mal) avec EdgeJS

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 557
    Points : 15 480
    Points
    15 480
    Par défaut
    Sauf que là on parle de SpiderMonkey, donc de javascript coté client. EdgeJS c'est une technologie coté serveur.

Discussions similaires

  1. Google améliore son moteur JavaScript V8
    Par Cedric Chevalier dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/02/2014, 18h13
  2. Réponses: 24
    Dernier message: 16/02/2012, 18h27
  3. Réponses: 0
    Dernier message: 23/11/2011, 13h14
  4. Réponses: 8
    Dernier message: 20/09/2010, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo