Traditional desktop delivery model is based on
a large number of distributed PCs executing operating system
and desktop applications. Managing traditional desktop
environments is incredibly challenging and costly. Tasks like
installations, conguration changes, security measures require
time-consuming procedures and dedicated deskside support. Also
these distributed desktops are typically underutilized, resulting
in low ROI for these assets. Further, this distributed computing
model for desktops also creates a security concern as sensitive
information could be compromised with stolen laptops or PCs.
Desktop virtualization, which moves computation to the data
center, allows users to access their applications and data using
stateless thin-clientdevices and therefore alleviates some of
the problems of traditional desktop computing. Enterprises can
now leverage the exibility and cost-benets of running users'
desktops on virtual machines hosted at the data center to enhance
business agility and reduce business risks, while lowering TCO.
Recent research and development of cloud computing paradigm
opens new possibilities of mass hosting of desktops and providing
them as a service.
However, transformation of legacy systems to desktop clouds
as well as proper capacity provisioning is a challenging problem.
Desktop cloud needs to be appropriately designed and provisioned
to offer low response time and good working experience
to desktop users while optimizing back-end resource usage and
therefore minimizing provider's costs. This paper presents tools
and approaches we have developed to facilitate fast and accurate
planning for desktop clouds. We present desktop workload
proling and benchmarking tools as well as desktop to cloud
transformation process enabling fast and accurate transition of
legacy systems to new cloud-based model.
Exploring the Future Potential of AI-Enabled Smartphone Processors
Desktop to Cloud Transformation Planning
1. Desktop to Cloud Transformation
Planning
Author: Kirk Beaty, Andrzej Kochut, Hidayatullah Shaikh
IBM T.J. Watson Research Center
Presenter: SOK Phearin
MBC Lab.,
Konkuk University
2. Contents
I. Introduction
II. Transformation Planning for Desktop Clouds
A. User Profiling - UPROF
B. Desktop Benchmarking - DeskBench
C. Computing Resources Requirement for Virtualized System
and Desktop Placement
III. Examples and Experimental Studies
A. Desktop Workload Analysis
B. Benchmarking for Capacity Planning
IV. Related Work
V. Conclusion and Future Work
4. Introduction
Traditional desktop delivery model
• Costly
• Time-consuming procedures
• Security concerns
• Deskside supports
Desktop Virtualization is an emerging alternative.
• OS and application reside at a remote data center
• Lightweight end-user computer/device
• Lower management cost
• Improved data and application security management
5. Introduction
Cloud computing - an emerging paradigm whereby services and
computing resources are delivered to customers over the Internet
from a service provider who owns and operates the cloud.
Service models:
IaaS
SaaS
PaaS
Desktop as a Service (DaaS) : a natural environment of
virtual desktop paradigm whereby desktops would be
delivered as a service from a Desktop Cloud.
7. Introduction
Major contribution of the paper provides method and
transformation planning algorithm that:
Accounts for realistic scaling factors between application execution on
legacy system and execution on virtualized servers
Provides validation mechanism using benchmarking driven by
realistic action sequences based on workload analysis
Allows for estimating networking needs and effects of remoting
protocol and network conditions on user experience.
9. Transformation Planning for Desktop Clouds
Server to Cloud
Desktops to Cloud Transformation Transformation
Interactive desktop User interactions with
applications servers
Desktop is generally Transaction based with
single-user aggregate user load
Unpredictable utilization Predictable resources
requirement requirements
User’s bursts of
interatction, computing
and “think time”
Similarity of the both transformation is Hardware Transparency
11. • Input: user profiling data and activities
• Process: analyze
• Output: profiling of both system and user
applications to determine the key
applications in terms of usage frequency
and resource requirements.
12. • Capture and replay the completion event in a precise
timing
• Provides the necessary data to determine how
resource utilization and execution times will scale
from one hardware platform to another
13. • Scaling data (3) and resource utilization data (2) are
both used by the cloud administrator
14. • Uses the Knowledge and Models based rules (6) and
Cloud operator (4) to help guide allocation of
user desktops to the cloud.
• Output: a transformation plan
15. • Provision and place the legacy desktop images onto
hardware within the desktop cloud (8)
16. Transformation Planning for Desktop Clouds
Shared Server
A single operating system
Provides shared services to many users
Virtualized Server
Full administrative access
Application libraries required by less than
limited amount of users
Dedicated Server
Provide a dedicated 1-to-1 instantiation
Additional resources required such as heavy
graphics processors for 3D rendering.
18. User Profiling - UPROF
User Profiling tool or agent running on users’ desktops
Gathers details for all processes in 10 second interval
Prototype version - Microsoft Windows Management
Interface (WMI) to obtain statistics of interests including:
number, speed, type and utilization of processors
size and utilization of memory
size and utilization of local disks
utilization of network interfaces
names, user/owner, command line arguments, utilization of CPU,
memory, network for all processes
names, frequency, resource utilities of applications
19. User Profiling – UPROF (cont. )
Uploader: CURL – HTTP
Collects data at all times the desktop is in operation,
regardless of network connection
Data is stored and uploaded on a subsequence attempt
when connection is re-established
Categorized data for desired details
• Ex. Administrator, developer, business manager…
21. Desktop Benchmarking - DeskBench
DeskBench: an implementation of the window manager
software or an independent layer between the
application and the window manager library (as a shim).
The primitives that need to be intercepted and injected
are common throughout all major window managers
both the open source and proprietary.
22. Desktop Benchmarking – DeskBench
(Cont.)
A tool capable of replaying and timing previously
recorded user actions (keyboard and mouse events)
Actions recorded are stored as Artifacts
Artifact - combination of playlist, a set of actions, can be
played back with directives included for controlling
repetitions, random or fixed think times, and random or
sequential order.
Two phases:
• Recording
• Replaying
23. Desktop Benchmarking – DeskBench
(Cont.)
Recording Phase
• All events (mouse and keyboard), generated by window
manager and passed to application, arerecorded.
• A synchronization point - a screen state that logically is a
necessary point to reach before proceeding with subsequent
actions, or is a point that the tool user wants to mark for
measured execution time.
• Hash codes (MD5) of the screen image buffer are recorded
along with each synchronization point to expect the
completion of the corresponding event element of the
artifact being played.
24. Desktop Benchmarking – DeskBench
(Cont.)
Replaying Phase
Processes each ordered event found in the artifact file and
injects into window manager.
26. Computing Resources Requirement for
Virtualized System and Desktop Placement
A method for calculating the proper capacity
planning using scaling factor for resource usage.
Produces a ratio of amount of the resource used by
the same application executing in the cloud and
legacy desktop.
The next step involves placing of virtual desktops to
servers in the cloud using standard techniques, such
as binpacking algorithm where item sizes
correspond to resource requirements of virtual
desktops
28. Desktop Workload Analysis
Desktop workload analysis gives detailed view of activity
on legacy systems.
Various outputs from UPROF tool.
CPU utilization over the
measurement period
Large cumulative CPU
usage important cloud
capacity planning
29. Desktop Workload Analysis
CPU consumption when Critical for finding peak
application is loaded in usage application
memory
31. Desktop Workload Analysis
Scaling factors for resource usage on legacy (IBM T42) and virtualized
system (HS20 blade running ESX 3.0 hypervisor)
Windows XP
WMP requires almost 3 times more CPU resources on virtualized system
32. Desktop Workload Analysis
Aggregate usage of resources for a given user group
In this example, workload of 9 workstations were
aggregated
Time-series of aggregate
CPU utilization for all
desktops
33. Desktop Workload Analysis
Histograms of aggregate CPU usage and memory usage accordingly
Used as estimates of aggregate resource consumption to be expected on
a virtualized environment
35. Desktop Workload Analysis
Resource usage due to a single application across all of the users
Provisioning shared services environment
36. Benchmarking for Capacity Planning
results of benchmarking experiments for a set of typical applications
Sensitive operations to the concurrence
the acceptable density of operations per core to maintain a given
responsiveness
37. Benchmarking for Capacity Planning
Effects of latency on
responsiveness of rendering a
picture
Picture rendering is
significantly affected because
it requires significant network
transfers.
DeskBench can be used to
estimate how far (in terms of
network latency and
bandwidth) user terminals can
be from the virtualized servers
to maintain desirable level of
response time
39. Related Work
Cloud computing is a new architectural approach
designed to conceal complexities of the large scale computer
systems and provide users with easy to use, flexible, and
massively scalable services.
Desktop cloud: an example of services provided by cloud computing
At the data center, techniques and approaches used are:
Various virtualization technologies
Several protocols to access remote desktops
Shared same concept of relaying the keyboard and mouse
events to the server
40. Related Work
Many approaches applicable to server consolidation:
Static heuristic-based vector bin-packing algorithm
Optimization algorithm based on the expected financial gains
Integrated resource management framework for QoS
Allocation algorithm minimizing the number of migrations
Algorithm minimizing the number of VM migrations
Grid-based resource management algorithm
Theoretical algorithm for scheduling of tasks
Con:
Not desktop consolidation
Not consider application level statistics
Purely analyze without the use of benchmark component
41. Conclusion and Future Work
A set of tools and an approach in legacy desktops to
desktop cloud transformation model:
Assessment of workload on legacy machines
Benchmarking of target virtualized environment
Future Work: Research on automation of actual
transformation execution
42. Key References
…
[10] Desktone, .Desktop as a Service,.
http://desktone.com/, 2008.
[11] J. Rhee, A. Kochut, and K. Beaty, .DeskBench:
Flexible Virtual Desktop Benchmarking Toolkit,. to
appear in Integrated Management Symposium
(IM), 2009.
…
An example of such a synchronization point is following a “double-click” event to open a window/application, the next action has to be delayed until the screen fully refreshes. In this case the tool user signals the synchronization point after the screen is fully refreshed.
The mechanism used at the synchronization point to determine event completion is to first compare the hash code of the observed screen with those (hash code) defined (or recorded) in the artifact for the current synchronization point.
Histograms also show mean resource usage as well as 99th percentile. Those values are used as estimates of aggregate resource consumption to beexpected on a virtualized environments. They may need to be scaled using benchmarking scaling factors and illustrated in next subsection