[MITgcm-support] building with MPI on a dual-core mac
Constantinos Evangelinos
ce107 at ocean.mit.edu
Wed Jul 22 22:33:09 EDT 2009
On Tuesday 21 July 2009 5:22:00 pm Klymak Jody wrote:
> While I suppose I can guess, what is the technical difference between
> "user", "system" and "wallclock"? I suppose a large difference
> between "wallclock" and "system" means lots of MPI overhead?
user time "u" is processor time spent on behalf of a process in user
(non-privileged) code.
system time "s" is processor time spent on behalf of a process in the
operating system kernel (or equivalent, depending on the operating system)
wallclock time "w" is self explanatory.
Essentially all of your computational code should be user time. Part of your
I/O will count as user and part as system time (how big each part is depends
on the O/S). Communication time is treated similarly to I/O (communicating
over Ethernet has a significant system component - and corresponding overhead
of switching to kernel mode - communicating over a high speed interconnect
like Myrinet, Infiniband etc. should be mainly user time). Moreover time
spent waiting for data (with the process not relinquishing the cpu busy
spinning away) counts as user or system time (e.g. time spent waiting for
data from main memory or time spent waiting for data from disk). If however
the O/S switches control of the cpu away from an idling process, that time
only counts as wallclock time.
Given the above, u+s <= w (to within precision - u and s usually are to 0.01s
while w is to 1us.) and ideally u+s=w (that would indicate a process that
spends no time idling waiting for data). A large discrepancy between u+s and
w indicates either load imbalance or significant network or disk I/O issues.
Constantinos
--
Dr. Constantinos Evangelinos
Department of Earth, Atmospheric and Planetary Sciences
Massachusetts Institute of Technology
More information about the MITgcm-support
mailing list