An Efficient Application Virtualization Mechanism using Separated Software Execution System



Similar documents
Server Based Desktop Virtualization with Mobile Thin Clients

ArcGIS Pro: Virtualizing in Citrix XenApp and XenDesktop. Emily Apsey Performance Engineer

Benchmarking the Performance of XenDesktop Virtual DeskTop Infrastructure (VDI) Platform

Implementation of the Remote Control and Management System. in the Windows O.S

Getting Started with RemoteFX in Windows Embedded Compact 7

PNY Professional Solutions NVIDIA GRID - GPU Acceleration for the Cloud

NVIDIA GRID OVERVIEW SERVER POWERED BY NVIDIA GRID. WHY GPUs FOR VIRTUAL DESKTOPS AND APPLICATIONS? WHAT IS A VIRTUAL DESKTOP?

Autodesk Revit 2016 Product Line System Requirements and Recommendations

Hardware Accelerated Graphics for VDI

Windows Embedded Compact 7: RemoteFX and Remote Experience Thin Client Integration

S Hands on Tutorial: Deploying GRID in Citrix and VMware Virtual Desktop Environments

Intel Cloud Builders Guide to Cloud Design and Deployment on Intel Platforms

REMOTE HIGH FIDELITY VISUALIZATION. May 2015 Jeremy Main, Sr. Solution Architect GRID

VDI Clients Delivering Tomorrow's Virtual Desktop Today

Microsoft. Remote Desktop Services. November 2013

Remoting Your 3D. Ian Williams Manager, PSG Applied Engineering NVIDIA Corporation.

Desktop Virtualization. The back-end

Performance Testing in Virtualized Environments. Emily Apsey Product Engineer

Windows Server 2012 R2 VDI - Virtual Desktop Infrastructure. Ori Husyt Agile IT Consulting Team Manager orih@agileit.co.il

Component Details Notes Tested. The virtualization host is a windows 2008 R2 Hyper-V server. Yes

Performance analysis and comparison of virtualization protocols, RDP and PCoIP

Microsoft and Citrix: Joint Virtual Desktop Infrastructure (VDI) Offering

Cisco WAAS Optimized for Citrix XenDesktop

Development of IaaS-based Cloud Co-location and Management System using Open Source Cloud Stack

Server based computing An introduction to server based computing, its advantages and how it works.

Monitoring Agent for Citrix Virtual Desktop Infrastructure Version Reference IBM

Stream Processing on GPUs Using Distributed Multimedia Middleware

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

Deploying and managing a Visualization Onera

Virtualization in Enterprise Environment. Krisztian Egi

Get into higher gears with Citrix in 2012: XenDesktop 5.6 the most complete solution on the planet

Remote Desktop solutions. CAS genesisworld with Remote Desktop solutions

Cloud Gaming & Application Delivery with NVIDIA GRID Technologies. Franck DIARD, Ph.D. GRID Architect, NVIDIA

Infor Web UI Sizing and Deployment for a Thin Client Solution

Virtualization of ArcGIS Pro. An Esri White Paper December 2015

Desktop Virtualization Technologies and Implementation

Citrix XenDesktop Modular Reference Architecture Version 2.0. Prepared by: Worldwide Consulting Solutions

Tekla Structures 18 Hardware Recommendation

CLOUDDMSS: CLOUD-BASED DISTRIBUTED MULTIMEDIA STREAMING SERVICE SYSTEM FOR HETEROGENEOUS DEVICES

HDX 3D Version 1.0 Release Notes

A Design of Resource Fault Handling Mechanism using Dynamic Resource Reallocation for the Resource and Job Management System

GPU Usage. Requirements

Desktop Consolidation. Stéphane Verdy, CTO Devon IT

Citrix XenDesktop Architecture and Implementation on ProLiant Servers

VDI Without Compromise with SimpliVity OmniStack and Citrix XenDesktop

SOLUTION BRIEF MANUFACTURING DELIVER BRILLIANT CAD PERFORMANCE

Visualization Cluster Getting Started

A Scalable Large Format Display Based on Zero Client Processor

