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

Actualités Discussion :

Facebook crée une machine virtuelle PHP

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2013
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 426
    Points : 32 561
    Points
    32 561
    Par défaut Facebook crée une machine virtuelle PHP
    Facebook crée une machine virtuelle PHP
    Et envisage d’abandonner son traducteur de code PHP en C++

    Débuté il y a quelques années, l’équipe de développement de Facebook vient de publier l’état d’avancement du projet HipHop VM (Hip Hop Virtual Machine) la nouvelle solution destinée à remplacer son traducteur de code PHP en équivalent C++ pour compilation HPHPc (HipHop PHP-to-C++ compiler).

    HPHPc est une solution qui a fait ses preuves. Grâce à elle, les développeurs de Facebook ont pu réduire de 50 % la charge des CPU des serveurs Web de leur Datacenter, rendant ainsi l’expérience utilisateur Facebook plaisante.

    Pour qu’HipHop VM (HHVM) soit le remplaçant de cette solution robuste, les ingénieurs de Facebook devaient la rendre plus performante. C’est chose faite, car HHVM présente désormais un pic de performance supérieur à celui de HPHPc.


    HHVM utilise une approche de compilation à la volée (JIT Compiler), c'est-à-dire qu’il convertit dans un premier temps du code PHP en Bytecode (HipHop Bytecode) portable entre différentes architectures. Ce Bytecode est ensuite exécuté par la combinaison d’un interpréteur de Bytecode ainsi que le compilateur x64 JIT.

    Le gain de performance de HHVM a été un processus long et complexe. Pour en arriver là, les ingénieurs ont dû relever de nombreux défis, imputables en majeure partie à la non-compatibilité de certaines instructions des HipHop Bytecode avec le compilateur x64 JIT. En effet, bien que le compilateur x64 JIT et l’interpréteur de HipHop Bytecode fonctionnent de concert, l’interpréteur est utilisé comme moyen d’ultime recours lorsque le x64 JIT ne peut compiler une instruction de HipHop Bytecode. C’est pour cette raison que HHVM a mis du temps pour dépasser en performance HPHPc.

    Le projet HHVM est open source et le code source est téléchargeable sur GitHub. De plus, des paquets précompilés pour les distributions Linux Ubuntu 12.04, Debian 7 (Wheezy) et CentOS 6.4 sont disponibles.


    Téléchargez HipHop VM

    Source: Facebook

    Et vous ?

    Qu’en pensez-vous ?

    Intégreriez-vous la solution de Facebook pour vos projets d’entreprise ?

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par Cedric Chevalier Voir le message
    Qu’en pensez-vous ?
    J'aurai préféré un Reggae VM.

  3. #3
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Citation Envoyé par Cedric Chevalier Voir le message
    Intégreriez-vous la solution de Facebook pour vos projets d’entreprises ?
    C'est plus cela qui me gêne.

    Même si c'est open-source, qu'on peut voir le code, le retoucher et tout; Facebook en terme de sécurité c'est pas ça.
    Personnellement, j'aurai pas confiance même si HHVM était le meilleur.


    @andry.aime : les Reggae VM cela marche que la Night.
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  4. #4
    Membre régulier
    Homme Profil pro
    Dev C/C++
    Inscrit en
    Octobre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Dev C/C++

    Informations forums :
    Inscription : Octobre 2011
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Qu’en pensez-vous ?
    Au point où ils en sont, ça n'aurait pas été plus simple de faire une migration du code vers du C++ natif ?
    J'ai plus l'impression que ce genre de techno est là surtout pour géré des rare cas bancal dans les projets, mais qu'au final, avec la dernière version de C++ qui rend le langage plus flexible, l'utilisation restera marginale.

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Même si c'est open-source, qu'on peut voir le code, le retoucher et tout; Facebook en terme de sécurité c'est pas ça.
    Je ne pense pas qu'ils soient particulièrement mauvais dans le domaine, c'est juste qu'il y a un énorme intérêt à trouver dans leur système. Et c'est plus leur condition d'utilisation qui consiste en une faille de sécurité pour tes données sur Facebook que leur compilateur musical.

    Au point où ils en sont, ça n'aurait pas été plus simple de faire une migration du code vers du C++ natif ?
    J'ai plus l'impression que ce genre de techno est là surtout pour géré des rare cas bancal dans les projets, mais qu'au final, avec la dernière version de C++ qui rend le langage plus flexible, l'utilisation restera marginale.
    Ce qui est rare dans un projet c'est plutôt d'avoir besoin d'une puissance de calcul nécessitant ce genre de technologie à la place d'une solution standard. Mais j'utiliserais plutôt le terme complexe que bancal.

    Quand à faire migrer leur code vers du C++ natif, j'imagine que la plupart de leur développeur sont orienté technologie Web et que par conséquent ils ne connaissent pas grand chose au C++. Probablement que c'est plus intéressant pour eux d'avoir une team de cador qui optimise le traitement du PHP et des teams de Web developpeur "créatif" qui ajoute des nouvelles fonctionnalités plutôt que d'avoir une team C++ derrière chaque team de Web developpeur pour convertir leur boulot.

    Je reste néanmoins d'accord que l'utilisation de ce genre de techno restera marginale pour le simple fait que dans la plupart des projets, ça n'apporte pas grand chose et ça coûte !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Citation Envoyé par Miistik Voir le message
    C'est plus cela qui me gêne.

    Même si c'est open-source, qu'on peut voir le code, le retoucher et tout; Facebook en terme de sécurité c'est pas ça.
    Personnellement, j'aurai pas confiance même si HHVM était le meilleur.


    @andry.aime : les Reggae VM cela marche que la Night.
    Et pourquoi ça ?
    Facebook doit recevoir une tentative de piratage toute les 3 secondes (bon ok j'en sais rien mais je pense que le chiffre doit être énorme).
    Il ne faut pas confondre les développeurs de Facebook avec ses utilisateurs.

  7. #7
    Membre régulier
    Homme Profil pro
    Dev C/C++
    Inscrit en
    Octobre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Dev C/C++

    Informations forums :
    Inscription : Octobre 2011
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Quand à faire migrer leur code vers du C++ natif, j'imagine que la plupart de leur développeur sont orienté technologie Web et que par conséquent ils ne connaissent pas grand chose au C++. Probablement que c'est plus intéressant pour eux d'avoir une team de cador qui optimise le traitement du PHP et des teams de Web developpeur "créatif" qui ajoute des nouvelles fonctionnalités plutôt que d'avoir une team C++ derrière chaque team de Web developpeur pour convertir leur boulot.
    Ça se forme un dev, mais oui je convient que ça reste pratique d'avoir la couche php pour pouvoir être plus souple, et en ce sens leurs vm est utile.
    Mais j'ai du mal a y voir tourner une solution a long terme; avec une app qui grossie de plus en plus et des couche logicielle qui s'empile.

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2007
    Messages : 884
    Points : 2 018
    Points
    2 018
    Par défaut
    Ce projet est intéressant mais pour moi la compilation en langage machine reste ce qu'il y a de plus efficace pour la production (Et de plus fiable). Si la version VM dépasse la version traduisant en C c'est parce qu'elle a été plus optimisé que l'autre.
    Il est certain que développer dans un langage interprété est ce qu'il y a de plus souple et rapide. En ce sens, je serais d'avis d'avoir PHP classique en dev et la version VM de PHP sur un petit/moyen site/scripts ou l'on interviens facilement en prod. Mais sur un gros site ou une grosse application, utiliser le compilateur en production me parait indispensable. Encore faut-il qu'il optimisent a fond cette version.
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  9. #9
    Membre éprouvé Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Points : 976
    Points
    976
    Par défaut
    Je reste sceptique face à leur choix de s'accrocher à PHP à tout prix, qui est quand un langage bancal quand on parle de "sites" aussi gros.
    Vu leur budget ils ont les moyens d'embaucher les meilleurs dev de la planète ...

    Citation Envoyé par abriotde Voir le message
    Ce projet est intéressant mais pour moi la compilation en langage machine reste ce qu'il y a de plus efficace pour la production (Et de plus fiable). Si la version VM dépasse la version traduisant en C c'est parce qu'elle a été plus optimisé que l'autre.
    Pas forcément : la VM utilise un compilateur JIT et ça permet dans certaines conditions des perfs meilleures que le compilé pur.
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

  10. #10
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Il me semblait bien que cette "news" etait vieille: 29 November 2012

    Ca vous dirais pas de prendre des sujets actuels au lieu de news pas fraiches? Ca commence a faire beaucoup la.

  11. #11
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par jmnicolas Voir le message
    Pas forcément : la VM utilise un compilateur JIT et ça permet dans certaines conditions des perfs meilleures que le compilé pur.
    En theorie oui, mais ca n'a jamais ete demontre en pratique. Donc en fait non.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 22
    Points
    22
    Par défaut
    La raison que j'ai eu des développeurs quant au choix de garder php est pour ne pas avoir à réecrire une grosse partie du code. Mais sinon, en interne Java et C++ sont aussi utilisés. Tout dépend des équipes et des projets.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 49
    Points : 107
    Points
    107
    Par défaut
    Citation Envoyé par Miistik Voir le message
    C'est plus cela qui me gêne.

    Même si c'est open-source, qu'on peut voir le code, le retoucher et tout; Facebook en terme de sécurité c'est pas ça.
    Personnellement, j'aurai pas confiance même si HHVM était le meilleur.


    @andry.aime : les Reggae VM cela marche que la Night.
    Ridicule. Ca sort d'où ?

    Les dévelopeurs qui travaillent chez Facebook font partie des plus brillants du monde. Y compris ceux qui bossent sur la sécurité

    Et dire que même si c'est open source, on peut pas faire confiance parce que c'est Facebook...sérieusement ?...

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 5
    Points : 9
    Points
    9
    Par défaut
    Andrei Alexandrescu, un ingénieur de FB et par ailleur du language D , a posté une vidéo concernant cette HHVM. Il s'agit bien sûr d'une app qui tourne côté serveur et qui génère le code html côté client....
    Et il semblerait que celà soit fait en D...

    [ame="http://vimeo.com/68383350"]Andrei Alexandrescu: The Hip Hop Virtual Machine on Vimeo[/ame]

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/09/2012, 23h13
  2. vista sur une machine virtuelle
    Par Nemesys dans le forum Windows Vista
    Réponses: 16
    Dernier message: 01/02/2007, 19h12
  3. Accéder à un serveur sur une machine virtuelle?
    Par Death83 dans le forum Administration
    Réponses: 2
    Dernier message: 21/11/2006, 16h13
  4. [J2ME]Une machine virtuel standart pour PDA
    Par Wln dans le forum Java ME
    Réponses: 3
    Dernier message: 30/06/2005, 09h45

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