[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
More improvements to the netcdf I/O subsystem address@hidden
- Subject: More improvements to the netcdf I/O subsystem address@hidden
- Date: Fri, 17 Oct 1997 13:45:34 -0600
Gordon:
I've completed another try at improving the netcdf-3 I/O subsystem.
It is available as ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-3.4atd.tar.Z
I think this is about as good as we will be able to do.
The major differences between this and the last iteration:
limiting the I/O calls to (mostly) single blocks.
(previously most calls were 2 blocks.)
double buffering "distant" copy operations.
This should be more like the netcdf-2 performance, but may
still be a bit worse for your particular test.
Please give this a shot and let me know how it goes.
For your test (vtest) I now get, on our Ultra, for local disk, unoptimized
sync() userCPU=0.16, sysCPU=0.07, wallclock=0
as opposed to
sync() userCPU=0.19, sysCPU=0.05, wallclock=0
for netcdf-2.
Other test results below compare netcdf-3.4atd and netcdf-3.3.1.
#####
SunOS buddy.unidata.ucar.edu 5.5.1 Generic_103640-12 sun4u sparc SUNW,Ultra-2
local disk
-g (No Optimization)
==== netcdf-3.4atd
time ./t_ncio -s 16384 -c /tmp/test.io < t_ncio.in
real 2.5
user 2.0
sys 0.4
time ./t_ncio -s 16384 -w -S /tmp/test.io < t_ncio.in
real 3.9
user 2.5
sys 1.3
time ./nctime 24 13 19 17 > times
real 36.7
user 17.5
sys 10.1
awk -f timesum.awk < times
332.076
==== netcdf-3.3.2b
time ./t_ncio -s 16384 -c /tmp/test.io < t_ncio.in
real 2.9
user 2.1
sys 0.7
time ./t_ncio -s 16384 -w -S /tmp/test.io < t_ncio.in
real 4.0
user 2.6
sys 1.3
time ./nctime 24 13 19 17 > times
real 43.1
user 15.6
sys 12.9
awk -f timesum.awk < times
424.704
#####
IRIX64 binnie 6.2 03131016 IP26
-g (unoptimized), local efs disk
(timing granularity on this system makes the summary
number unreliable +/- 100 or so.)
==== netcdf-3.4atd
time ./nctime 24 13 19 17 > times
real 0m27.33s
user 0m17.48s
sys 0m8.86s
959.221
=== netcdf 3.3.2b
time ./nctime 24 13 19 17 > times
real 0m27.70s
user 0m17.63s
sys 0m9.25s
awk -f timesum.awk < times
893.02
##### End test results
BTW, last week we had a bunch of sparc fives in for a class.
I ran your test over NFS between the sparc fives and still couldn't
get more than a few seconds wallclock time.
I don't mean to underplay the importance of the problems you
have made me aware of, but I do think there is something weird
going on with the NFS service you are using for the tests to get
such long wallclock times.
-glenn