MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_delay_file_access.f90
Go to the documentation of this file.
1!>
2!! @file
3!! @brief Contains module m_delay_file_access
4
5!> @brief Rank-staggered file access delays to prevent I/O contention on parallel file systems
8 implicit none
9 private
10
11 public :: delayfileaccess
12
13 integer, private, parameter :: &
16
17contains
18
19 !> @brief Introduces a rank-dependent busy-wait delay to stagger parallel file access and reduce I/O contention.
20 impure subroutine delayfileaccess(ProcessRank)
21 integer, intent(in) :: processrank
22
23 integer :: idelay, nfileaccessdelayiterations
24 real(wp) :: number, dummy
25
26 nfileaccessdelayiterations &
28
29 do idelay = 1, nfileaccessdelayiterations
30 ! Wait my turn
31 call random_number(number)
32 dummy = number*number
33 end do
34
35 end subroutine delayfileaccess
36
37end module m_delay_file_access
Rank-staggered file access delays to prevent I/O contention on parallel file systems.
impure subroutine, public delayfileaccess(processrank)
Introduces a rank-dependent busy-wait delay to stagger parallel file access and reduce I/O contention...
integer, parameter, private n_processes_file_access
integer, parameter, private file_access_delay_unit
Working-precision kind selection (half/single/double) and corresponding MPI datatype parameters.
integer, parameter wp