3 Replies Latest reply: Jul 23, 2007 3:35 PM by 3004 RSS

    Direct IO contra Buffered IO

    3004
      <p>Hi Essbase specialists,</p><p>What are the advantages of changing this parameter ?</p><p>What are the disadvantages ? Which requirements should I checkbefore ?</p><p>I read the essbase database administrators guide, but doesn'thelp me in this question.</p><p> </p><p>Regards</p><p>Simone</p>
        • 1. Direct IO contra Buffered IO
          3004
          <p>The Analytic Services Kernel uses buffered I/O (input/output) bydefault, but direct I/O is available on most of the operatingsystems and file systems that Analytic Services supports. For alist of the supported platforms, see the <em>Essbase AnalyticServices Installation Guide</em>. <a name="28362"></a></p><p class="pbody">Buffered I/O uses the file system buffercache.</p><p><a name="28577"></a></p><p class="pbody">Direct I/O bypasses the file system buffer cache,and is able to perform asynchronous, overlapped I/Os. The followingbenefits are provided:</p><table cellpadding="0" width="90%" border="0" cellspacing="0"><tr valign="top" align="left"><td width="25"><p class="pbullet1">&bull;</p></td><td><a name="17676"></a> <p class="pbullet1">Faster response time. A user waits less timefor Analytic Services to return data.</p></td></tr></table><table cellpadding="0" width="90%" border="0" cellspacing="0"><tr valign="top" align="left"><td width="25"><p class="pbullet1">&bull;</p></td><td><a name="17677"></a> <p class="pbullet1">Scalability and predictability. AnalyticServices lets you customize the optimal cache sizes for itsdatabases.</p></td></tr></table><p><a name="33801"></a></p><p class="pbody">If you set a database to use direct I/O, AnalyticServices attempts to use direct I/O the next time the database isstarted. If direct I/O is not available on your platform at thetime the database is started, Analytic Services uses buffered I/O,which is the default. However, Analytic Services will store the I/Oaccess mode selection in the security file, and will attempt to usethat I/O access mode each time the database is started.</p><div class="ptblnote"><table summary="Note" cellpadding="0" border="0" cellspacing="0"><tr><td><img border="0" alt="" height="18" src= "http://dev.hyperion.com/techdocs/eas/eas_712/easdocs/dbag/images/common/shim.gif" id="LongDescNotReq5"></td><td bgcolor="#ffffff" width="100%"><img alt="" border="0" height="18" id="LongDescNotReq6" src= "http://dev.hyperion.com/techdocs/eas/eas_712/easdocs/dbag/images/common/shim.gif" width="1"></td></tr><tr valign="top"><td><span class="notecautionhead">Note:  </span></td><td><span class="notecautiontext">Cache memory locking can only beused if direct I/O is used. You also must use direct I/O if youwant to use an operating system's no-wait (asynchronous)I/O.</span></td></tr></table></div>
          • 2. Direct IO contra Buffered IO
            3004
            <p>What version of Essbase are you using?  I recall thatDirect IO does not work properly on 6.5 at least.  Maybe it'sokay in later versions.</p>
            • 3. Direct IO contra Buffered IO
              3004
              The technical description provided elsewhere in this thread appears to be sound. As to the administrative aspect: my view is that if you support a relatively small number of applications per server and have time to explicitly manage amd tune the data file caches for each database, then Direct I/O may be worth testing for your site. Most Essbase installations I am aware of do not fit this description.<BR><BR>Hope this helps,<BR>Bruce