Cell Relay Archive[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index][Thread Index][Author Index][Subject Index] Re: Simple Question On CPU Utilization
Ashfaq Hossain wrote: > > I have been thinking about the following basic observation: > > "When the user-level packet size is increased beyond > some point, CPU utilization decreases." > I assume you mean for something that approximates a requestor that loops making requests as fast as it can. > Why does this happen? I am thinking of user-level pkt sizes > (much) larger than the underlying MTU size. > > I know the following: > > 1. For a packet transfer, the overheads can be grouped > into 2 major categories: per-byte overhead and > per-message overhead. > > 2. per-message overhead remains reasonably constant > with increasing pkt size. > > 3. per-byte overhead increases with pkt size (checksum > calculation, user-to-kernel copy etc.) > > Will anyone please shed some light on the underlying reason? Its pretty straightforward. Once the request size becomes large enough for the data transfer to take longer than the processing time for that request, the gaps between finishing processing the request and finishing sending the request become larger. This translates to free time to the processor (ie. lower utilization of the CPU for protocol processing). This is somewhat of an oversimplification, as it ignores completion interrupts and acks, but you get the gist (:-)). This is only true if the per-byte costs don't dominate, ie. you don't have excessive copies in your implementation. -- - Len Fishler - aka fishler_len@tandem.com aka len@loc201.tandem.com |
|