SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
La mort du GC ?
21h - 22h - Salle E. Fitzgerald & L. Armstrong
La mort prochaine du GC ?




     Philippe PRADOS
       OCTO - Consultant

  @pprados – www.prados.fr
                             27 au 29 mars 2013
Philippe PRADOS
                  Conférences
                    •   Java User Group
                    •   Paris Android User Group
                    •   DevFest (vidéo)
                    •   Solution Linux
                    •   SSTIC
                  Plus de 100 articles dans
                    •   Linux Mag
                    •   Programmez
                    •   01
                    •   MISC
                    •   …                          Philippe PRADOS

                  Deux livres                      @pprados
Petit rappel – Le GC c’est quoi ?


 • Algorithme qui supprime les objets inutiles.
 • Nécessite une période d’arrêt-du-monde
Ma conviction



     Le ramasse-miettes ne sera
          plus LA solution
La mort prochaine du GC ?
 Intuitions
 Preuves et constat
 Nouvelles stratégies
 Solutions alternatives
 Prospectives

 Polémiquons !
Intuitions




             27 au 29 mars 2013
G1 nécessaire


   Le nouvel algo de GC (G1) est
                voir jHiccup de Azul




   nécessaire…

                                       …mais limité
64 bits moins rapide

 • 15% moins rapide que les 32 bits
                             voir jHiccup de Azul




 • Un artifice : le mode pseudo-64 bits
Mémoire hors heap – déjà ?



   -XX:MaxDirectMemorySize=2G
Les DB in memory utilisent hors heap


      > 8 Go problématique



      http://goo.gl/zsrXC
Loi de Moore aux limites

 Fin en 2018 ?




 http://goo.gl/MHYn8
@deprecated GC Objective-C

 Automatic Counting Reference
Est-ce un problème ?
Preuves et constat




                     27 au 29 mars 2013
Puissance / Volume s’inverse bientôt




                           Puissance processeur
                           Volume à traiter
Il faut dépasser les limites
 • Limites I/O
 • Augmentation de mémoire
Avant 1981: 16 bits d’adresse

  • 2 octets par adresse             65.536 cases mémoire tout compris


  • Processeurs 8 bits                8 bits    8 bits




  • Processeurs lents
   •   Impossible d’utiliser un GC
                                           16 bits


   •   Mémoire à la main
Avant 1986 : 24 bits d’adresse

  • 2 x 16 bits = 4 octets par       16 Mo

    adresse

  • Processeurs 16 bits               24 bits




  • Processeurs lents
   •   Impossible d’utiliser un GC
   •   Mémoire à la main
Avant 2001 : 32 bits d’adresse – Cool

  • 4 octets                            4 Go théorique



  • Processeurs très rapides                32 bits

   •   Super ! On peut utiliser un GC
   •   La mémoire est gérée
       automatiquement
Maintenant: 64 bits d’adresse

 • Maintenant, nous avons                     256 tébioctets - 240
   un problème
   •   8 octets
   •   Processeurs aux limites                       64 bits




          Pour le moment, la mémoire de base permet de tenir
Coût des mémoires en baisse
     Historical cost of computer memory and storage

                                                                •   All in memory
                                                                    possible


                                                                •
             1980 : 5000$/MB
                                                                    Évite l’ajout d’un
                                                                    nœud



                                               2010 : 100$/MB
Problèmes avec « All in memory » et GC
  Objectif:
    •   Un accès direct aux objets persistants
    •   Algorithmes non orientés « secteur »


  En réalité:
    •   Objets hors-heap
    •   Accès via sérialisation/désérialisation
    •   Accès orientés « zone mémoire »

  Heap avec GC                  Hors-Heap sans GC
All-in-memory contre DB sur SSD ?

  • Mort des disques
      magnétiques dans 5 ans
  •   Swapfile sur SSD
  •   Indexations orienté objet en
      mémoire.
  •   files systèmes avec
      allocateur « mémoire »
Chiffre 2008 : avec 3,5 Terabyte,
l’arrêt-du-monde dure 30 secondes
Absurdité économique ?




     • Un cœur pour le GC = un étage sur quatre !
            Économie en développement
             •pas toujours compensée