Windows Server ,500-user pooled VDI deployment guide

Maximize your Remote Desktop Services

Desktop Computer Virtualization for Improvement Security, Power Consumption and Cost by SBC(Server Based Computer)

System requirements for Autodesk Building Design Suite 2017

Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations

Table of Contents. P a g e 2

Microsoft RemoteFX for Virtual Desktop Infrastructure: Architectural Overview

Virtualization of Resources and Services in Cloud Environment

Virtual Desktop Acquisition Cost Analysis citrix.com

Desktop Virtualization. Endpoint Solutions for SMB. The VDI Endpoint Authority. 02 ViewSonic Only. 01 Finches Only

Data Backups in the Clouds

Implementing and Managing Microsoft Desktop Virtualization en

Power Benefits Using Intel Quick Sync Video H.264 Codec With Sorenson Squeeze

Desktop Virtualization Endpoint

The Construction of Seismic and Geological Studies' Cloud Platform Using Desktop Cloud Visualization Technology

Performance Analysis of Network Subsystem on Virtual Desktop Infrastructure System utilizing SR-IOV NIC

VDI Clients. Delivering Tomorrow's Virtual Desktop Today

(VDI) William Stein, LHRIC. Jim Geueke, MainLine

Deploying Microsoft RemoteFX on a Single Remote Desktop Virtualization Host Server Step-by-Step Guide

High-Speed Thin Client Technology for Mobile Environment: Mobile RVEC

Manjrasoft Market Oriented Cloud Computing Platform

Comparison of Cloud vs. Tape Backup Performance and Costs with Oracle Database

Unified Computing Systems

VMware Horizon 7. End-User Computing Today. Horizon 7: Delivering Desktops and Applications as a Service

Evento Assyrus Microsoft 2009

FileMaker Pro 11. Running FileMaker Pro 11 on Citrix XenApp

Which ViewSonic VDI client is right

Revit products will use multiple cores for many tasks, using up to 16 cores for nearphotorealistic

Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards

AT&T Connect Participant Application & VDI Platform Support

Cloud Computing. Chapter 8 Virtualization

Aternity Desktop and Application Virtualization Monitoring. Complete Visibility Ensures Successful Outcomes

White paper. Microsoft and Citrix VDI: Virtual desktop implementation scenarios

Cost Savings Solutions for Year 5 True Ups

Hyper-V R2: What's New?

S5445 BUILDING THE BEST USER EXPERIENCE WITH CITRIX XENAPP & NVIDIA GRID THOMAS POPPELGAARD

Implementing and Managing Microsoft Desktop Virtualization

FileMaker Pro 13. Using a Remote Desktop Connection with FileMaker Pro 13

NVIDIA GRID TEST DRIVE MANUAL

Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools

Cloud Optimize Your IT

Red Hat VDI. David Simmons

Performance Analysis of Remote Desktop Virtualization based on Hyper-V versus Remote Desktop Services

VDI and session-based desktop virtualization:

Two-Level Metadata Management for Data Deduplication System

Microsoft Virtual Desktop Infrastructure (VDI) FAQ

Designing Fast Virtual Desktops for Healthcare

Analysis on Virtualization Technologies in Cloud

Citrix XenDesktop 5.6 Providing best TCO and TVO at once. Fabian Kienle Regional Sales Manager, Citrix Systems

Flash Storage Optimizing Virtual Desktop Deployments

Transcription:

