Hi, I generate some diagrams for TAS using multiple databases for the key/value pairs.
Last week I upgraded to the newest CVS version, it looks like performance did
change between the 4 week old CVS version (last patch
Date: 2005/11/14 20:43:46) and the 1 week old CVS version (last patch:
2005/12/02 22:15:46). Some runs are better, some worse. The new diagrams for
51200 files show this
difference as well (NOV refers to former CVS version). I will rerun all mpi
metadata benchmarks (on our cluster) over the week with up to 25 clients. For
example with TAS and 51200 files it takes 0.000475 secs/create earlier and
now 0.000528 secs/create.
From that expierence and from the results posted on the maillinglist a while I
think it would be a good idea to have some benchmarks which should generate
results in shorter periods to figure out if code changes might have a
performance impact.
Without setting the HandleRecycleTimeoutSecs to a low value like 5 performance
still is really bad, look at HandleRecycleTimeoutSecsDefault.png which is a
just a unfinished diagram, but you will see what I mean when you look for the
dbpf-tmpf[-NOV] results. With the setting performance is now a lot better :)
While looking on the results for the new 3 database version I realized that
because I did not use a db environment the results were worthless so I did
change ALT to use a common environment for all db's. (The 3 DB keyval version
was faster without environment, because there were a cache for every db :)
I set the cache to 1MByte for all databases.
For the single db version the handle db is for 51200 files about 10 MByte and
the keyval db about 20 MByte.
For the three db version: other keyval db: 4.5 MB metadist db: 7M datafile db:
6M. (Of course I did not write the keys for metadata and datafile handles).
The 3 DB version (ALT-multiple) is a bit slower than the one DB version.
Futhermore correct implementation will be a bit more complicated (delete case
etc. I did only implement necessary operations...)...
ALT seems to be a lot better with the new CVS version and of course 1MB
cache . Before the handledb and keyvaldb did only use the default (I think
256KB).
About the ALT database layout:
handle db:
key: coll_id+handle
data: common data: type,permissions..., (like you do) but additional
k_size
and no coll_id and handle...
keyval db:
key: coll_id+handle+key->buffer (copied together using memcpy)
data: value
Now for 3 DBs variant I do only save coll_id+handle for the metadata_dist and
datafile_handles. For the compare of the key first if the length matches 13|
17 characters it will be compared with the keys using memcmp. Everything else
is the same as in the single DB ALT version....
Have a nice day,
Julian
HandleRecycleTimeoutSecsDefault.png
Description: PNG image
Meta-CVS-ALTCREATE-51200-1Meta-5Data.png
Description: PNG image
_______________________________________________ PVFS2-developers mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
