VDI Sizing (Frame/HorizonView/Citrix Desktops

VDI Profiles  used in Sizer

Sizer relies on Login VSI profiles and tests.  Here are descriptions about the profiles and applications run

Task Worker Workload

  • The Task Worker workload runs fewer applications than the other workloads (mainly Excel and Internet Explorer with some minimal Word activity, Outlook, Adobe, copy and zip actions) and starts/stops the applications less frequently. This results in lower CPU, memory and disk IO usage.

Below is the profile definition for a Task Worker:

Knowledge Worker Workload

  • The Knowledge Worker workload is designed for virtual machines with 2vCPUs. This workload contains the following applications and activities:
    •  Outlook, browse messages.
    •  Internet Explorer, browse different webpages and a YouTube style video (480p movie trailer) is opened three times in every loop.
    •  Word, one instance to measure response time, one instance to review and edit a document.
    •  Doro PDF Printer & Acrobat Reader, the Word document is printed and exported to PDF.
    •  Excel, a very large randomized sheet is opened.
    •  PowerPoint, a presentation is reviewed and edited.
    •  FreeMind, a Java based Mind Mapping application.
    •  Various copy and zip actions.

Below is the profile definition for a Knowledge Worker:

Power Worker Workload

  • The Power Worker workload is the most intensive of the standard workloads. The following activities are performed with this workload:
    •  Begins by opening four instances of Internet Explorer which remain open throughout the workload.
    •  Begins by opening two instances of Adobe Reader which remain open throughout the workload.
    •  There are more PDF printer actions in the workload as compared to the other workloads.
    •  Instead of 480p videos a 720p and a 1080p video are watched.
    •  The idle time is reduced to two minutes.
    •  Various copy and zip actions.

Below is the profile definition for a Power Worker:

Developer Worker Type

Sizer does offer Developer profile which is assumes 1 core per user (2 VCPU,  VCPU;pCore = 2).  Use that for super heavy user demands.

Below is the profile definition for a Developer:

What is strength and weaknesses of Profiles

Strengths

  • LoginVSI is the defacto  Industry standard VDI performance testing suite.  That offers ability to have common terms like “knowledge worker” .
  • Test suite was run on Nutanix-based cluster and number of users were found with reasonable performance.  From there we could build out the profile definitions in Sizer and this is based on lab results.
  • Things were setup optimally.  Hyperthreading is turned on and the cluster is set up using best practices.
  • It does a good job of not only having mix of applications but having different workload activity as add more users.  For example, how frequently applications are opened and so it does simulate having multiple users in real environment.
  • Essentially the “best game in town” to getting consistent sizing

Weaknesses

  • In the end VDI is a shared environment and sizing will depend on the activities of the users.  So if three companies have 1000 task workers, each company could have different sizing requirements as what the users do and when will vary.

What are other fctors Sizer considers for VDI sizing: 

Common VDI sizing parameters:  (Across all VDI Brokers)

Windows desktop OS and Office version:

Depending on the OS and Office version type, there are performance implications and cores are adjusted accordingly.

The below table has the adjustment factors for cores depending on the Windows OS:

Version Factor
No adjustment 1
Windows 11 – 22H2 1.3915
Windows 11 – 21H2 1.334
Windows 10 – 22H2 1.1845
Windows 10 – 21H2 1.219
Windows 10 – 20H2 1.219
Windows 10 – 2004 1.15
Windows 10 – 1903/1909 1.135
Windows 10 – 1803/1809 1.1
Windows 10 – 1709 1.05

The factors above include performance hits from Spectre and Meltdown updates.

Similarly, the below table has the adjustment factors for cores depending on the Windows Office version:

Office 2010 0.75
Office 2013 1
Office 2016/2019 1

Display Protocol:                   

Depending on the VDI broker, there are the following Display Protocols:

VMware Horizon View:

  • Blast(default)
  • PCoIP

Citrix Virtual Desktop:

  • ICA(default)

Frame:  

  • Frame Remote Protocl(FRP)

There are adjustment to cores depending on the selected protol for the respective VDI brokers as follows:

ICA 1
PCoIP 1.15
Blast 1.38
Frame 1.45

Sizing equations for Cores/RAM/Storage:

Cores: 

Cores users * VCPUs per user  * (1 / (Vcpu per CPU) *125% if V2V/P2V * 85% if 2400 MhZ DIMM
Note this change If provisioning type is V2V/P2V then need to increase cores by 25%, due to change this provisioning.  Now default is Thinwire video protocol and that causes 25% hit. If H264 then no hit. We will assume the default of Thinwire is used as Sizer user probably does not know.

RAM: 

RAM (users * RAM in GiB / user  * 1/1024 TiB/GiB) +

 (64MB * users * conversion from MB to TiB)

Note this change a. First part finds RAM for user data

b.  Second  part calculates reqt per VM which is user

Note: Hypervisor RAM will be added to CVM RAM as one Hypervisor per node

SSD:

For VDI workload, the rule to calculate SSD is as follows:

SSD  = hotTierDataPerNode * estNodes + goldImageCapacity * estNodes + numUsers * requiredSSD,

where  hotTierDataPerNode = 0.3 GB converted to GiB ,

estimatedNummerOfNodes = ( max (1, cores/20) ) where cores is calculated cores, 

goldImageCapacity as per selected profile numUsers as received from UI, 

requiredSSD – 2.5GiB for task worker, 5GiB for Power user/Developer user, 3.3GiB for Knowledge worker/Epic Hyperspace/ Hyperspace + Nuance Dragon,

(0.3 GB* 0.931323 GiB/GB * est nodes + goldimage in GiB *est nodes + users * reqdSSD in GiB) * 1/1024 TiB/GiB
reqdSSD = 2.5 GiB for task worker, 5 GiB for Power user/developer, 3.3 GiB for knowledge

HDD:

For VDI workload, the rule to calculate HDD is as follows: 

if VDI > SSD, HDD = VDI – SSD else   HDD = 0

where VDI  = numUsers * actPerUserCap    numUsers as received from UI, 

actPerUserCap : if provisionType is V2V/P2V or Full Clone, 

actPerUserCap =  goldImageCapacity + userDataCap where goldImageCapacity and userDataCap are received from UI  

                                       : if provisionType is  not V2V/P2V or Full Clone,

actPerUserCap =    userDataCap

VDI Sizing – July 2018 sprint

  • Dell completed extensive VDI testing using LoginVSI profiles and test suite on a Nutanix cluster using their skylake models.  So we now have the most extensive lab testing results to update Sizer profiles.  Given that we updated Sizer VDI workload sizing.  The key reasons:
    • This was run on skylake models and so includes any enhancements in that architecture
    • Latest AOS version was used
    • Best practices were used in setting up the cluster by VDI experts.  For example hyperthreading is turned ON
    • Latest login VSI suite was used
  • Here is summary of the results:
    • Big change  is Task workers.  In old days of Windows 7 and Office 2010 we were seeing 10 task workers per core as common ratio.  However, both Windows 10 and Office 2016 are very expensive resource-wise.  In the lab tests we only get about 6 users per core.  We are seeing a big bump in core counts for task workers as a result.  For example 18% increase in cores for Xenapp Task workers and 28% for Horizon task workers.  A customer’s actual usage will vary.
    • Windows 7 is estimated to be needing 60% of cores vs Windows 10.
    • Office 2010 is estimated to be needing 75% of cores vs Office 2016.
    • Knowledge workers for either View or Xen Desktop brokers did not change much
    • Power users on View did not change much
    • Power users for Xen Desktop did increase by 21% as the profile changed from 5 users per core to just 4 users per core.

Continue reading “VDI Sizing (Frame/HorizonView/Citrix Desktops”

Usable Capacity

Usable Remaining Capacity is the amount of storage that is available to the customer AFTER workloads, RF, storage savings are applied.  It represents what they should have remaining once deployed.

Sizer presents the values in both RF2 and RF3.

Usable Remaining Capacity (Assumming RF2)

  • HDD Usable Remaining  Capacity = (Raw + Compression Savings + Dedupe Savings + ECX Savings – Workload – RF Overhead – CVM overhead ) / 2
  • SSD Usable Remaining  Capacity =  (Raw + Compression Savings + Dedupe Savings + ECX Savings – Workload – RF Overhead – CVM overhead + Oplog ) / 2
  • Notes:
    • Usable capacity is basically RAW + storage savings with data reduction techniques like compression less workload, RF overhead and CVM overhead.
    • If All Flash,  Compression Savings, Dedupe Savings , ECX Savings, RF Overhead,  and CVM overhead that would be attributed to HDD’s is applied to SSDs
    • For SSD Capacity, Oplog is included as part of CVM overhead for SSDs but also added back as it is a Write log and so is available for user data.

Extent Store and Effective Capacity

Extent Store

This is a concept that is used in the Nutanix Bible.  This is RAW capacity less CVM.  It represents the capacity that is available to a customer

 

Effective Capacity

Used in Storage Calculator or DesignBrewz.  This is the Extent Store * Storage Efficiency setting in  Storage calculator.  So if the Extent Store is 10TiB and the Storage Efficiency factor is set to 1.5:1 then the Effective Capacity is 15 TiB.   Storage Efficiency factor is the expected benefit of storage reduction approaches like compression, dedupe, ECX.  Effective Capacity then is what is hoped to be available with these reduction techniques

Cores (Actual Cores, Adjusted Weight, Memory Adjustments like Unbalanced DIMMs)

In Sizing Details you may see an odd number like 40.27 cores for RAW cores as shown below

Actual Core Capacity

This is the total number of cores in the recommendation.

By clicking on the tooltip by the node you get the information

So in this recommendation we have 3 nodes where each has 2 cpu and each cpu has 8 cores.  So the Actual core capacity is 3 nodes * 2 cpu/node * 8 cores/cpu = 48 cores

Applied Weight

 

Intel designs a wide range of cpus to meet different market needs.  Core count certainly varies but the speed of a core is not the same across all cpu’s.

We need some benchmark to adjust for the core speed differences.  We use SPECInt 2006.  It is the best benchmark in terms of being an industry standard where vendors who publish numbers have to use standard testing process and publically publish the numbers.  We see consistency as well for a given CPU across all the vendors.  Thus this is a good benchmark to use for us to adjust for different values

So applied weight is where we have adjusted the cores to the baseline processor which runs at 42.31 specints

Review the Processor Table page with their core count, specints, and adjusted cores

Using this example we have a recommendation of 3 nodes with each node have quantity 2 2620v4 processors.  The table (calculation is shown in that page too) shows the 2620 v4 adjusted cores is 14.9 cores with nodes having 2 cpus

Thus in this recommendation total effective cores is 14.91 cores/node * 3 nodes = 44.73 cores.  We take applied weight adjustment of -3.26

 

Memory Adjustments

Broadwell Processors

With Broadwell processors “unbalanced DIMM” configuration depends on how they are laid out on the motherboard.  When it occurs there is a 10% increased access latency

To determine whether Sizer takes a discount it takes total count of DIMMs in a node and divides by 4. If odd number then it is Unbalanced and Sizer applies the discount.
If even, then no reduction is needed

Example

12x32GB in a node. 12 DIMMs/4 = 3 and so unbalanced
8X32GB in a node 8 DIMMs/4 = 2 and so balanced

If unbalanced core capacity is  reduced.

– Actual Core Capacity = Cores/Node * Node count
– Applied Wieght = extra or less cores vs baseline
– Adjustment due to Memory Issues = -10% * (RAW Cores+Applied Wieght)

It should be noted that if single processor system then NO adjustment is needed.

Skylake Processors

Skylake processors is more complex compared to Broadwell in terms of whether a system  has unbalanced dimms

We now test for the following

  • CPU – skylake
  • Model – Balanced_Motherboard – true  (described below)
  • Memory bandwidth – go with slower figure for either memory or CPU.  If 2133 Mhz then -10% memory adjustment.   If 2400Mhz or 2666Mhz (most common with skylake models) we take a 0% adjustment

Like before, we find the DIMM count per socket.  There is typically 2 sockets (cpu’s) but can be 1 and starting to introduce 4 socket models

Using the quantity of DIMMs per socket we should apply following rules

If CPU is skylake

  • If dimm count per socket is 5,7,9,10,11 then the model is considered unbalanced and we need to take a -50% memory adjustment
  • if dimm count per socket is 2,3,4, or 12 it is balanced and memory adjustment = 0%
  • if model is balanced and DIMM count per socket is 6 or 8 then it is balanced and memory adjustment = 0%
  • if model is unbalanced and DIMM count per socket is 6 or 8 then it is unbalanced and memory adjustment = -50%

After determining the adjustment percent we would make the adjustment as we do currently

  • Actual core capacity = Total cores in the cluster
  • Applied weight = adjustment vs baseline specint
  • Adjustment = Adjustment Percent * (Actual core capacity – Applied weight)
With Skylake, it can matter how the DIMMs are arranged on the motherboard.  We have PM review that and so far all models are laid out in balanced fashion
Here is doc that shows the options

 

 

Processor Table

Here is the table of processors

SPEC 2017 Integer Ratings, refer to this Google Sheet

The data is based on the data published on

https://www.spec.org/cgi-bin/osgresults

SPECint Adjusted Core is simply adjusting cores vs a baseline CPU (Intel E5 2680 v2) of 4.44 SPEC 2017 Integer Ratings per Core

For example, the 2620 v4 has 16 cores but only at 4.14 SPEC 2017 Integer Ratings per core

  • SPEC 2017 Interger Ratings per adjusted cores = 16 * SPEC 2017 Integer Ratings int per core / Baseline = 16 * 4.14/4.44 = 14.91
  • Basically, this is saying the 2620 v4 has 16 cores, but it is equivalent to 14.91 baseline cores in 2 CPU nodes
  • For a single CPU, it would be just 14.91/2 = 7.455

Looking at a high-speed CPU, the 6128 has just 12 cores but screams at 6.89 SPEC 2017 Integer Rate per core

  • Specint Adjusted cores = 12 * specint per core/ baseline = 12 * 6.89/4.44 = 19.31
  • Basically, this is saying the 6128 has 12 cores, but it is equivalent to 19.31 baseline cores

For the complete list of CPUs supported by Sizer and their SPEC 2017 Integer Ratings, refer to this Google Sheet.

Continue reading “Processor Table”

CVM (Cores, Memory, HDD, SSD)

CVM Cores & Memory Overheads

The CVM (Controller VM) CPU core and memory requirements in Nutanix environments are determined by a couple of key parameters:

Total Capacity

  • The overall storage capacity of the node influences the number of CPU cores and the amount of memory allocated to the CVM.
  • Higher capacity nodes require more resources to manage storage operations efficiently.

Recovery Point Objective (RPO)

  • The RPO, which defines the acceptable amount of data loss in case of a failure, impacts the CVM resource allocation.
  • Lower RPOs require more CPU cores and memory to ensure data replication is quick and accurate.

For the actual resource requirements refer to HCI Node Capacity & CVM Resource Requirements.

CVM Storage Overheads

Key Parameters for CVM Storage Overhead:

  • Nutanix Boot + Home: 280 GB across 2 drives, always on Tier-1
  • OpLog: 600 GB, Tier-1
  • Hades Reservation: 100 GB per disk, irrespective of disk type
  • Cassandra: 3% of all drives, are always on Tier-1 storage
  • Curator: 2% of all drives, are always on Tier-2 storage
  • Ext4 Formatting: Varies by storage type (HDD, SSD, NVMe)

CVM Storage Overhead Summary:

Nutanix Boot + Home:

  • Overhead: 280 GB across 2 drives
  • Tier: Always on Tier-1 Storage

OpLog:

  • Overhead: 600 GB
  • Tier: Always on Tier-1 Storage

    Hades Reservation:

  • Overhead: 100 GB per disk
  • Tier: Irrespective of disk type

    Cassandra:

  • Overhead: 3% of all drives
  • Tier: Always on Tier-1 Storage

Curator:

  • Overhead: 2% of all drives
  • Tier: Always on Tier-2 Storage

    Ext4 Formatting:

  • HDD: 1.78% of drive size
  • SSD & NVMe: 2.6% of drive size

The overheads can be seen in Sizer by hovering over the info icon as seen below:

Continue reading “CVM (Cores, Memory, HDD, SSD)”

Getting 1 node or 2 node clusters

New rules in Sizer for Regular Models and ROBO Models (October 2018)

Regular Models

Rules

  • All models included
  • All use cases are allowed – main cluster application, remote cluster application and remote snapshots
  • 3+ nodes is recommended

Summary

    • This is default in Sizer and is used most of the time
    • Fits best practices for a data center to have 3 or more nodes
    • Huge benefit as Sizer user can stay in this mode to size for 1175s or other vendor’s small models  if they want 3+ nodes anyhow. No need to go to Robo mode

 

  • Note: This gets rid of previous Sizer user headache as they want to size these models for 3+ nodes and get confused where to go

 

What changes

  • The smaller nodes such as 1175S are included in the list for running main cluster applications vs just remote applications and remote snapshots

ROBO Models

Rules

    • All models  but only some can size for 1 or 2 node
    • All use cases – main cluster application, remote cluster application and remote snapshots
    • All models can 3+ nodes depending on sizing requirements

 

  • ONLY Certain Models (aka ROBO models) can be 1 or 2 node

 

    • Note there is no CPU restriction.  Basically PM decides what models are ROBO and they can be 1 or 2 cpu

Summary

  • User would ONLY need to go to ROBO if they feel the solution fits in 1 or 2 node
    • If the size of the workloads require 3+ nodes, Sizer would simply report the required nodes and it would be no different recommendation than in regular
    • They feel 1 or 2 node restrictions is fine.  
      • The list of robo models are fine for the customer
      • RF for 1 node is disk level not node level
      • Some workloads like AFS require 3 nodes and so not available

What changes

  • All models can be used in ROBO where before it was just the ROBO models

No quoting in Sizer for Robo

Currently there are minimum number of units or deal size when quoting Robo.  Sizer will size the opportunity and will tell you that you should quote X units.  Given it takes 10 or more units and possibly you want to club together multiple projects, we disabled quoting from Sizer when includes 1175S

 

No Optimal Solution

At times no optimal solution can be found

Typical – No Optimal Solution Found Issues

When Sizer cannot find a solution given various settings and constraints it will simply say No Optimal Solution found. For example, if set node count to 3 nodes and ask for extremely large workloads it will say No Optimal Solution found as there is no 3 nodes solution to cover that many users.

So here is the list of common things users set that may cause No Optimal Solution.

  • Node count set too low in the Auto Sizing panel
  • Budget set too low in the Auto Sizing
  • Set models to say 1065 and ask for lot of demand that requires more than 8 nodes
  • NearSync is selected and using ROBO models like 1175S

What to do

  • Get back to Automatic Sizing with
    • No Node Count filter
    • No Max Budget filter
    • Set model types to All Regular models

 

Compression Sizing

Compression Settings

  • In each each workload,  there are the following compression settings
    • Disable compression for pre-compressed data.
      • This turns off compression in Sizer.  It is a good idea if  customer has mostly pre-compressed data for that workload.  Though it may be tempting to turn-off compression all the time to be conservative, it is hard to economically have large All Flash solutions without any compression.   It is also unrealistic that no data compression is possible.  Thus use this sparingly
    • Enable Compression
      • This is always ON for All Flash.  The reason for that is because post process compression is turned ON for AF as it comes out of the factory.
      • By default it is ON for Hybrid, but user can turn it OFF
    • Container Compression
      • There is a slider that can go from 1:1 (0% savings) to 2:1 (50% savings).
      • The range will vary by workload.  We do review pulse data on various workloads.  Typically 30% to 50%.  For Splunk, it is 15% maximum as the application does fair amount of pre-compression before stored in Acropolis.

What Sizer will do if Compression is turned ON

  • Post process compression is what Sizer sizes for.  The compression algorithm in Acropolis is LZ4 which runs about every 6 hours but occasionally LZ4-HC goes through cold tier data that is over day old and can compress it further.
  • First the workload HDD  and SSD requirements are computed without compression.  This would include the workload and RF overhead
  • Compression will then be applied.  .
  • Example.  Workload requires 4.39 TiB (be it SSD or HDD), RF3 is used for Replication Factor, and Compression is set to 30%
    • Workload Total in Sizing Details = 4.39 TiB
    • RF Overhead in Sizing Details = 4.39* 2 = 8.79 TiB  (with RF3 there is 2 extra copies while with RF 2 there is just one extra copy)
    • Compression Savings in Sizing Details = 30% (Workload + RF Overhead) = 30% (4.39 + 8.79) = 3.96 TiB

Deduplication

  • Deduplication does not effect the compression sizing

Local Snapshots

  • First the local snapshots are computed using what the user enter for daily change rate  and number of snapshots retained (hourly, daily, weekly)
  • RF is applied to the local snapshots as extra copies need to be made.
  • Compression is applied
  • Example
    •  Workload requires 4.39 TiB HDD, RF3 is used for Replication Factor, and Compression is set to 30%
    • Daily change rate = 1% with 24 hourly snapshots, 7 daily snapshots, 4 weekly snapshots
    • Local Snapshot Overhead in Sizing Details =  1.76 TiB  (explained in separate section)
    • Snapshots RF Overhead in Sizing Details = 2*1.76 TiB  = 3.52 TiB (with RF3 there is 2 extra copies while with RF 2 there is just one extra copy)
    • Compression Savings in Sizing Details = 30% (Workload + RF Overhead + Local Snapshot Overhead + Snapshots RF Overhead) = 30% * ( 4.39 + 8.79 + 1.76 + 3.52) = 30% * 18.46 = 5.54 TiB
      • Though a lot of numbers this is saying compression is applied to all the cold user data (not CVM)

Remote Snapshots

  • Using same example used in local snapshots but adding remote snapshots put on a different cluster
  • Remote Snapshot overhead in Sizing Details  = 6.64 TiB  (note this is just for the remote cluster, also explained in separate section)
  • Snapshots RF Overhead in Sizing Details = 13.28 TiB  (note this is just for the remote cluster and remember it is RF3)
  • Compression Savings in Sizing Details = 30% * ( 6.64 + 13.28) = 5.98 TiB
    • Though a lot of numbers this is saying compression is applied to all the cold user data (not CVM)

Misc

  • If compression is ON then just Pro or Ultimate  license in financial assumptions and in the financial analysis section of the BOM

Login Information and Vendor Support

This is a common concern with various users as they will see different login approaches and vendor support

Login Approaches

My Nutanix Login –  This is for registered partners and for all Nutanix employees.  Most sizings will be done using this login approach.  You can do a complete sizing including generating a BOM or budgetary quotes.    You can not attach a BOM to a SFDC opportunity or generate a quote in SFDC.

Salesforce Login –  This is for Nutanix employees with SFDC Account.  This is used by Nutanix field who has access to SFDC.  You can do a complete sizing including generating a BOM or budgetary quotes.    You also can attach a BOM to a SFDC opportunity or generate a quote in SFDC.

Vendor Support

When you create a scenario you select what vendor the scenario should use, meaning their models.  Nutanix employees have access to all current vendors.

Partners often have to be registered partners with a given vendor.  When a partner logs in via My Nutanix their roles are retrieved and only those vendors are allowed.

Partners that feel they should be registered for a given vendor can send email request to:  partnerhelp@nutanix.com

Prospect Sizer

For customers we do have Prospect Sizer.  Same Sizer which is updated when we post a new sprint but with limitations

  • Intended for a prospect to get an initial sizing for a Nutanix solution
    • Not intended to be the final configuration to get a quote
    • Not intended to provide full sizer capability  where competitors can see what Nutanix partner will most likely  bid
  • What it can do
    • Get a sizing for VDI, RDSH/XenApp, Server Virtualization, RAW
    • Allow the prospect to do some sizings within 3 day period
  • What it can not do
    • No financial analysis or financial assumptions.
    • No sizing details
    • Set to homogenous sizing only (no mixed or manual)
    • Standard sizing only (not aggressive or conservative)
    • No BOM
    • Limited to 3 scenarios and 3 workloads per scenario maximum
    • List pricing used for determining recommendation (not margin)
    • No customization allowed
    • No Resiliency and Availability section

To access Prospect Sizer the customer should go here

https://productsizer.nutanix.com

If they have not registered or need to re-register they will be directed to the registration page