An Efficient Application Virtualization Mechanism using Separated Software Execution System Su-Min Jang, Won-Hyuk Choi and Won-Young Kim Cloud Computing Research Department, Electronics and Telecommunications Research Institute, Daejeon, Korea jsm@etri.re.kr, whchoi@etri.re.kr, wykim@etri.re.kr Abstract With the development of cloud computing and virtualization technologies, application virtualization becomes an innovative software usage model. However, the existing solutions show a very limited performance on 3D graphics applications. To solve the problems, we propose a new application virtualization mechanism using separated software execution system. The proposed system does not execute 3D rendering commands or graphic commands of the 3D graphics application at the hosted server but delivers them to client via the Internet and executes them using the client s graphic device. This mechanism enhances the hosted server s performance for desktop virtualization service of 3D rendering applications. In performance experiment, the proposed method showed good scalability and obtained a more stable frame rate than the existing desktop virtualization solutions. Keywords: Application virtualization, cloud computing, 3D graphic application 1. Introduction In recent, many IT users won t have powerful machines but they are interested in powerful IT services. The answer to this demand lies with application virtualization using cloud computing and virtualization technologies [1, 2, 3]. It becomes an innovative software usage model that has many benefits as follows. Cost reduction Better hardware utilization Centralized management Minimizing outage during maintenance Faster deployment of new applications. Two well-known solutions for the application virtualization are Citrix XenApp [4] and Microsoft RemoteApp [5]. They have the virtualization interface at the hardware abstraction layer. They virtualize common PC hardware like processor, memory and peripheral I/O devices such that multiple operating system instances of different type can be installed on a single machine. However, they are not efficient as 3D rendering service for multiple user service. The reason is that server has a high overhead on 3D rendering service for multiple users, because the server executes all related data processing commands and graphic commands for 2D and 3D and additionally sends the screens data of their results. To solve this problem, we propose a new system denoted as separated software execution system 257

(SSES) for software as a service. The proposed SSES can stably support multiple users at the same time, through executing graphic commands at client part. This paper is organized as follows. Section 2 presents the related work. Section 3 proposes separated software execution system (SSES). Section 4 contains various experimental evaluations. Section 5 concludes the paper with directions for future works. 2. Related Works 2.1 Microsoft RemoteApp Microsoft Virtualization Desktop Infrastructure accelerates and extends desktop and application deployments to any device. It improves remote worker efficiency, while helping keep critical intellectual property secure and simplifying compliance with regulations. With Windows Server 2012 Remote Desktop Services, VDI (Virtual Desktop Infrastructure) provides a single infrastructure to enable both virtual and session-based desktops and RemoteApp programs. Figure 1 shows the remote desktop services of Microsoft RemoteApp. Client PC can use virtual applications of host server with RDP (Remote Desktop Protocol). Remote Desktop Services provides functionality similar to a terminal-based, centralized host, or mainframe, environment in which multiple terminals connect to a host computer. In the Remote Desktop Services environment, an application runs entirely on the Remote Desktop Session Host server. The server transmits the graphical user interface to the client. The client transmits the user's input back to the server. Figure 1. Microsoft Remote Desktop Services with RemoteApp RemoteFX vgpu of Microsoft RemoteApp allows multiple virtual desktops to share a single GPU on a Hyper-V server. This GPU sharing leads to a lower performance, as the number of users increases. 258

2.2 Citrix XenApp Citrix XenApp is an on-demand application delivery solution that manages applications in the data center and delivers them instantly to users anywhere using any device. XenApp enables IT to centrally manage a single instance of each application and deliver it to users for online and offline use, providing a high definition experience. All service applications are installed and are run on host server. The host server sends screens of application to various client terminals such as phone, desktop PC, notebook, PDA and mouse clicks and keystrokes occurred from client terminal are delivered to the server. The merit of Citrix XenApp is that applications can be accessed from most any device and covering both wired network and wireless network. In particular, the HDX (High Definition User Experience) of Citrix enables to optimize the performance of graphics-intensive 2D and 3D and media rich applications. Citrix XenApp is extremely limited in providing multiple users with a virtual application service including 3D rendering applications, because Citrix XenApp exclusively uses one GPU of the server for processing 3D rendering commands for one user. 3. Separated Software Execution System To be seen 3D rendered screens in low performance client, above-mentioned commercial services, Citrix XenApp and Microsoft RemoteApp compress and send result screens of host server. In other words, they use exclusively the GPU of host server for processing 3D rendering commands. Such mechanism is hard to provide many users to graphics-intensive 2D and 3D and media rich applications [6, 7, 8]. To solve the problems, we propose a new application virtualization mechanism using separated software execution system (SSES). Figure 2 shows the separated software execution system structure. The difference of the proposed SSES mechanism and previous related services is that it is not execute 3D graphic commands of application at the hosted server but delivers them to client via the Internet and executes them using the client s graphic device. Application virtualization agent of SSES consists of rendering command hooker, virtual object manager and user storage manager. To overcome the overload of host server, the core of our mechanism is the GPU offloading. Figure 2. The Propsed System Structure 259

