-
Notifications
You must be signed in to change notification settings - Fork 156
Large-Scale Startup Optimizations #1686
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
04cb847
a22bea9
a1bec2f
ba5a7a5
efec23a
3a0d013
f35421e
2349818
75c7c61
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -713,7 +713,7 @@ contains | |
| call s_create_directory(trim(file_loc)) | ||
| end if | ||
| call s_mpi_barrier() | ||
| call DelayFileAccess(proc_rank) | ||
| call s_delay_file_access(proc_rank) | ||
|
|
||
| call s_initialize_mpi_data(q_cons_vf, qbmm_pb=pb_ts(1), qbmm_mv=mv_ts(1)) | ||
|
|
||
|
|
@@ -898,6 +898,10 @@ contains | |
|
|
||
| write (file_loc, '(A)') 'ib.dat' | ||
| file_loc = trim(case_dir) // '/restart_data' // trim(mpiiofs) // trim(file_loc) | ||
|
|
||
| call s_mpi_barrier() | ||
| call s_delay_file_access(proc_rank) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this actually help?
If you measured a real win here at full-system scale, please put the numbers in the PR -- otherwise I would drop the barrier and the delay.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Still open, and I want to be precise about why this one differs from the other call sites, because the rename made them all look alike. Every pre-existing
There, staggering spreads 78k independent metadata operations across time, which is the thing that helps. The new site is before If you measured a win at full scale I will take the numbers over my reasoning -- MPI-IO on Lustre does surprising things, and it is possible you were working around something in the file-creation path specifically. But as written I would expect this to cost ~seconds per output step at 78k ranks and buy nothing, so please either post the timings or drop both lines. |
||
|
|
||
| call MPI_FILE_OPEN(MPI_COMM_WORLD, file_loc, ior(MPI_MODE_WRONLY, MPI_MODE_CREATE), mpi_info_int, ifile, ierr) | ||
|
|
||
| var_MOK = int(sys_size + 1, MPI_OFFSET_KIND) | ||
|
|
@@ -957,7 +961,7 @@ contains | |
| call s_create_directory(trim(file_loc)) | ||
| end if | ||
| call s_mpi_barrier() | ||
| call DelayFileAccess(proc_rank) | ||
| call s_delay_file_access(proc_rank) | ||
|
|
||
| write (file_loc, '(A,I0,A,i7.7,A)') 'ib_state_', t_step, '_', proc_rank, '.dat' | ||
| file_loc = trim(case_dir) // '/restart_data/lustre_' // trim(t_step_string) // '/' // trim(file_loc) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rename is the right direction, but it stopped at the subroutine name --
ProcessRank,iDelay,nFileAccessDelayIterations,DummyandNumberare all still CamelCase. Worth finishing while you are in here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still open after 75c7c61 --
ProcessRank,iDelay,nFileAccessDelayIterations,NumberandDummyare all still CamelCase inm_delay_file_access.f90:21-33. Five identifiers in one 12-line subroutine; worth finishing since the rename already touched every call site.