Return-Path: Received: from mexforward.lss.emc.com ([128.222.32.20]:34333 "EHLO mexforward.lss.emc.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751130Ab1FJGFB convert rfc822-to-8bit (ORCPT ); Fri, 10 Jun 2011 02:05:01 -0400 From: To: , CC: , , Date: Fri, 10 Jun 2011 02:02:39 -0400 Subject: RE: [PATCH 87/88] Add configurable prefetch size for layoutget Message-ID: References: <09142112ff0115f7f22124a69ead7b9bb5e0958f.1307464382.git.rees@umich.edu> <4DEED80A.4000102@panasas.com> <20110608021852.GA20998@merit.edu> <4DF062D6.7010304@panasas.com> <4DF13B65.5030401@panasas.com> In-Reply-To: <4DF13B65.5030401@panasas.com> Content-Type: text/plain; charset="us-ascii" Sender: linux-nfs-owner@vger.kernel.org List-ID: MIME-Version: 1.0 Hi, Benny, Cheers, -Bergwolf -----Original Message----- From: linux-nfs-owner@vger.kernel.org [mailto:linux-nfs-owner@vger.kernel.org] On Behalf Of Benny Halevy Sent: Friday, June 10, 2011 5:30 AM To: Peng Tao Cc: Jim Rees; linux-nfs@vger.kernel.org; peter honeyman Subject: Re: [PATCH 87/88] Add configurable prefetch size for layoutget On 2011-06-09 07:54, Peng Tao wrote: > On Thu, Jun 9, 2011 at 2:06 PM, Benny Halevy wrote: >> On 2011-06-08 03:15, Peng Tao wrote: >>> On 6/8/11, Jim Rees wrote: >>>> Benny Halevy wrote: >>>> >>>> NAK. >>>> This affects all layout types. In particular it is undesired >>>> for write layouts that extend the file with the objects layout. >>>> The server can extend the layout segments range >>>> over what the client requested so why would the client >>>> ask for artificially large layouts? >>>> >>>> This has actually been the subject of some debate over Thursday night >>>> beers. The problem we're trying to solve is that the client is spending 98% >>>> of its time in layoutget. This patch gives us something like a 10x >>>> speedup. But many of us think it's not the right fix. I suggest we discuss >>>> next week. >>>> >> >> Sure. >> >>>> But note that this patch doesn't change anything unless you set the sysctl. >>> there is a default value of 2M. maybe we can set it to page size by >>> default so other layout are not affected and block layout can let >>> users set it by hand if they care about performance. does this make >>> sense? >> >> If doing it at all why use a sysctl rather than a mount option? > The purpose of using a sysctl is to give client the ability to change > it on the fly. In theory, layout prefetching can benefit all layout > types. So the patch tries to solve it in the pnfs generic layer. > But the need for this varies per-server and many times per application. Think sequential vs. random I/O. Therefore a mount option would help tuning the behavior on a per-use basis. Global behavior must be implemented using a dynamic algorithm that would take both the workload and the server observed behavior into account. [PT] Indeed. Dynamic algorithm is supposed to be able to solve all this. And it often takes longer to be designed/accepted. It has to prove to be better in most scenarios and does not hurt the left.