Hi, I attached a patch which adds PVFS_hint to most system interface calls, these hints can be used on the client side only or are automatically transfered to the server if a flag is set in the hint_transfer_to_server array for the appropriate hint. The hint itself consists of a number (hint type int32_t) and a variable string. Therefore the size of the fixed request protocoll becomes dynamic, I hope this will work and that there are no problems with it, maybe the union structure in the request protocoll has to be padded to be 4 byte aligned ? However, to control this structure I added a maximum value which limits the maximum number of bytes in the hint structure.
I experimented with the Request_ID and I think this structure can be easily used to implement it on top. I added a testcase in test/client/sysint/create-hints.c, right now the request id value (a long string without any use) is printed for the create case if set (it is set only by the testcase). I think this gives the user a good flexibility, set it NULL for no hint or add hints in advance and I like to have flexible length of the hints, also the automatic transfer to the server is nice for research I guess. If you think that might be a bad idea for production use we could add a define which removes the parsing of the structure in that case or maybe you prefer another method ? Right now I haven't added any hints to MPI-IO or the client core, thus these are broken with that patch. I think we will add the corresponding Request/ID creation to these calls (so we can't forget any :) if you think thats a good way to do it. Thanks, Julian
new_files.tgz
Description: application/tgz
PVFS_HINTS.patch.gz
Description: GNU Zip compressed data
_______________________________________________ Pvfs2-developers mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
