5). An OFFLINE test of performance for XIOS

Version of SURFEX: V81

Version of XIOS: r986

Test case:

  • global 1/2 degree. 720*300 points.
  • ISBA-DIF, 19 patches, NCB, ISBA-ES.
  • Number of written output fields: 3466
  • Duration of the simulation: 1 month of 31 days.

Performances:

  • Without XIOS and with none output field: 2 nodes 80 MPI tasks
    • Time Elapsed: 7 min 19 s
    • READ_SURFX1_NC is in 3rd position with 8% of the total time against 9.93% for HYDRO_SOILDIF in 1st position.
      => the reading begins to restrain the scalability.
      ===> will take around 1h18min for 1 year.
  • Without XIOS and with all output fields: 1 node 40 MPI tasks
    • Time Elapsed: 36 min 20 s
    • 3 routines linked to the output writing are at the 3 first positions with a total of 57% of the total time.
      => the output writing highly constrains the scalability.
      ===> around 7h15 for 1 year.
  • With XIOS and with all output fields: 2 nodes, 1 XIOS server and 60 MPI tasks for the OFFLINE
    • Time Elapsed: 10 min 29s
    • READ_SURFX1_NC in 3rd position, 5.93% of the total time against 10% for HYDRO_SOILDIF in first position.
      => the reading begins to constraint the scalability when using 2 nodes.
      ===> around 2h06 minutes for 1 an.

Remarks:

  • With r986 of XIOS, it’s recommended to use only 1 XIOS server (not more) because of a problem being treated by the XIOS team.
  • For the moment, XIOS can’t handle output files with too many fields defined in them. So it’s better to define in the XIOS .xml input file several output files with not a too big amount of fields in each of them.

Conclusion:

  • Even with one only XIOS server, the performances for SURFEX OFFLINE are very satisfying.

Input .xml and OPTIONS.nam files, batch script to run it: