PreprintPDF Available

High performance computing and energy efficiency: focus on OpenFOAM

Authors:
Preprints and early-stage research may not have been peer reviewed yet.

Abstract and Figures

High performance calculation is increasingly used within society. Previously reserved for an elite, based on large computing and storage infrastructures, it is now a core module for many companies. Indeed, high performance calculation makes it possible to design and optimize many elements for a limited cost ,compared to the production of prototypes or tests in situ. It is also widely used in big data and artificial intelligence.It seems essential to ask about theenvironmental impact of these digital practices. A number of actions have already been initiated in this community: GREEN500; European CoC eco-responsibility label for Data centres... but these actions generally look at specific or even idealised situations and/or software.The software qualification process in the field of high performance calculation consists in looking at the scalability of the software. The originality of this study is to focus on energy scalability (calculation return time depending on the power consumed), by considering several architectures (three TOP500 machines and a laboratory cluster).The energy cost of an example calculation could be estimated, which shows that the most efficient machine in terms of calculation time is not necessarily the most energy efficient, and depending on the number of cores/processes chosen, it is not always the same architecture that is the most energy-efficient. It was therefore possible to show that the longer the user is prepared to wait, the less energy is used by the calculation.
Content may be subject to copyright.
Calcul haute performance et efficacité
énergétique : focus sur OpenFOAM
Cyrille Bonamy
LEGI – UMR5519 – CNRS – EcoInfo
1209-1211 rue de la piscine
Domaine Universitaire
38400 Saint Martin d’Hères
Laurent Lefèvre
LIP – UMR5668 – Inria – EcoInfo
Ecole Normale Supérieure de Lyon
46, allée d'Italie
69364 Lyon Cedex 07
Gabriel Moreau
LEGI – UMR5519 – CNRS – EcoInfo
1209-1211 rue de la piscine
Domaine Universitaire
38400 Saint Martin d’Hères
Résumé
Le calcul haute performance est de plus en plus utilisé au sein de la société.
Auparavant réservé à une élite, basé sur des grandes infrastructures de calcul et
stockage, c’est désormais une brique de base de bon nombre d’entreprises. En effet, le
calcul haute performance permet de concevoir et d’optimiser de nombreux éléments
pour un coût limité comparativement à la réalisation de prototypes ou d’essais in situ.
Il est également fortement utilisé dans tout ce qui concerne le big data et l’intelligence
artificielle.
Il apparaît primordial de se poser la question de l’impact environnemental de ces
pratiques numériques. Un certain nombre d’actions a déjà été initié dans cette
communauté : GREEN500 [1] ; label européen d’éco-responsabilité CoC [2] pour les
datacentres ; formation au sein du GDS EcoInfo [3], prise en compte d’utilisation de
leviers de réduction énergétique dans les centres de calculs [4]… mais certaines de ces
actions considèrent des situations et/ou des logiciels spécifiques voire idéalisés.
La démarche de qualification d’un logiciel dans le domaine du calcul haute
performance consiste à regarder la scalabilité du logiciel. L’originalité de cette étude
consiste à se focaliser sur la scalabilité énergétique (temps de retour du calcul en
fonction de la puissance consommée), en considérant plusieurs architectures (trois
machines du TOP500 et un cluster de laboratoire).
Le coût énergétique d’un calcul exemple a pu être estimé, il en ressort que la machine
la plus efficace en termes de temps de calcul n’est pas forcément la plus efficace
énergétiquement, que selon le nombre de cœurs/processus choisi, ce n’est pas toujours
JRES 2019 – Dijon 
la même architecture la plus rentable énergétiquement. Il a ainsi été possible de mettre
en évidence que plus l’utilisateur est prêt à attendre, moins le calcul coûte
énergétiquement.
Il est par ailleurs important de sensibiliser les utilisateurs de moyens de calcul au fait
que l’impact environnemental d’un calcul dépasse le coût énergétique direct des
calculs. En effet, pour exécuter de tels calculs, les lourdes infrastructures nécessaires
(nœuds de calcul, équipements réseaux, stockage…) ont un cycle de vie qui génère de
multiples impacts environnementaux : pour l'extraction des ressources (métaux et terres
rares), leur fabrication, transport et la fin de vie (difficulté du recyclage).
Mots-clefs
Impact environnemental, HPC, OpenFOAM, Green500
1 Contexte

      ! !  
  "  " " "#! #
$%&!'(&!
'#")*
            +    # in situ ,  
$         -$   
#,$
,. #
  
/!$#
!  " #      ' 0
"#'1
23&&4566789  "    #:"  7;8     9
  2/<&,7=8!  #  
$    7>8(   )
?$+@758
4   "          #
$          " 
A
2 Démarche et méthodologie
2.1 Présentation générale de la démarche
  #$
  $  " " $ : 
$speed-up!
 A?4A,!
JRES 2019 – Dijon ;
     "    , #$   
 "  "A
  $  $  $ #B     #$
B
 ?C4$7D8"
&2,"E2+ ,!
  F!  G      +  -+ #"'        
#?###+#
"?  
 ! "
H7I8    " &2,   " 
#0/J"$"KHK%7L8 
" $ 
!  
 M      
""?  " %,
    " $ !   B$ )
+ #
&!
"A# M
 ?!)+ 
)! #
#
 1
    K$    ,4&<2&4,78 II    CK566    >;  