Comment retarder l’échéance ?
Nouvelle stratégies?
Le GC victime de malédiction




       Plus on augmente la mémoire,
     plus on dégrade les performances
Segmenter, segmenter, segmenter la mémoire




                       Réduire le volume traité par le GC
Application interactives : moins de mémoire


  • Plusieurs JVM par nœud
  • Plusieurs VM par nœud
  • Abandon des threads
    •   « share nothing »
    •   GC par thread dans la JVM ?
  • Agents
    •   GC par Classloader ?
Application « memory based » : hors heap



• Utiliser du hors-heap
• Langage sans ramasse-miettes (C/C++, Objectif-C, etc.)
Plus radical : faute de page
 • GC sans arrêt du monde (Azul)
 • Patch/module kernel (que sur *nix !)
 • Pendant le GC:
   •   Pages invalide
   •   Capture des faute de pages
   •   Patch l’adresse dans l’appelant et relance
   •   Page déclarée valide
Solutions alternatives




                         27 au 29 mars 2013
Augmenter la sémantique pour les pointeurs

                                         Immuable
   Un pointeur est :
    •   Une relation ou une agrégation        1



        vers un objet immuable           Agrégation


    •
                                         simple

        Une agrégation simple
    •   Une agrégation partagée
                                                      1




    •
                                         Immuable

        Une relation
        •   Forte ?
        •   Faible ?                                  1

                                         Immuable
Et les autres langages ?
  •   C++11 : shared_ptr, weak_ptr, unique_ptr et les
      rvalue_references.
  •   « Automatic Counteur Reference » (Objective-C).
  •   Acteur (ER-Lang, Go, Scala)
  •   Isolation totale (Javascript ou Dart)
  •   Programmation fonctionnelle (Hashkell, Closure, Scala, etc.)
Prospectives




               27 au 29 mars 2013
Où allons nous ?

  Puissances DEFINITIVEMENT à saturation :
   •   ++Volume avec puissance égale
  Big-memory :
   •   Sémantique forete des pointeurs
   •   Libération déterministe.
  Multiplication des CPU :
   •   Agents distribués.
   •   Objets immuables.
  Réseau :
   •   Peer-to-peer
Où allons nous ?

  La mémoire de masse
   •   Sera statique
   •   Avec de gros volumes


  Montage de la mémoire statique en RAM
   •   Plusieurs téra-octets en ligne et persistant !
Et pour nos JVM ?
 • Java 9 ou 10 saura découper la mémoire en
     tranche pour aider le GC ?
 •   Hors-heap sera la seule disponible ?
 •   @deprecated GC comme pour Objectif-C ?
 •   OS pour GC ?
 •   Changer de langage?
 •   Langages fonctionnels et à agents ?
Qu’en penser ?

  Deux solutions :
   • « Il est fort probable que cela arrivera »
   • « Ce type est fou, il n’y a pas problème »
  Rendez-vous dans 5 ans (ou avant)
Rappel des signaux faibles
•   Intel prédit la fin de l’augmentation   •   > 8 Go => Dégradation
    de puissance des processeurs
    pour 2018                               •   @deprecated GC Objective-C !

•   JVM 64 bits plus lent

•   G1 est NECESSAIRE

•   -XX:MaxDirectMemorySize=2G
Polémiquez !!!

Contenu connexe

En vedette

Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...
Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...
Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...Universidad Autónoma de Barcelona
 
Je vis dans_ma_caravanne_-pierre-2(gd)
Je vis dans_ma_caravanne_-pierre-2(gd)Je vis dans_ma_caravanne_-pierre-2(gd)
Je vis dans_ma_caravanne_-pierre-2(gd)Gerard Houdinet
 
Declaration patrimoine-pinel
Declaration patrimoine-pinelDeclaration patrimoine-pinel
Declaration patrimoine-pinelLe Point
 
Collège Notre Dame - Présentation du promoteur
Collège Notre Dame - Présentation du promoteurCollège Notre Dame - Présentation du promoteur
Collège Notre Dame - Présentation du promoteurLouis-Alexandre Cazal
 
Trabajar en la nube
Trabajar en la nubeTrabajar en la nube
Trabajar en la nubeMaria Jose
 
