Print

Print


On 10/10/11 11:13, Brian Bockelman wrote:
> 
> On Oct 10, 2011, at 1:10 PM, Andrew Hanushevsky wrote:
> 
>> OK, so here is what I am planning on doing for readv
>>
>> 1) If you monitor IO then each readv request will have a special readv entry (as opposed to a standard read entry) that will include:
>>   a) Number of readv segments,
>>   b) number of bytes read,
>>   c) the dictid of the file being read, and
>>   d) the readv distinguisher used to group a single readv request
>>      that produces multiple entries because it reads from multiple files
>>      in the vector together (i.e., you know its from the same readv).
>> Note that no offset is supplied. If that is needed then….
>>
> 
> This is fine up to here.
> 
>> 2) If you monitor IOV then, additionally, the actual vector is unrolled and you get a read entry for each readv entry. The format is the same as a regular read. However, you can tell it's a readv because a readv entry will precede it (and tell you how many read entries will follow). Read entries contain offsets.
>>
> 
> I forget - is there an ordering of the monitoring packets?  I would expect a non-trivial chance that UDP packets will get reordered.

The UDP packets get a sequence id so they can be reordered at the monitoring
client. I added a check for that about a week ago and it has not happened since
then. But it's also true I set monitoring packet size so that it fits into a
single ethernet frame which should further reduce this probability.

Matevz

<snip>