23&&45661")/!N&5:;D6=;)>;D2O!,"H/39
GK,KC:03,&P4&C2:2&4,;>;CK566
>;23&&45661-< N666!,NI;56DL>2O!
--N,;9
GK,KC:03,& <P&C2:2&4,>6CK566
=>23&&45661-< N666!NLDL;);>;I2O!
%)&/39
+)"&2,A/&
J&$D=;6;)6;>2O!62"Q
R
2.2 Méthodologie
2.2.1 Mesure de la scalabilité forte
? ""
#KHK%!:
) !  " !
#:: B$)!
JRES 2019 – Dijon =
+ #"A
4 """!  $
'"A4#
"!#+ 
   " AA '$
)!#:: A A!
        )!
#<PC2!;>A
)"!
a posteriori
A,4&<K$;LA%,
A!?"
" 4!4"A%,
$: 

2.2.2 Consommation électrique
 #"
<    "&2,   
            
 <4% )  "        
#$ST/0) "
)&,4&<!
  256678    @F  
"   A          #              
 0?$ 
$!! "%
+                "  &2,  
# 
3 Résultats
)""#KHK% 
"+1=6666
%,#B9$
JRES 2019 – Dijon >
Figure 1 - Scalabilité forte
 * $         B  
!$;! 
#$ 
Figure 2 - Scalabilité énergétique
0"$1#
*$ B$=,
 Splus on est prt attendre, moins le calcul cote nergtiquementT
%  #  'B    
"$ & ! "   "  
$=
JRES 2019 – Dijon 5
Figure 3 - Coût énergétique versus temps de retour
0$&'
;6!+  $  P4
&C2$!=6>6U'/")
$&!#"#
          
%,!': #
';6!'%B
        B  !          )  
! #$!"!
:$
4 Conclusion
4      $   quelques bonnes
pratiques  suivre
C#"! )+?
#" ' 
)$2&4,!   
/""!"#ST#'9
        B  )     "      A    !
 '"0
  )                      
$ "
  "     )  # V  
"!      B      $  #        
JRES 2019 – Dijon D
              !      "  
"!#$!

0?"  .! #'
!+#1 
   !   #   0
$$"
"#B A!
$""K3768
2"
/!B#"!
 4H &, S  $T78!     $!
$
"#  
 #  #   $    
 & ! #?  #,$ . # 
 $ ! :,!3%!
       4 G /")
$ a priori     ,     
 !):B)!
".KHK%#")
&'$$:,
 #$$/
")!')
 
 $""? #K%7;8
CK%,! #
$ ""?   $  

&!# 
 * $    ! #::   #$ #
  #      $      #$  ,  
#" +    B
! #0H
1  S    +   "? +  
# T  $" 
$)$!)? !$(!
JRES 2019 – Dijon I
     )  #1 A  !
  )! @$! (  +  ? $"
# !
W"+ 1W)?
  )      (!    "!              
)+$)
K      ?      )  #         
+S T,?
ST&?+?
!
!
"'1"   +?
)    #    $      #    :'  
#$"
JRES 2019 – Dijon L
Remerciements
# ! #"  "  $
H7I8 $ "  KHK%7L8!  # 
#"  2&4,,4&<
&+ #    
"2&4,A0060107567AP010110717
Bibliographie
78 256611JJJ566$$566
7;8 11'$+:+:
7=8 2/<&,11
7>8 !?!O!,3!Automatic Energy Efficient HPC Programming: A Case
Study!,<;6L1CD,&&&,<+/"$
J!%"!!/":=!;6L
758 @11J@$J@,4P
7D8 C4$C?2"!;6L!1::6;6>5
7I8 G  !  X  $! C  4$!    -+!  CG ! SedFoam-2.0 : A 3D two-phase flow
numerical model for sediment transport,/2%//!Y6!$>=DIQ
>=;!165>$:;6I:6!;6I
7L8 2F! 2 C"!  G@!  H"+! A tensorial approach to computational continuum
mechanics using object-oriented techniques!+!Y;!4D!4/L
78 2&4,11JJJ$::::
768K311$
784H&,S$T!;6!1;66>::
:: :::$
7;8K%<20!;6I!1JJJ$:
::$
JRES 2019 – Dijon 
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
In this paper, a three-dimensional two-phase flow solver, SedFoam-2.0, is presented for sediment transport applications. The solver is extended upon twoPhaseEulerFoam available in the 2.1.0 release of the open-source CFD toolbox OpenFOAM. In this approach the sediment phase is modeled as a continuum, and constitutive laws have to be prescribed for the sediment stresses. In the proposed solver, two different inter-granular stress models are implemented: the kinetic theory of granular flows and the dense granular flow rheology μ(I). For the fluid stress, laminar or turbulent flow regimes can be simulated and three different turbulence models are available for sediment transport: a simple mixing length model (one-dimensional configuration only), a k-&varepsilon; and a k-ω model. The numerical implementation is first demonstrated by two validation test cases, sedimentation of suspended particles and laminar bed-load. Two applications are then investigated to illustrate the capabilities of SedFoam-2.0 to deal with complex turbulent sediment transport problems with different combinations of inter-granular stress and turbulence models.
Article
Full-text available
In this paper the principles of the FOAM C++ class library for continuum mechanics are outlined. The intention is to make it as easy as possible to develop reliable and efficient computational continuum mechanics (CCM) codes: this is achieved by making the top level syntax of the code as close as possible to conventional mathematical notation for tensors and partial differential equations. Object orientation techniques enable the creation of data types which closely mimic those of continuum mechanics, and the operator overloading possible in C++ allows normal mathematical symbols to be used for the basic operations. As an example, the implementation of various types of turbulence modelling in a FOAM computational uid-dynamics (CFD) code is discussed, and calculations performed on a standard test case, that of flow around an square prism, are presented. To demonstrate the exibility of the FOAM library, codes for solving structures and magneto-hydrodynamics are also presented w...