Opened 5 years ago

Closed 3 years ago

Last modified 3 years ago

#1523 closed Task (fixed)

Optimizations on NEMO 3.6 communications

Reported by: mcastril Owned by: mcastril
Priority: low Milestone: 2015 release-3.6
Component: OCE Version: release-3.6
Severity: minor Keywords: MPI nemo_v3_6* performance
Cc: Review:
MP ready?:
Progress:

Description

Many of the NEMO model bottlenecks have its cause in the communications system

In order to mitigate this issue we studied the NEMO efficiency by applying our methodology, that is based on the BSC performance tools.

After getting some interesting results we developed two improvements that will be included in this branch.

The first optimization is focused on improving the scalability. In order to pack an undetermined number of messages and send them all at the same, a new subroutine was created in the in lbc_lnk routine. The communication cost when exchanging variables is highly reduced. This improvement does not entail any modification in the final results of the simulation.

The second one optimization affects the convergence test used in limhdf, that performs global communications in each iteration to get the maximum value over the global domain. With the aim of reducing the number of times this check is performed, we created a X parameter in the namelist that is used to perform this check only in N/X out of N iterations, in order to reduce the calls to the mpp_max routine. The tradeoff is that, in the worst case, up to N-1 computation phases could be done in excess, but the computational cost is much lower than the communication cost when using a high number of cores, so this optimization improves the scalability.

A short visual preview about the analyses and results is included in the attached presentation.

Commit History (5)

ChangesetAuthorTimeChangeLog
5429smasson2015-06-16T11:57:07+02:00

merge dev_r5302_CNRS18_HPC_scalability into the trunk, see #1523

5408mcastril2015-06-12T11:04:49+02:00

ticket #1523 Convergence Check namelist parameters addition

5372mcastril2015-06-05T21:14:36+02:00

ticket #1523 Message Packing

5320mcastril2015-05-29T18:13:37+02:00

ticket #1523 Convergence Check

5318mcastril2015-05-29T15:46:57+02:00

ticket #1523 Optimizations on NEMO 3.6 communications - Branch create

Attachments (1)

NEMO_optimizations.pdf (765.6 KB) - added by mcastril 5 years ago.

Download all attachments as: .zip

Change History (15)

Changed 5 years ago by mcastril

comment:1 Changed 5 years ago by mcastril

Links to technical memoranda & poster explaining this optimizations:

Technical Memoranda
Poster

comment:2 Changed 4 years ago by nicolasmartin

  • Keywords MPI added; communications removed

comment:3 Changed 4 years ago by nicolasmartin

  • Keywords efficiency removed

comment:4 Changed 4 years ago by nicolasmartin

  • Keywords nemo_v3_6* added

comment:5 Changed 4 years ago by nicolasmartin

  • Keywords packing removed

comment:6 Changed 3 years ago by nicolasmartin

  • Owner changed from nemo to mcastril
  • Status changed from new to assigned

comment:7 Changed 3 years ago by nemo

  • Type changed from Development to Task

Remove 'Development' type

comment:8 Changed 3 years ago by nicolasmartin

  • Milestone 2015 nemo_v3_6_STABLE deleted
  • Version changed from nemo_v3_6_alpha to release-3.6
  • workplan_status set to unknown

comment:9 Changed 3 years ago by nemo

  • Keywords release-3.6* added; nemo_v3_6* removed

comment:10 Changed 3 years ago by nemo

  • Keywords performance removed

comment:11 Changed 3 years ago by nemo

  • Keywords release-3.6* removed

comment:12 Changed 3 years ago by nemo

Is there any reason to not closing this ticket ? If yes, please do so.
If not, thanks for switching to 'Miscellaneous' milestone (unscheduled).

comment:13 Changed 3 years ago by mcastril

  • Milestone 2015 nemo_v3_6_STABLE deleted
  • Resolution set to fixed
  • Status changed from assigned to closed

comment:14 Changed 3 years ago by nemo

  • Milestone set to 2015 nemo_v3_6_STABLE
Note: See TracTickets for help on using tickets.