Analyse linguistique du discours de presse française-la modalisation dans le ...
Analyse linguistique du discours de presse française-la modalisation dans le ...Analyse linguistique du discours de presse française-la modalisation dans le ...
Analyse linguistique du discours de presse française-la modalisation dans le ...Alexander Decker
 
Les bouteilles sont faites pour être ouvertes !
Les bouteilles sont faites pour être ouvertes !Les bouteilles sont faites pour être ouvertes !
Les bouteilles sont faites pour être ouvertes !Stéphane Gigandet
 
Declaration patrimoine-le-foll
Declaration patrimoine-le-follDeclaration patrimoine-le-foll
Declaration patrimoine-le-follLe Point
 
Diapositives frédérique létant
Diapositives frédérique létantDiapositives frédérique létant
Diapositives frédérique létantFredou
 
Shandur festival de polo
Shandur festival de polo Shandur festival de polo
Shandur festival de polo Malik Ali
 
EUROBACK : un outil collaboratif, pour échanger, compléter et valoriser nos ...
EUROBACK : un outil collaboratif, pour échanger, 	compléter et valoriser nos ...EUROBACK : un outil collaboratif, pour échanger, 	compléter et valoriser nos ...
EUROBACK : un outil collaboratif, pour échanger, compléter et valoriser nos ...François Renaville
 
Florence samson book revu le 2 janvier 2013
Florence samson book revu le 2 janvier 2013Florence samson book revu le 2 janvier 2013
Florence samson book revu le 2 janvier 2013Florence Samson
 
Doc massages holistic touch lempaut
Doc massages holistic touch  lempautDoc massages holistic touch  lempaut
Doc massages holistic touch lempautTantrikaguy
 
Fuente Álamo. Excavación Luis Alberto López Palomo. 2007
Fuente Álamo. Excavación Luis Alberto López Palomo. 2007Fuente Álamo. Excavación Luis Alberto López Palomo. 2007
Fuente Álamo. Excavación Luis Alberto López Palomo. 2007nlopezrey
 
Declaration patrimoine-escoffier
Declaration patrimoine-escoffierDeclaration patrimoine-escoffier
Declaration patrimoine-escoffierLe Point
 
“A la Comunidad Futura”, Jesús Palomino.
“A la Comunidad Futura”, Jesús Palomino.“A la Comunidad Futura”, Jesús Palomino.
“A la Comunidad Futura”, Jesús Palomino.Universidad de Sevilla
 
Marmalades presentation (French)
Marmalades presentation (French)Marmalades presentation (French)
Marmalades presentation (French)Jeff Lee
 

En vedette (20)

Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...
Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...
Máster Unión Europea. Libre circulación de trabajadores. UAB. 8 de abril de 2...
 
Je vis dans_ma_caravanne_-pierre-2(gd)
Je vis dans_ma_caravanne_-pierre-2(gd)Je vis dans_ma_caravanne_-pierre-2(gd)
Je vis dans_ma_caravanne_-pierre-2(gd)
 
Declaration patrimoine-pinel
Declaration patrimoine-pinelDeclaration patrimoine-pinel
Declaration patrimoine-pinel
 
Collège Notre Dame - Présentation du promoteur
Collège Notre Dame - Présentation du promoteurCollège Notre Dame - Présentation du promoteur
Collège Notre Dame - Présentation du promoteur
 
Trabajar en la nube
Trabajar en la nubeTrabajar en la nube
Trabajar en la nube
 
Analyse linguistique du discours de presse française-la modalisation dans le ...
Analyse linguistique du discours de presse française-la modalisation dans le ...Analyse linguistique du discours de presse française-la modalisation dans le ...
Analyse linguistique du discours de presse française-la modalisation dans le ...
 
Les bouteilles sont faites pour être ouvertes !
Les bouteilles sont faites pour être ouvertes !Les bouteilles sont faites pour être ouvertes !
Les bouteilles sont faites pour être ouvertes !
 
Declaration patrimoine-le-foll
Declaration patrimoine-le-follDeclaration patrimoine-le-foll
Declaration patrimoine-le-foll
 
