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

Attachment: new_files.tgz
Description: application/tgz

Attachment: PVFS_HINTS.patch.gz
Description: GNU Zip compressed data

_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to