The Pros and Cons of Virtualizing CAD Workstations
Competition in CAD-related industries to deliver goods and services to customers is fierce and demanding. In order to gain, to maintain, and to increase market share, some of the challenges that companies need to overcome include the following:
- Reduce the time of the product development cycle,
- Anticipate and be proactive in meeting market demand,
- Produce reliable and cost effective products.
An essential component of the product development cycle can be found in the concept and design phase, where CAD engineers perform analyses and lots of design iterations. Because of rapidly increasing technological progress in the CAD/CAM industry, many design tasks involve 3D modeling, 3D visualization, and animation, which require significant computational and graphics processing power.
Typically, a CAD engineer performs his/her design tasks on a networked CAD workstation which should have at least these attributes:
- Have access to a design library, and be able to exchange information within a design or product development team,
- Have a powerful processor for handling design calculations and simulations,
- Have a powerful GPU processor for handling 3D graphics and animation,
- Have a required level of security,
- Have minimal or no downtime.
The purpose of this article is to answer the question: Is it reasonable and productive to assign a workstation to every CAD engineer, or will it be more productive and cost effective if CAD engineers perform their design tasks on virtualized workstations?
What is Virtualization?
Virtualization combines the computing power of several CAD workstations into a non-physical or abstracted computing resource, called a host machine. Virtualized machines (guest machines) draw their computing power from the host machine. The result is that a virtual CAD machine runs more efficiently because it avails itself of computing resources from many powerful CAD workstations in optimum fashion. The benefits of virtualization include:
- Parallelism, or the ability to run several operating systems (such as Windows or Unix) in parallel on a single CPU,
- The ability of parallelism to reduce overhead, and to provide more efficient utilization of computing resources,
- The ability to dynamically update computing resources, and to prevent under-utilization of computing resources.
This type of virtualization is hardware virtualization, which is not the same as hardware emulation (when one hardware emulates another). Virtualization can be provided in several ways, such as storage, server, operating system, network, or application visualization.
One type of virtualization which could be useful for CAD engineers is desktop virtualization. Instead of interacting directly with a CAD workstation, the engineer interacts with a host machine. The host machine handles all computing needs of the engineer in a manner which makes optimum use of available computing resources.
Which Design Tasks Consume Most Processing Power?
A modern high-end CAD workstation will have a multi-core CPU with hyper-threading and a powerful GPU (Graphics Processing Unit). It will probably utilize SSDDs (Solid State Disk Drives) rather than ordinary HDDs (Hard Disk Drives) in order to provide faster data access. It will also provide 16 GB or more of RAM.
In spite of having a powerful workstation like the one described, bottlenecks still exist which reduce the overall computational efficiency of a workstation. Some of these are:
- Retrieving or exchanging data in a networked environment,
- Coping with slow network speeds,
- Waiting for single-threaded applications to complete,
- Handling slow data exchange between the CPU and storage.
In a single workstation, some computing resources such as raw computing power or graphics processing power will be very efficient. However, there will be comparatively slower performing computing resources in the workstation such as data transfer between the processor and the storage media, and single-threaded applications which take longer to run. Therefore, there will be an overall under-utilization of computing resources.
Which Virtualization Options Exist Today?
Because the benefits of virtualization are convincing, many companies such as Microsoft, VMware, Intel, and AMD are paying serious attention to it. Some benefits of virtualization that these companies can provide in the CAD environment are highlighted below:
- Microsoft provides desktop virtualization so that CAD engineers can access applications from anywhere. This enables CAD organizations to give employees the flexibility to work anywhere.
- VMware provides server virtualization, which provides about 80% better utilization of server resources, and about 50% savings in capital and operating costs. VMware also provides desktop virtualization which is scalable, secure, and improves uptime and productivity.
- Intel virtualization enables multiple applications to run together while maintain full isolation from each other. The virtualization eliminates performance overheads and improves security. Intel also provides CPU, memory, I/O, graphics and network virtualization.
The only objection that a CAD engineer may have against virtualization is the inconvenience of not having a personal, physical workstation. In a CAD design environment, this is not really an issue or inconvenience.
Virtualization of CAD workstations is very desirable because it provides several benefits, some of which are listed below:
- Operating system virtualization enables CAD engineers who may be working on different operating systems such as Unix or Windows to run simultaneously from the same host machine.
- Virtualization reduces the number of physical machines that a company purchases without reducing the number of CAD applications available to designers. A company can use virtualization to reduce the cost of purchasing hardware, co-locating workers, maintaining workstations, and providing IT services.
- Application level virtualization, also known as “load balancing” reduces bottlenecks that can exist on a single workstation. Virtualization enables CAD applications to run in an optimum environment where computing resources are used efficiently.
- Storage level virtualization handles data access and file handling for the CAD engineer by abstracting disks and flash drive storage into high performance storage pools, and delivering them as software. This improves storage resource utilization and flexibility, and minimizes downtime risk. When storage level virtualization is used together with cloud based storage, it improves data integrity and security.
- Maintaining security in the CAD environment is robust and easier to manage by using virtualization.