When to Enable Intermediate Buffering for Local Hard Drive Cache?

When to Enable Intermediate Buffering for Local Hard Drive Cache?

book

Article ID: CTX126042

calendar_today

Updated On:

Description

Background

Enabling Intermediate Buffering improves throughput performance with writing to the write cache drive and can improve target device performance as well. Refer to Buffered Services for additional information on buffered file I/O services. 

The following are some points to consider before implementing Intermediate Buffering:

  • The use of Intermediate Buffering should be tested with a tool such as IOMETER in a development environment to evaluate performance and stability before enabling the option in a production environment.

  • Enabling Intermediate Buffering does not increase write cache utilization or increase the amount of data written to the write cache.

  • There is no internal algorithm that automatically enables or disables Intermediate Buffering. It is OFF by default and enabled through registry.

  • Limited testing is performed for Intermediate Buffering on Windows 8/8.1 and Windows Server 2012/R2 platforms. This feature should be used with caution on these newer platforms.

  • Do not implement Intermediate Buffering on workloads hosted on Hyper-V. Citrix has noticed that this degrades performance on several occasions.

  • The write cache "RAM cache with overflow to disk" option introduced in PVS 7.1 and later will likely replace this feature in a long-term. "RAM cache with overflow to disk" is controlled by CVhdBus which is the PVS miniport driver that uses SCSI-like commands for accessing the target devices virtual disk and not BNIStack , which controls the legacy local cache. The BNIStack is the Target Device's network driver that performs the PVS protocol over UDP and is responsible for communication between the Target Device and the PVS Server.

Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.

Enable Intermediate Buffering

To enable Intermediate Buffering, complete the following procedure:

  1. Change the vDisk image on the target device to Private Mode and boot the device.

  2. In the registry editor, navigate to the following key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNIStack\Parameters

  1. Create a DWORD value named WcHDNoIntermediateBuffering.

  2. Assign the data value to enable intermediate buffering:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNIStack\Parameters
    Value name: WcHDNoIntermediateBuffering
    Value type: REG_DWORD
    Value data: 2

    The following table lists all possible data values for Intermediate Buffering: 

    Value

    Action

     
    0

     
    This is the default algorithm if the registry setting is not present.

     
    1

     
    Disables Intermediate Buffering; performs direct I/O to the hard disk containing the cache. 

     
    2

     
    Enables Intermediate Buffering.

  1. Power down the target device.

  2. Change the vDisk image to Standard Mode.

Environment

Caution! Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

Issue/Introduction

This article describes, when and how to enable Intermediate Buffering for local hard drive cache?