3.1 Rendering Command Hooker Figure 3 shows virtual application workflow of SESS. Graphical commands are virtually executed at the host server but are rather delivered to the client through the network by virtual application host modules, and they are really executed at client by virtual application client modules. It means that server don t make a display of the application. Figure 3. Virtual Application Workflow of Seperated Software Execution System When CreateWindowEx() graphical command is called from the application, the processing sequence of the CreateWindowEx() command in SSES is following steps. 1. CreateWindowEx() API generated from the graphics application of host server is intercepted by the rendering command hooker. 2. The virtual application host modules delivers the intercepted rendering command (CreateWindowEx()) to the client through the network. 3. The client creates a window with the execution of the delivered rendering command (CreateWindowEx()) and manages a real handle or real interface instance generated from the API executions. 4. The client sends the return values of the API executions and input data such as those from their mouse and keyboard to the server. 5. The server applies the return values to the host application and maintains a virtual handle or virtual interface instance generated from the fake execution of CreateWindowEx(). The hooking mechanism of separated software execution system is a type of using wrapper libraries. When executing application of host server calls graphic commands, our hooking module of wrapper library are executed instead of original library. When creating a wrapper, we make our own version of a library that an application loads, with all the same functionally of the original library that it will replace. When executed application on SSES server calls graphic commands such as CreateWindowEx(), Direct3DCreate9 and D3D10CreateDevice, our SSES server hooking module executes our wrapper library instead of original library. 260

3.2 Virtual Object Manager The proposed system needs two separated working processes. One process of the client is executed for rendering commands, and another is executed for non-graphic tasks at the server. The two processes should work closely, almost as one process. We should maintain paired objects that are individually generated from the client and the server. Figure 4 shows paired objects of host server and client PC. These objects include windows handles, file pointers, string data and etc. They are generated from working processes. Figure 4. Virtual Object Manager of Seperated Software Execution System To quickly access the paired object, we use a stack (LIFO) and tree-index. Frequently referenced objects are accessed by the stack, and the remaining objects are accessed by the tree-index. 3.3 User Storage Manager Figure 5 shows the user storage manager of separated software execution system. To support for multiple users, we separate logically SSES into three servers (user info and SW management server, storage server and SW executing server). The access of user storage data is separated with two file filter system. These are the user storage access of normal application and that of SSES application. For security access of user storage data, we block normal application s access to user storage data. Figure 5. User Storage Manager of Seperated Software Execution System 261

The storage server is separated from SW executing server in order to minimize duplication of user specific data. The user storage manager consists of remote storage handler module, storage security controller module, network drive handler module, and storage server resource monitoring module. 4. Performance Evaluation We compared SSES with Citrix XenApp and Microsoft RemoteApp for performance evaluation of the proposed method. Used test programs are Archispace LT and MultiAnimation program as shown in Fig 6. MultiAnimation sample program has APIs that handle the loading of the mesh to be animated, as well as the blending of multiple animations. ArchiSpace LT is a commercial application used for generating and displaying virtual buildings or architectural drawings using 3D objects. Figure 6. Screenshots of the Test Programs The clients and servers are connected with a 100 Mbps Ethernet. Table 1 shows the specifications of the clients and servers. Table 1. The Specification of the Clients and Servers CPU / Memory GPU Client Intel Core i7 3.4GHz, Memory 8G NVIDIA GeForce GTX 570 Citrix server Intel Core i7 3.4GHz, Memory 16G NVIDIA Quadro FX3800 4GB * 4 ($5000) MS server Intel Xeon X5650 2.6GHz Memory 20G NVIDIA Quadro 6000 8GB ($5500) SSES server Intel Core i7 3.4GHz, Memory 16G NVIDIA GeForce GTX 480 ($450) We evaluate frames per second (FPS) and GPU usage rate on each server (MS, Citrix, SSES server), where the program used is MultiAnimation and single client connects to the each server. SSES shows a more stable FPS than MS and Citrix as shown in Fig. 7(a). On the other hand, MS shows a large gap between the maximum and minimum FPS, which becomes the cause of an unstable display. Figure 7(b) shows that the GPU usages of MS and Citrix are very high, but the SSES rarely uses them since the rendering commands are executed not at the server but at the client. 262

