[OpenAFS] Re: bonnie++ on OpenAFS

Achim Gsell achim.gsell@psi.ch
Tue, 23 Nov 2010 00:06:23 +0100


On Nov 22, 2010, at 11:32 PM, Andrew Deason wrote:

> On Mon, 22 Nov 2010 23:12:57 +0100
> Achim Gsell <achim.gsell@psi.ch> wrote:
>=20
>>>> Trashing? Mmh. I can write 8 1 GB in parallel with dd without
>>>> problems ...
>>>=20
>>> Are you sure the access pattern for that is the same as the bonnie++
>>> test that's running?
>>=20
>> OK, here is a simple shell script reproducing the problem:
>=20
> Er, I'm sorry, I'm not understanding something here. I thought you =
just
> said that this is _not_ a problem when doing this in parallel with dd.

Yes, and the script is working serial ... the parallel dd's are just an =
example, that I don't think it's trashing problem.

1.) This works:
$ for i in 1 2 3 4 5 6 7 8; do dd if=3D/dev/zero of=3Dfile$i bs=3D1024k =
count=3D1024; done=20

2.) And this too:
$ for i in 1 2 3 4 5 6 7 8; do dd if=3D/dev/zero of=3Dfile$i bs=3D1024k =
count=3D1024 & done=20

3.) But if I first open 8 files and - after this is done - start writing =
to these files sequentially, the problem occurs. The difference to 1.) =
and 2.) is, that I have these 8 open files while the test is running. =
This simulates the "putc-test" of bonnie++ more or less:

fd1 =3D open("file1");
fd2 =3D open("file2");
fd3 =3D open("file3");
fd4 =3D open("file4");
fd5 =3D open("file5");
fd6 =3D open("file6");
fd7 =3D open("file7");
fd8 =3D open("file8");

write 1 GB to fd1
write 1 GB to fd2
write 1 GB to fd3
write 1 GB to fd4
write 1 GB to fd5
write 1 GB to fd6
write 1 GB to fd7  # usually here I run into the problem :-(
write 1 GB to fd8=20

close (fd1);
close (fd2);
close (fd3);
close (fd4);
close (fd5);
close (fd6);
close (fd7);
close (fd8);


Achim=