[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 970923: 3.3.1 sync()
- Subject: Re: 970923: 3.3.1 sync()
- Date: Sun, 28 Sep 1997 19:59:17 -0600
> Subject: Re: 970923: 3.3.1 sync()
> Glenn,
>
>
> I ran the tests on an ultra here, which has the same kernel patch
> level as my SS5, and don't see the problem either. Perhaps the
> ultras are so fast that the problem is hidden in the granularity
> of our cpu measuments. There is a 5-10x increase in the system
> CPU overhead between version 2.4.3 and 3.3.1 in the tests I've run.
>
> Here's a table summarizing what I've tested.
>
> On a SS10 and SS5 there is a big performance hit with the version 3.3.1
> on an NFS disk. Do you have any guesses as to what is going on?
>
> I haven't tried 3.3.2b yet. I'll download it and try it. I may also
> install the latest recommended patches from Sun on the SS5 and try again.
>
> Alas, we don't have many ultras, so I would like to get decent
> performance on older suns.
>
> Gordon
>
>
>
> netcdf CPU CPU
> version host arch patchlevel disk user sys clock
> 3.3.1 ripple 4m,ss5 103640-08 nfs 0.9 4.5 62
> 3.3.1 ripple 4m,ss5 103640-08 local 0.8 1.5 6
> 2.4.3 ripple 4m,ss5 103640-08 nfs 1.0 0.4 6
>
> 3.3.1 steam 4m,ss10 103640-03 nfs 0.6 2.5 41
> 3.3.1 steam 4m,ss10 103640-03 local 0.7 0.9 3
> 2.4.3 steam 4m,ss10 103640-03 nfs 0.7 0.4 5
>
> 3.3.1 urquell 4u,u1 103640-08 nfs 0.4 0.2 1
> 3.3.1 urquell 4u,u1 103640-08 local 0.4 0.3 2
> 2.4.3 urquell 4u,u1 103640-08 nfs 0.4 0.05 1
>
> 3.3.2b buddy 4u,u2 103640-12 nfs 0.1 0.1 0
> 3.3.2b buddy 4u,u2 103640-12 local 0.1 0.1 0
Gordon:
It turns out that with your test program,
netcdf-3 makes about 3 times the number of i/o system calls in the timed
section
as netcdf-2.
Of these, it makes about 4 times the number of write calls.
This is probably the problem you are seeing.
I have fixed this for the test program provided, so that now netcdf-3
makes about half the number of i/o system calls as netcdf-2.
I did several little things and a couple of big things.
The big things:
1) moving variable fill outside of the copy loop.
(This now like netcdf-2)
2) Aligned the beginning of sections to leave space for
growth. This feature is provisional. It causes
files created by netcdf-3 to be different in the
sense of 'cmp old new' because it leaves some
empty space in the file. Old netcdf utilities should
still be able to read the files with space in them,
and the new ones can still read the old files.
Pick up ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-3.3.2atdb.tar.Z and
give it a try. If "big thing #2" above proves problematic, It can be
disabled at by undefineing the macro D_RNDUP at line 191 of libsrc/nc.c.
I'm leaving Monday night for most of the week.
Let me know how things go.
-glenn