Quelles actions depuis les 3èmes assises 2012
Quelles actions depuis les 3èmes assises 2012 Quelles actions depuis les 3èmes assises 2012
Quelles actions depuis les 3èmes assises 2012
 
Diapositives frédérique létant
Diapositives frédérique létantDiapositives frédérique létant
Diapositives frédérique létant
 
Shandur festival de polo
Shandur festival de polo Shandur festival de polo
Shandur festival de polo
 
EUROBACK : un outil collaboratif, pour échanger, compléter et valoriser nos ...
EUROBACK : un outil collaboratif, pour échanger, 	compléter et valoriser nos ...EUROBACK : un outil collaboratif, pour échanger, 	compléter et valoriser nos ...
EUROBACK : un outil collaboratif, pour échanger, compléter et valoriser nos ...
 
Intro08
Intro08Intro08
Intro08
 
Florence samson book revu le 2 janvier 2013
Florence samson book revu le 2 janvier 2013Florence samson book revu le 2 janvier 2013
Florence samson book revu le 2 janvier 2013
 
Doc massages holistic touch lempaut
Doc massages holistic touch  lempautDoc massages holistic touch  lempaut
Doc massages holistic touch lempaut
 
Fuente Álamo. Excavación Luis Alberto López Palomo. 2007
Fuente Álamo. Excavación Luis Alberto López Palomo. 2007Fuente Álamo. Excavación Luis Alberto López Palomo. 2007
Fuente Álamo. Excavación Luis Alberto López Palomo. 2007
 
Visibilité sur les réseaux sociaux 5.11
Visibilité sur les réseaux sociaux 5.11Visibilité sur les réseaux sociaux 5.11
Visibilité sur les réseaux sociaux 5.11
 
Declaration patrimoine-escoffier
Declaration patrimoine-escoffierDeclaration patrimoine-escoffier
Declaration patrimoine-escoffier
 
“A la Comunidad Futura”, Jesús Palomino.
“A la Comunidad Futura”, Jesús Palomino.“A la Comunidad Futura”, Jesús Palomino.
“A la Comunidad Futura”, Jesús Palomino.
 
Marmalades presentation (French)
Marmalades presentation (French)Marmalades presentation (French)
Marmalades presentation (French)
 

Similaire à OCTO - 2013 - Devoxx - la mort du gc

OVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic OrtolaOVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic OrtolaJawg Maps
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011OSInet
 
MapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifiéMapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifiéMathieu Dumoulin
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBContent Square
 
Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...
Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...
Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...labsud
 
Le stockage de données disruptif
Le stockage de données disruptifLe stockage de données disruptif
Le stockage de données disruptifekito
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Microsoft
 
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...MongoDB
 
Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Loic Ortola
 
Présentation stockage de données (mise à jour 2016)
Présentation stockage de données (mise à jour 2016)Présentation stockage de données (mise à jour 2016)
Présentation stockage de données (mise à jour 2016)Emmanuel Florac
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotiqueMicrosoft
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google CloudPierre Coste
 
Azure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delà
Azure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delàAzure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delà
Azure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delàMicrosoft
 
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011Bertrand Tornil
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Microsoft
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010JUG Lausanne
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jGabriel Pillet 🐙
 

Similaire à OCTO - 2013 - Devoxx - la mort du gc (20)

OVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic OrtolaOVH Summit 2016 - Map as a Service by Löic Ortola
OVH Summit 2016 - Map as a Service by Löic Ortola
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
 
MapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifiéMapReduce: Traitement de données distribué à grande échelle simplifié
MapReduce: Traitement de données distribué à grande échelle simplifié
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...
Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...
Présentation imprimante 3d FDM par le Fablab Labsud Montpellier / Jean Philip...
 
Le stockage de données disruptif
Le stockage de données disruptifLe stockage de données disruptif
Le stockage de données disruptif
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5
 
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
 
Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)
 
Présentation stockage de données (mise à jour 2016)
Présentation stockage de données (mise à jour 2016)Présentation stockage de données (mise à jour 2016)
Présentation stockage de données (mise à jour 2016)
 
La performance sur mobile
La performance sur mobileLa performance sur mobile
La performance sur mobile
 
