Microsoft Windows Server 2003 x64 Editions
Customer Solution Case Study
/ / Software MakerUses 64-Bit Environment to Increase Scalability
Overview
Country or Region:United States
Industry:Professional Services
Customer Profile
Citrix Systems, based in Ft. Lauderdale, Florida, provides customers with software and hardware solutions for secure, on-demand access to any enterprise resource—from anywhere, with any device, over any network.
Business Situation
Microsoft announced that it would release 64-bit versions of Microsoft® Windows Server™ 2003 in the spring of 2005. Citrix wanted to create compatible products for early technology adopters.
Solution
Working closely with Microsoft as part of its Technology Adoption Program, Citrix engineers successfully ported Citrix Presentation Server™to Windows Server 2003 x64 Editions.
Benefits
Remote access to applications for more users
Increased performance to support greater data loads
Strong Microsoft support for development
Early adopter advantages / “Microsoft Windows Server 2003 x64 Editions provide a performance and scalability advantage for our customers. The additional memory space opened up areas where we could really optimize our product.”
John Walsh, Senior Manager Advanced Products, Citrix Systems
Citrix Systems is a software and hardware company based in Ft. Lauderdale, Florida. Citrix products enable companies to make network resources centrally available to users securely, easily, and quickly, through a wide variety of software clients. When Microsoft scheduled the release of the 64-bit versions of the Microsoft® Windows Server™ 2003 operating system for April 2005, Citrix worked to produce x64-compatible versions of its flagship product, Citrix Presentation Server™, so that early adopters of the 64-bit environment could take advantage of the operating-system enhancements its software provides. Using rigorous methodology, research, and testing, and with the support of Microsoft experts, Citrix brought the performance and scalability benefits of Windows Server 2003 x64 Editions to its product line.

Situation

Citrix Systems, based in Ft. Lauderdale, Florida, offers companies of all sizes a suite of products that provide secure access to applications and content, using a wide range of client software. Founded in 1989, Citrix has more than 3,000 employees in 35 countries.

Citrix Presentation Server™, an application-virtualization solution, extends the capabilities of the Microsoft Windows®operating system. With Presentation Server, IT organizations can centrally deploy and manage software and provide users with secure, on-demand access to network resources anywhere, and on any device and network.

However, the number of users that can connect in this manner is limited when using 32-bit computing. Some Citrix customers felt that the April 2005 release of the Microsoft® Windows Server™ 2003 x64 Editions operating system would provide them with the greater performance and scalability that they needed. Citrix wanted to provide adopters of the 64-bit architecture with a version of Presentation Server that would take advantage of the benefits of the new environment.

Solution

In June of 2004, Citrix Systems decided to add the x64 platform to its Presentation Server product line. At the same time that Citrix engineers worked to develop the 32-bit Citrix Presentation Server version 4.0, Citrix assembled a project group of seven engineers to create a 64-bit version of the product.

Researching and Preparing

The group began by identifying work requirements for the project by studying Microsoft Developer Network (MSDN®) articles, conducting experiments, and creating software prototypes. More than 85 research tasks were identified and assigned to individual engineers, including:

Conducting due diligence to reveal all porting requirements, including less obvious issues.

Minimizing risk and cost by using the Windows-on-Windows 64-bit (WOW64) execution layer to run 32-bit Presentation Server binaries “as is” wherever possible, instead of porting them to x64.

Reducing risk, enabling validation, and confirming research results by developing a systematic approach to bringing up ported code, beginning with core and unmodified services.

Making critical feedback available and refining the project plan and processes by improvising software tests instead of using a standard test suite.

Reviewing and managing integration of code from the ongoing release of the 32-bit Presentation Server product, rather than relying on automatic integration.

Engaging vendors early to obtainthird-party licensed code in a timely manner.

Writing the Code

In keeping with the single-binary capabilities of Windows Server 2003 Service Pack 1, the x64 project group developed the product with a single code base rather than writing code for different processors.

Thousands of code changes were made before the 64-bit version of Presentation Server could be installed and tested. To prevent faults from being introduced during the porting process, the group reviewed all changes to the code. This thorough approach resulted in problem-free changes and served to make everyone in the group a porting expert.

The new product also required a new Microsoft Installer (MSI) program. Because changes to the 64-bit installation programs were profound and detailed, an XML-based description of the install/uninstall/repair configurations was created along with an automated validation tool. This enabled the group to avoid obscure and expensive installation faults.

Porting the Product

The Citrix engineers ported Presentation Server to a 64-bit architecture using the following steps:

Downloaded new development tools and built the Terminal Services SDK

Added x64 targets

Cleaned up 64-bit warnings (/Wp64)

Resolved pointer truncation and data-loss issues

Replaced in-line assembly-language code with code written in C, or with new functions defined in asm modules.

Replaced int 3 assembly instructions with the Win32 DebugBreak function

Updated registry access

Resolved issues resulting from the presence of duplicate files

Updated the installation to support both 32-bit and 64-bit binaries

The technology preview was made available to customers in July 2005. Citrix released the 64-bit version of Citrix Presentation Server in October 2005.

Benefits

Citrix Presentation Server version 4.0 supports both 32-bit and 64-bit versions of Windows Server 2003. John Walsh, Senior Manager Advanced Products at Citrix, says, “Microsoft Windows Server 2003 x64 Editions provide a performance and scalability advantage for our customers.The additional memory space opened up areas where we could really optimize our product.”

Remote Access to Applications for More Users

Terminal Services often reaches its limit of virtual memory before CPU utilization is at a maximum, so no additional users can be added no matter how many processors or how much memory are present. Moving to an x64 system allows the operating system to handle as many as 65 percent more users per server, based on initial performance benchmarks conducted by Microsoft. This enables companies to consolidate their servers, potentially reducing support and hardware costs.

Increased Performance to Support Greater Data Loads

The move to a 64-bit architecture increases both the virtual-memory address space and the amount of physical memory that is supported. This can make a dramatic improvement in the performance of applications delivered through Citrix Presentation Server.

Strong Microsoft Support for Development

During the project, Citrix had access to resources made available by its participation in the Microsoft Technology Adoption Program (TAP) for x64. “Our experience with the Microsoft Technology Adoption program was quite excellent,” Walsh says. “Microsoft did a very nice job of helping us to resolve the issues we encountered. It enabled us to keep moving forward.”

Early Adopter Advantages

Walsh feels that the new version of Citrix Presentation Server will be of great benefit to early adopters of the 64-bit Microsoft environment: “Whenever Microsoft releases an update, we endeavor to have a compatible product out within one quarter. This gives early adopters the benefit of our technology and encourages them to use the new platform.”


Microsoft Windows Server System

Microsoft Windows Server System™ is a line of integrated and manageable server software designed to reduce the complexity and cost of IT. Windows Server System enables you to spend less time and budget on managing your systems so that you can focus your resources on other priorities for you and your business.

For more information about Windows Server System, go to: