Download - HDX 3D
Pubforum 2011 Dublin/Ireland
The cloud in your hands ™
2 HDX 3D in a NATshell
Citrix HDX 3D ™ in a NATshell - starring:
in a
10.20.22.43192.168.1.11
192.168.1.12
192.168.1.13
3
Citrix HDX 3D ™ in a NATshell - Agenda
HDX 3D in a NATshell
Configure NAT
Optimize/Troubleshoot
Simulate an WANenvironment
Sources
What it is …
What it is …
http://hdx.citrix.com/
Home
5 HDX 3D in a NATshell
What it is …
Download/obtain HDX 3D V1.1 from this source:https://www.citrix.com/English/ss/downloads/details.asp?downloadId=1858483&productId=163057
HDX 3D consists of 2 download packages:FFMpeg Open Source (not needed - the “source”)HDX 3D Pro GraphicsThe 12.0.33 online Plugin included in the package has been super-seeded by:
Do use the actual available Plugins (12.1/Nitro [13]) The 12.1 plugin is considered as stable and has indeed the HDX 3D GPU support built in.
6 HDX 3D in a NATshell
What it is …
The RTM_with_12.0.1_client_health_Check_Tool package consists of:
CitrixOnlinePluginFull.exe 12.0.33 – [-> Use the 12.1 Plugin - super-seed.] Documentation (Administrator's Guide,
ReleaseNotes, User's Guide) HDX 3D Pro Graphics – HealthCheck.exe HDX3D_PROGFX_x64SERVERMSI.msi HDX3D_PROGFX_x86SERVERMSI.msi
7 HDX 3D in a NATshell
What it is …
Recommendations/prerequisites for HDX 3D:
Actual plugins (12.1 and above on the client side)Older Plugins (e.g. 11.2) will just work – No HDX 3D acceleration could be expected in here.
Actual Workstation Hardware/Graphic Cards
Up to date NVIDIA ™ Graphic Drivers (CUDA Drv.)
An existing up and running XenDesktop 4 infrastructure should be in place. (up to date).
8 HDX 3D in a NATshell
What it is …
The purpose of HDX 3D is to „stream“ graphical intense data via special Codecs to the end-user.
HDX 3D runs on bare metal workstations in the Datacenter with special GFX cards.
XenDesktop is used to broker the 3D workstation to the user(s)
HDX 3D is limited to 1 user-session/workstation.
Actual HDX 3D is available for XenDesktop 3, 4.
XenDesktop 5 support is planned – AFAIK with a SP, Feature Release (Codename “Alsace”)
9 HDX 3D in a NATshell
What it is …
The codec is based on the open source FFMpeg http://www.ffmpeg.org/
No pictures or picture deltas are flying over the wire – It is a pure media-stream. Think of „movie-streaming“.
As GPUs are pretty faaaaaast today the GPU does all the conversion parts
e.g. CUDA - actual we have no FERMI support-> This is planned for the “Alsace” Release.
10 HDX 3D in a NATshell
What it is …
HDX 3D usage scenarios can be widely seen in the CAD/CAM world.
Think of Solidworks (http://www.solidworks.com/)
Think of CATIA (http://www.3ds.com/)Think of the Autodesk product line (http://usa.autodesk.com/)
Use 3D Apps as you might know it from XenApp, XenDesktop
This is the brilliant idea behind HDX 3D.
11 HDX 3D in a NATshell
What it is …
A typical usage example for HDX 3D (CATIA)
12 HDX 3D in a NATshell
Why use HDX 3D NATed …
Think of security – external workers, companies, customers, etc.
Think of WAN/MAN infrastructures Think of branch offices Think of … The CLOUD
Configure NAT
http://support.citrix.com/article/CTX118175
Home
14
NAT configuration – Big Picture
HDX 3D in a NATshell
15
NAT configuration
HDX 3D in a NATshell
Check the Web Interface Connection from ASCCreate a 2nd WI site (for internal/external access purposes)
Register/check within DNS – DNS reverse lookup.Check all routing entries – everywhere.Look out for ARP anomalies.Do watch for TCP latency.BTW:
(http://oss.oetiker.ch/mrtg/ - nice one – OS !)
16
NAT configuration
HDX 3D in a NATshell
Configure the Citrix WI for NAT
17
NAT configuration
HDX 3D in a NATshell
Access Method -> Translated
18
NAT configuration
HDX 3D in a NATshell
Edit the translated access method
19
NAT configuration
HDX 3D in a NATshell
Type in all IP´s of the HDX 3D boxes Type in your corresponding NAT external IP address.
20
NAT configuration
HDX 3D in a NATshell
Check out the firewall/router/NAT Settings
Taken from http://support.citrix.com/article/CTX118175:You also must configure port forwarding three times:on the firewall, router, and NAT. Here is an example with IPTABLES:# iptables –t nat –A PREROUTING –I eth0 –p tcp - -dport 1491 –j DNAT - -to-destination xxx.xxx.xxx.xxx:1494
Also, you must configure port forwarding for http to access the XenDesktop Server Web Interface: Port 80 (or 8080) to port 80 (or 8080) on IIS.# iptables –t nat –A PREROUTING –I eth0 –p tcp - -dport 80 –j DNAT - -to-destination xxx.xxx.xxx.xxx:80 (8080)
Notice that the port number is always different on an External interface (coming from the public IP – source port). The Internal port (destination port) is the same because XenDesktop Agent is listening on the same port on each computer.For common used ports see: http://support.citrix.com/article/CTX101810
21
NAT configuration
HDX 3D in a NATshell
Add all internal HDX 3D Machines to the Web Interface translated configuration.
Just to be sure ICMP ping the HDX 3D boxes from within the Web Interface to ensure that the boxes are reachable.
You may use XDPing (http://support.citrix.com/article/CTX123278) to verify the ICA/HDX connection.
What could strike: http://support.citrix.com/article/CTX711855
Re-check your STA settings.
22
NAT configuration
HDX 3D in a NATshell
Review all your settings, Re-check everything with the firewall/security gents.
This is “old school”. Think of a new Workstation kicking in or an IP-Address change.
You may have to touch every Firewall/Router/Routing Tables, etc.
The “Way Out”: Use a “transparent NAT”. A Netscaler ™ redundant powered CAGEE. This should be considered as the superior NAT related system – Advantage - A single point of administration.
Simulate an WAN EnvironmentUsing Linux netem
Home
24
WAN-Emulation
To simulate how Citrix HDX 3D performs in an WAN environment use netem
http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
netem should be enabled in all actual Linux distros. Use the distribution of your choice – Build a Lab environment with a Linux box (at least 2 NICs) – configure as router [ e.g. https://help.ubuntu.com/community/Router] in between the test frontend (Client) and the backend XenDesktop with HDX 3D.
HDX 3D in a NATshell
25
WAN-Emulation - Linux
Open a shell.switch to root e.g. sudo /bin/bash or su -
[type in your root password]We should be #root now, ma´am.
HDX 3D in a NATshell
26
WAN-Emulation - Linux
Type in (e.g.): tc qdisc add dev eth0 root handle 1:0 netem delay 100ms loss 0.2% corrupt 0.1% reorder 2%
[Return]Use replace if a configuration has already been applied
HDX 3D in a NATshell
27
WAN-Emulation - Linux
HDX 3D in a NATshell
Verify your settings via tc -s qdisc show dev eth0Verify your settings with a ping –t from client side
28
WAN-Emulation - Linux
To revert your settings to normal operation (default settings):
Type in tc qdisc del dev eth0 root tc -s qdisc show dev eth0
HDX 3D in a NATshell
29
WAN-Emulation - SOLARIS
HDX 3D in a NATshell
You can do WAN emulation with oracle SOLARIS ™ - If you dare ;-) See http://www.c0t0d0s0.org/archives/6625-Less-known-Solaris-feature
s-hxbt-or-WAN-emulation.html And http://shalaka.wordpress.com/2010/05/21/emulating-wan-on-lan-usi
ng-solaris-10-ip-qos-and-dtrace/
30
Test
HDX 3D in a NATshell
We DO recommend a pre flight check.Simulate, simulate, simulate.Wireshark is your friend. If there are some quirks coming up to your attention the next chapter may be for your interest.
Optimize/TroubleshootA little help from your friends
Home
32
Optimize/Troubleshoot
HDX 3D in a NATshell
You may disable CTX session reliability – as it could have some negative performance impacts.
Check TCP Offloading – Try with or without. Disable
if you spot issues [it depends on the NIC hardware].Windows 7 %SYSTEMROOT%\SYSTEM32\netsh.exe int tcp set global chimney=disabled %SYSTEMROOT%\SYSTEM32\netsh.exe int tcp set global rss=disabled
Windows XP "DisableTaskOffload"=dword:00000001 "EnableRSS"=dword:00000000 "EnableTCPChimney"=dword:00000000 "EnableTCPA"=dword:00000000
33
Optimize/Troubleshoot
HDX 3D in a NATshell
Optimize the TCP/IP StackPlease test these settings in a LAB !!!
Windows 7
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnablePMTUBHDetect"=dword:00000001
"KeepAliveTime"=dword:00007530
"KeepAliveInterval"=dword:00001388
"TcpMaxDataRetransmissions"=dword:00000005
"EnableBcastArpReply"=dword:00000001
"DisableTaskOffload"=dword:00000001
34
Optimize/Troubleshoot
HDX 3D in a NATshell
Optimize the TCP/IP Stack
Windows XP[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000000
"DisableIPSourceRouting"=dword:00000002
"EnableDeadGWDetect"=dword:00000000
"EnableICMPRedirect"=dword:00000000
"EnableMulticastForwarding"=dword:00000000
"EnablePMTUDiscovery"=dword:00000001
"EnablePMTUBHDetect"=dword:00000001
"EnableAddrMaskReply"=dword:00000000
35
Optimize/Troubleshoot
HDX 3D in a NATshell
Optimize the TCP/IP Stack (cont.)Windows XP[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"IPEnableRouter"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"MaxHashTableSize"=dword:0000FFFF
"MaxUserPort"=dword:0000FFFF
"MaxFreeTcbs"=dword:00005000
"NumTCPTablePartitions"=dword:00000004
"SackOpts"=dword:00000001
"Tcp1323Opts"=dword:00000003
"TcpAckFrequency"=dword:0000000D
"TcpMaxSendFree"=dword:0000FFFF
"TcpTimedWaitDelay"=dword:0000001e
36
Optimize/Troubleshoot
HDX 3D in a NATshell
Follow http://support.citrix.com/article/CTX125027
Citing: Number of Buffers = TCP Receive Window/TCP MSS TCP MSS size used to round up should match OutBufLength under
the following registry (default is 1460): [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\
Configuration\Advanced\Modules\TCP/IP] "OutBufLength"="1460" Once calculated, update the client side registry with these values: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\
Configuration\Advanced\Modules\TCP/IP "OutBufCountClient2"= Number of OutBufs (default is 44) "OutBufCountHost2"= Number of OutBufs (default is 44)
37
Optimize/Troubleshoot
HDX 3D in a NATshell
Run C:\Program Files (x86)\Citrix\ICAService\HDX3DConfigCmdLineX64.exe or HDX3DConfigCmdLineX86.exeDISPLAY Current_options
CODEC --> CPUQUALITY MODE --> FIXEDMAX FRAME CAPTURE RATE --> 12DEBUG LOGGING --> DISABLED Set HDX3DConfigCmdLineX64.exe Switch_codec GPU HDX3DConfigCmdLineX64.exe DISPLAY Current_options CODEC --> GPUQUALITY MODE --> FIXEDMAX FRAME CAPTURE RATE --> 12DEBUG LOGGING --> DISABLED
38
Optimize/Troubleshoot
HDX 3D in a NATshell
Run: The HDX 3D Health Check tool A 100% pass should look like this:
39
Optimize/Troubleshoot
HDX 3D in a NATshell
Control if OpenGL is used - at the GFX Driver settings. Control if your HDX 3D App is using the GFX Card
OGL
40
Optimize/Troubleshoot
HDX 3D in a NATshell
To Disable the shutdown option on the WS:
41
Optimize/Troubleshoot
HDX 3D in a NATshell
To Disable Disconnect - Create a new GPO: Edit the policy and change the following to
"enabled"
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment > Remove Disconnect option from Shut Down dialog.
42
Optimize/Troubleshoot
HDX 3D in a NATshell
Review the disconnection settings: Follow:
http://support.citrix.com/article/CTX127516 You may have to alter/manipulate the default
settings.
Ensure that the latest available Virtual Desktop Agent (VDA) is installed on the HDX 3D workstations –
http://support.citrix.com/product/xd/v4.0/
43
Optimize/Troubleshoot
HDX 3D in a NATshell
WAN optimization/Packet shaping/QOS
could help – HDX 3D does need at least 1,5 Mpbs (Better 2 and up) – Remember – This does NOT accelerate HDX 3D in any way.
Citrix has an interesting offer: New XenDesktop Platinum Now Includes
HDX WAN Optimization at No Additional Charge !
See:
http://community.citrix.com/pages/viewpage.action?pageId=160366748
44
Optimize/Troubleshoot
HDX 3D in a NATshell
Use Quality of Service (QoS) e.g. on Port level.
To cross the borders of Jordan ;-)
WAN optimization can be done with Bluecoat ™ or the other usual suspects. (F5/Riverbed, etc.)
http://www.bluecoat.com/products/packetshaper
45
Optimize/Troubleshoot
HDX 3D in a NATshell
Follow the HDX 3D troubleshooting guide: http://support.citrix.com/article/ctx123413
Have a look at: http://community.citrix.com/blogs
Please contribute here. You are the voice !!! https://community.citrix.com/kits/#/kit/1067009 http://support.citrix.com/article/CTX124443:
XenDesktop 4 HDX 3D for Professional Graphics 1.1 - Administrator's Guide
46
Sources
HDX 3D in a NATshell
Home
47
Sources involved here:
HDX 3D in a NATshell
Martin´s & Ronald´s HDX 3D deep dive - Many tnx mates
http://dl.dropbox.com/u/936195/SUM303%20-%20HDX3D%20deep%20dive%20and%20best%20practices_v11_external.pptx
Citrix sources:https://community.citrix.com/kits/#/kit/1067009http://support.citrix.com/article/CTX101810http://support.citrix.com/article/CTX118175 etc. © ™ - Copyrights/Trademarks by Citrix, Google, Microsoft, Dassault Systems, Addidas, visionapp
48
About visionapp – what we do ?
HDX 3D in a NATshell
A giveaway for the Pubforum 2011 Dublin attendees:
vRD 2011 special Pubforum Edition
HDX 3D in a NATshell
Do you have any Questions ?Contact us at:http://[email protected]://www.asg.com
Home