Base de données
Base de donnéesBase de données
Base de données
 
.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotique
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 
Azure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delà
Azure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delàAzure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delà
Azure: que puis-je faire pour 0€, 1€, 1000€, un million d’€ et au-delà
 
Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011Is Cool Story - Symfony live 2011
Is Cool Story - Symfony live 2011
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4j
 

Plus de OCTO Technology

Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...OCTO Technology
 
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Technology
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Technology
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...OCTO Technology
 
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Technology
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanOCTO Technology
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? OCTO Technology
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...OCTO Technology
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...OCTO Technology
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionOCTO Technology
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...OCTO Technology
 
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...OCTO Technology
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...OCTO Technology
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsOCTO Technology
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API DesignOCTO Technology
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture StrategyOCTO Technology
 
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du greenLA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du greenOCTO Technology
 
LA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverainLA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverainOCTO Technology
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveOCTO Technology
 

Plus de OCTO Technology (20)

Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
 
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeurs
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture Test
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
 
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend web
 
Refcard GraphQL
Refcard GraphQLRefcard GraphQL
Refcard GraphQL
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/Leaseplan
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
 
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
RefCard RESTful API Design
RefCard RESTful API DesignRefCard RESTful API Design
RefCard RESTful API Design
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du greenLA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
LA DUCK CONF 2023 - Journal de bord d’un archi dans l’océan du green
 
LA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverainLA DUCK CONF 2023 - Sous le capot du cloud souverain
LA DUCK CONF 2023 - Sous le capot du cloud souverain
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
 