Figure 7. Evaluation of Single Client Figure 8 shows an evaluation of multiple clients on MS server and SSES server. Ten clients connect to the server at the same time, where the program used is Archispace LT. The evaluated factors are frames per second (FPS). When the number of clients is 10, all clients on MS server show the same FPS, which decreases significantly, as MS server executes all of the rendering and non-graphic tasks. However, the FPS of a SSES client is independent of the client count, since each client uses its own GPU. 5. Conclusion Figure 8. Evaluation of Multiple Clients In recent, application virtualization becomes an innovative software usage model. Therefore, application virtualization has been widely used in the multi-user service. However, the existing solutions show a very limited performance on 3D graphics applications. To improve the capability of the application virtualization services, we have devised the smart separated software execution system (SSES) which is more effective on service for multiple users. In performance experiment, the proposed SSES shows a better scalability and more stable frame rate than existing virtual desktop solutions under various applications. In the near future, the proposed mechanism will be applied to various real applications and will be evaluated in various environments. 263

Acknowledgements This work was supported by the Technology Innovation Program [10035185, Development of a Separated Software Execution Technology for Software Service] funded by the Ministry of Knowledge Economy (MKE, Korea). References [1] C. W. Yoon, M. M. Hassan, H. W. Lee, et. al., Dynamic Collaborative Cloud Service Platform: Opportunities and Challenges, ETRI Journal, vol. 32, no.4, (2010), pp. 634 637. [2] J. Gaudiosi, "Future of Cloud Gaming: Industry Leaders' Thoughts", FC Business intelligence, (2011). [3] K. Hwang, G. Fox and J. Dongarra, Distributed and Cloud Computing: from Parallel Processing to the Internet of Things, Morgan Kauffman Publishers, (2011). [4] Citrix XenDesktop, www.citrix.com/xenapp. [5] Microsoft RemoteApp, http://technet.microsoft.com/en-us/library/cc755055.aspx. [6] F. Lamberti and A. Sanna, Streaming-based solution for remote visualization of 3D graphics on mobile devices, IEEE Transactions on Visualization Computer Graphics, vol. 13, no. 2, (2007), pp. 247 260. [7] D. Koller, M. Turitzin, M. Levoy, M. Tarini, G. Croccia, P. Cignoni and R. Scopigno, Protected interactive 3D graphics via remote rendering, ACM Transactions on Graphics (TOG), vol. 23, no. 3, (2004) August. [8] L. A. Bongo, G. Wallace, T. Larsen, K. Li and O. Troyanskaya, Systems support for remote visualization of genomics applications over wide area networks, In Proc. of GCCB 06, (2006). Authors Su-Min Jang He received his B.S. in Computer Science and Statistics from Mokpo National University, Korea in 1997 and he received M.S. and Ph.D. in Information and Communication Engineering from Chungbuk National University, Korea in 1999 and 2007, respectively. He works now at the ETRI, Korea since 2011. His main research interests include distributed virtual environments system, location based services, game server. Won-Hyuk Choi He received his B.S. in Computer Engineering from Kyungpook National University, Korea in 1999 and he received M.S. in Computer Engineering from Kyungpook National University, Korea in 2001. He works now at the ETRI, Korea since 2001. His main research interests include software virtualization, software service and graphic offloading system. Won-Young Kim She received his B.S. in Computer Science from Ewha Womans University, Korea in 1989 and she received M.S. and Ph.D. in Computer Science from Korea Advanced Institute of Science and Technology, Korea in 1991 and 1998, respectively. She works now at the ETRI, Korea since 1999. Her main research interests include software service. 264