Installation and Configuration Guide
ThinIO is a RAM caching technology between windows and the storage system. ThinIO injects itself in the storage class, receiving IO before the data blocks are committed to the disk.
ThinIO by default will configure itself to sit in line between windows and the c: drive. If this is not ideal, the volume mapping value can be changed in the configuration utility.
How Does ThinIO work?
ThinIO caches reads and writes to the disk in a cache of RAM it allocates itself on boot.
Once a read block is requested from the disk once, ThinIO keeps the block data in cache for re-use.
If a write block is sent to the disk, ThinIO keeps the data in the cache for reading or writing in future. Negating that write IO entirely.
As the cache begins to fill, ThinIO will reuse blocks of data used to optimise read data for write data. Effectively removing the read files from the cache and replacing it with write data.
ThinIO intelligently monitors usage, ensuring that the caching it performs is to the benefit to the user session.
What happens if the cache fills?
If the cache reaches saturation, ThinIO will begin to page out older data in favour of the newest write data coming in.
When paging out, ThinIO will use internal logic to try to commit the least frequently used data first.
What happens on Shutdown?
On shutdown, ThinIO will commit all volatile (write’s) data to the disk before allowing a restart. In order to facilitate this, ThinIO will by default increase the service timeout on shutdown to 120 seconds. This value may need to be increased in scenarios where the size or contents of the cache would take more than two minutes to commit.
ThinIO is currently only supported on Stateless desktops. Stateless desktops lose changes on reboot.
When performing maintenance, ensure to disable the cache via the ThinIO agent before restarting or shutting down the machine:
Never use ThinIO on a desktop/server image that is not currently stateless or in a power loss you may lose volatile data.
Always take a snapshot backup of your golden image before introducing ThinIO.
By default, ThinIO will install with a default 30-day trial. An enterprise license is available in two models:
- Per Desktop.
- Per Remote Desktop Services server.
Any device running ThinIO must have the correct license applied for the total number of devices you wish to run ThinIO on or the technology will be disabled on boot.
Please contact firstname.lastname@example.org for a trial extension, quote or pricing for ThinIO enterprise.
ThinIO is supported on the following operating systems:
- Windows 7 x64
- Windows 8 x64
- Windows 8.1 x64
- Windows Server 2008 R2
- Windows Server 2012
- Windows Server 2012 R2
ThinIO is only supported on 64 bit (x64) operating systems.
Download and install ThinIO via the MSI installer
You will only be asked for an installation location, all other ThinIO configuration is performed after the installation has completed.
Note: The Uninstall must be performed by a user with administrator privileges on the local device.
ThinIO is an MSI based installation and will appear in Program and Features within Windows Control Panel.
- Open Control Panel
- Select Programs -> Program and Features
- Right-click ThinIO and select ‘Uninstall’
- Follow the uninstall instructions
A reboot will be required once the uninstall has completed.
Configuring the ThinIO cache is relatively easy. The table below describes the configuration options available in ThinIO.
Use the licensing tab to apply a license.
Size of memory in megabytes to allocate to the ThinIO cache
Drive in the system you would like ThinIO to cache
Page Size is automatically calculated and cannot be modified
Disk to cache
The internal Windows device name assigned to the volume of the
selected drive letter
Enabled – ThinIO cache will enable on start-up Disabled – ThinIO cache will not enable on start-up
Read Ahead Capture – ThinIO will capture a read-ahead data on
When you are happy with your configuration, click save, close then restart the machine.
Sizing your cache:
Sizing your cache is not an exact science, the workload generated by your users will dictate the size needed. Bear in mind ThinIO currently supports 16gb as the largest cache size configurable.
Sizing for a Remote Desktop Server:
You should aim to achieve less than 100% cache volatile for the best workload boost. The relative guidelines would be 350mb cache per user and size up or down depending on the results of a load test.
Sizing a Virtual Desktop:
While it would be ideal to achieve less than 100% volatile in a virtual desktop scenario, the scale would not always suit. When dealing with virtual desktops the best would be to start with 600- 800mb of cache and move the figure back over time.
From the first load of testing, a cache size of 350-512mb per desktop has shown to be the best matching of performance and RAM availability.
ThinIO’s read ahead technology allows you to pre-stage boot and application data as part of your golden image.
By doing so ThinIO preload’s the blocks needed by Windows and applications commonly used (e.g. Microsoft Office, Internet Explorer, Adobe Reader, etc.) to allow quick boot, application launch and even login times.
Creating a read ahead file:
- Open your desktop/server image in read-write mode
- Once complete, launch the ThinIO Configuration agent and set the cache mode to “Read Ahead Capture”.
- Click Save and you will be prompted to reboot your machine
- During the next reboot, a read ahead capture will be created.
- When the capture has completed ThinIO will automatically shutdown Windows ( this can take up to 5 minutes )
- Once finished, create your golden image.
Using the ThinIO Agent:
The ThinIO agent can be found as part of the installation of ThinIO. This console allows you to view the performance of the cache, track real-time data and also extract key driver performance metrics to share with ThinScale support.
Once you launch the agent, you will have the opportunity to connect to the local machine, or optionally a remote machine of your choosing:
ThinIO Main Dashboard:
Upon connection, you will be presented with the ThinIO dashboard as below:
Buttons on the Main Dashboard:
Disconnect from the current machine:
Below the “Connected to:” text, you will find a drop-down button to disconnect to the connection screen.
Auto Refresh will poll the service every 5 seconds for additional metrics and statistics, keeping the data in real-time.
The real-time statistics window will show a real-time view of IO in and out of the system. This display is covered further below.
Below the options menu, you will find a number of items related to driver functions. By default, only those features that can be used will be enabled.
Refresh – Refreshes the current view with real-time data.
Driver Details – Provides more information about the driver (more information below)
Enable Cache – Instructs the driver to begin optimising IO
Disable Cache – Instructs the driver to begin flushing volatile IO from cache to disk
Reset Statistics – Resets the driver’s statistics (this can only be performed while disabled)
Real-time Statistics Window:
The Real-time statistics window is a great way of seeing data as it passes through the system
The progressive statistics window allows you to track the real data since the system has booted:
Interval = frequency of polling Points = data to keep
In the below example, 100 seconds of data will display on the screen.
Overflow reads/writes = if the cache is full, or block data is ejected in favour of busier data, it will appear as an overflow.
Driver Details Window:
With regards to the nerdy stats, Flush = write, fault = read.
For additional support or installation help, please contact email@example.com and
we’ll be happy to help.