OCTO - 2013 - Devoxx - la mort du gc

  • 1. La mort du GC ? 21h - 22h - Salle E. Fitzgerald & L. Armstrong
  • 2. La mort prochaine du GC ? Philippe PRADOS OCTO - Consultant @pprados – www.prados.fr 27 au 29 mars 2013
  • 3. Philippe PRADOS Conférences • Java User Group • Paris Android User Group • DevFest (vidéo) • Solution Linux • SSTIC Plus de 100 articles dans • Linux Mag • Programmez • 01 • MISC • … Philippe PRADOS Deux livres @pprados
  • 4. Petit rappel – Le GC c’est quoi ? • Algorithme qui supprime les objets inutiles. • Nécessite une période d’arrêt-du-monde
  • 5. Ma conviction Le ramasse-miettes ne sera plus LA solution
  • 6. La mort prochaine du GC ? Intuitions Preuves et constat Nouvelles stratégies Solutions alternatives Prospectives Polémiquons !
  • 7. Intuitions 27 au 29 mars 2013
  • 8. G1 nécessaire Le nouvel algo de GC (G1) est voir jHiccup de Azul nécessaire… …mais limité
  • 9. 64 bits moins rapide • 15% moins rapide que les 32 bits voir jHiccup de Azul • Un artifice : le mode pseudo-64 bits
  • 10. Mémoire hors heap – déjà ? -XX:MaxDirectMemorySize=2G
  • 11. Les DB in memory utilisent hors heap > 8 Go problématique http://goo.gl/zsrXC
  • 12. Loi de Moore aux limites Fin en 2018 ? http://goo.gl/MHYn8
  • 13. @deprecated GC Objective-C Automatic Counting Reference
  • 15. Preuves et constat 27 au 29 mars 2013
  • 16. Puissance / Volume s’inverse bientôt Puissance processeur Volume à traiter
  • 17. Il faut dépasser les limites • Limites I/O • Augmentation de mémoire
  • 18. Avant 1981: 16 bits d’adresse • 2 octets par adresse 65.536 cases mémoire tout compris • Processeurs 8 bits 8 bits 8 bits • Processeurs lents • Impossible d’utiliser un GC 16 bits • Mémoire à la main
  • 19. Avant 1986 : 24 bits d’adresse • 2 x 16 bits = 4 octets par 16 Mo adresse • Processeurs 16 bits 24 bits • Processeurs lents • Impossible d’utiliser un GC • Mémoire à la main
  • 20. Avant 2001 : 32 bits d’adresse – Cool • 4 octets 4 Go théorique • Processeurs très rapides 32 bits • Super ! On peut utiliser un GC • La mémoire est gérée automatiquement
  • 21. Maintenant: 64 bits d’adresse • Maintenant, nous avons 256 tébioctets - 240 un problème • 8 octets • Processeurs aux limites 64 bits Pour le moment, la mémoire de base permet de tenir
  • 22. Coût des mémoires en baisse Historical cost of computer memory and storage • All in memory possible • 1980 : 5000$/MB Évite l’ajout d’un nœud 2010 : 100$/MB
  • 23. Problèmes avec « All in memory » et GC Objectif: • Un accès direct aux objets persistants • Algorithmes non orientés « secteur » En réalité: • Objets hors-heap • Accès via sérialisation/désérialisation • Accès orientés « zone mémoire » Heap avec GC Hors-Heap sans GC
  • 24. All-in-memory contre DB sur SSD ? • Mort des disques magnétiques dans 5 ans • Swapfile sur SSD • Indexations orienté objet en mémoire. • files systèmes avec allocateur « mémoire »
  • 25. Chiffre 2008 : avec 3,5 Terabyte, l’arrêt-du-monde dure 30 secondes
  • 26. Absurdité économique ? • Un cœur pour le GC = un étage sur quatre ! Économie en développement •pas toujours compensée
  • 29. Le GC victime de malédiction Plus on augmente la mémoire, plus on dégrade les performances
  • 30. Segmenter, segmenter, segmenter la mémoire Réduire le volume traité par le GC
  • 31. Application interactives : moins de mémoire • Plusieurs JVM par nœud • Plusieurs VM par nœud • Abandon des threads • « share nothing » • GC par thread dans la JVM ? • Agents • GC par Classloader ?
  • 32. Application « memory based » : hors heap • Utiliser du hors-heap • Langage sans ramasse-miettes (C/C++, Objectif-C, etc.)
  • 33. Plus radical : faute de page • GC sans arrêt du monde (Azul) • Patch/module kernel (que sur *nix !) • Pendant le GC: • Pages invalide • Capture des faute de pages • Patch l’adresse dans l’appelant et relance • Page déclarée valide
  • 34. Solutions alternatives 27 au 29 mars 2013
  • 35. Augmenter la sémantique pour les pointeurs Immuable Un pointeur est : • Une relation ou une agrégation 1 vers un objet immuable Agrégation • simple Une agrégation simple • Une agrégation partagée 1 • Immuable Une relation • Forte ? • Faible ? 1 Immuable
  • 36. Et les autres langages ? • C++11 : shared_ptr, weak_ptr, unique_ptr et les rvalue_references. • « Automatic Counteur Reference » (Objective-C). • Acteur (ER-Lang, Go, Scala) • Isolation totale (Javascript ou Dart) • Programmation fonctionnelle (Hashkell, Closure, Scala, etc.)
  • 37. Prospectives 27 au 29 mars 2013
  • 38. Où allons nous ? Puissances DEFINITIVEMENT à saturation : • ++Volume avec puissance égale Big-memory : • Sémantique forete des pointeurs • Libération déterministe. Multiplication des CPU : • Agents distribués. • Objets immuables. Réseau : • Peer-to-peer
  • 39. Où allons nous ? La mémoire de masse • Sera statique • Avec de gros volumes Montage de la mémoire statique en RAM • Plusieurs téra-octets en ligne et persistant !
  • 40. Et pour nos JVM ? • Java 9 ou 10 saura découper la mémoire en tranche pour aider le GC ? • Hors-heap sera la seule disponible ? • @deprecated GC comme pour Objectif-C ? • OS pour GC ? • Changer de langage? • Langages fonctionnels et à agents ?
  • 41. Qu’en penser ? Deux solutions : • « Il est fort probable que cela arrivera » • « Ce type est fou, il n’y a pas problème » Rendez-vous dans 5 ans (ou avant)
  • 42. Rappel des signaux faibles • Intel prédit la fin de l’augmentation • > 8 Go => Dégradation de puissance des processeurs pour 2018 • @deprecated GC Objective-C ! • JVM 64 bits plus lent • G1 est NECESSAIRE • -XX:MaxDirectMemorySize=2G