MetaFrame Presentation Server Architecture

MetaFrame Presentation Server Architecture

The core Presentation Server architecture (License server, Data Store, Data Collectors, and so on) discussed in Chapter 2 remains unchanged in MPS 4.0. Three architectural changes to note are

  • Elimination of mixed mode (interoperability mode) support for the MetaFrame 1.8 farm migration

  • CPU utilization management

  • Memory utilization management

Elimination of MetaFrame 1.8 Interoperability

One significant change in MPS 4.0 is the elimination of mixed mode farm support with MetaFrame 1.8. Companies that want to migrate from their existing MF 1.8 environment have two choices:

  • Upgrade their environment in stages using interoperability support with MPS 3.0. After migrating all servers to MPS 3.0, they can perform an in-place upgrade to MPS 4.0. Citrix fully supports the upgrade path from 3.0 to 4.0.

  • Implement a new MPS 4.0 environment in parallel to the existing MF 1.8 environment and migrate users gradually from one farm to the other. If users must access applications in both environments, Citrix recommends using the Web Interface for MPS to access applications from both the new MPS 4.0 farm and the legacy 1.8 farm. Authentication tickets must be disabled for the 1.8 farm; otherwise , users will be unable to access these applications, instead receiving a message stating an error occurred while trying to connect to the published resource.

As a result, all associated interoperability settings are no longer available in the latest Management Console. You can still enable Data Collectors to respond to legacy ICA Browser UDP broadcasts within the properties for the server farm.

Alert

Note the supported migration methods from MF 1.8 to MPS 4.0 and remember that interoperability mode is no longer supported.


CPU Utilization Management

A significant new feature available only with the Enterprise Edition of MPS 4.0 is CPU utilization management. When enabled, this setting modifies Windows's default job priority scheduling in an attempt to ensure all users have "fair" access to an equal share of the CPU resources. Through this change, the normal CPU consumption of each user is brought within a predictable range (what Citrix refers to as normalizing ). In doing so, typical application performance spikes are reduced, increasing the available CPU to handle additional processing tasks .

CPU utilization management also throttles CPU- intensive applications, restricting them to a fixed number of CPU cycles and protecting the entire environment from being impacted by such applications.

CPU utilization can be controlled at the farm level or at an individual server level. When this feature is enabled, two special services called Citrix CPU Utilization Mgmt/Resource Mgmt and Citrix CPU Utilization Mgmt/User-Session Sync are started. Together, these services work to calculate the load for all processes associated with a user and adjust CPU priority of these processes accordingly .

Citrix has introduced new Performance Monitor counters, allowing you to track the effectiveness of the CPU utilization configuration. The object labeled Citrix CPU Utilization Mgmt User contains the counters CPU Entitlement, CPU Reservations, CPU Shares, CPU Usage, and Long Term CPU Usage.

MPS users are granted an equal number of CPU shares, representing a relative percentage of CPU cycles. The default value assigned to each user is 8, but this value can be adjusted on a per-user basis by modifying the Registry value:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CTXCPU\Policy

Specific users can be assigned different shares by adding an entry with the format

 <userID>,cpu.shares=<x> 

where <userID> is the user ID preceded with the domainfor example, NOISY\toddm. Currently, only individual users can be added. Windows groups are not supported. The <x> represents the number of shares assigned to the user. If you assign 10 to user A, then relative to user B who is assigned 8, user A would get 20% more of the CPU.

Within the CTXCPU key, you can also reserve a specific percentage of the CPU for one or more users. In the Policy key, you would add an entry with the format

 <userID>, cpu.reservation=<y> 

where <userID> is the same as the preceding description and <y> is the percentage of CPU in thousands. The default entry found here is

 NT AUTHORITY\SYSTEM,cpu.reservation=20000 

meaning that the SYSTEM process automatically reserves 20% of the CPU, leaving the other 80% to be divided among all active users.

In certain instances, you may want to allocate a differential share or reservation of the CPU to given users. Any changes should be monitored carefully using the appropriate Performance Monitor objects.

You can find the setting to enable CPU utilization management under the new Memory/CPU Utilization Management setting in properties of the farm node or an individual server in the Management Console.

Alert

You should understand the concept of CPU shares and CPU reservation and how these settings could be customized for a specific user ID.


Virtual Memory Optimization

An associated optimization feature for virtual memory has also been introduced in the Enterprise Edition of MPS 4.0. Memory optimization allows you to improve speed, performance, and scalability for a farm or individual servers. Memory management increases the number of users a server can support by optimizing the use of DLLs stored in virtual memory. When this feature is enabled, the Citrix Virtual Memory Optimization service is started. This service is responsible for monitoring application loads and recording any DLL access collisions that occur. These collisions are recorded to a file called Repair.SFO that is read at scheduled intervals (and on bootup ) by the CtxBace.exe program. This program is responsible for optimizing the loading of the executables and DLLs listed in the Repair.SFO file. A list of all optimized DLLs and the associated memory savings are recorded to an XML file called Bind####.SFO. All associated files for virtual memory optimization are located in the Server Resource Management\Memory Optimization Management folder under the Presentation Server installation folder.

When enabled, memory optimization is applied to all executables and the associated DLLs by default. Predefined sets of applications (processes) and DLLs ( components ) that are excluded are listed in the following Registry keys:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SFO\ComponentExclusionList

and

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SFO\ProcessExclusionList

Within the Memory/CPU Utilization Management property of the farm or server node, this setting is enabled or disabled. In the Memory Optimization property (found only within the farm node), you define the actual optimization schedule and manage the list of applications and components excluded from the memory optimization process.

Note

Part of Citrix's optimization process involves taking the original executable or DLL and rewriting it to the file system with updated memory reference information. This updated information loads DLLs in alternate base memory locations, avoiding conflicts with other DLLs and increasing its reusability with multiple processes. Changing the base memory location is known as rebasing . Associated executables that use these DLLs are rewritten to include this alternate base address information and the addresses of the exported functions within the DLL. This greatly increases the startup time of the EXE because querying for this information on startup is not required. The updated EXE and DLL files are stored in alternate streams in the file system. They are hidden from programs such as Windows Explorer but accessed when the program is launched.

This process is not without limitations. Programs that validate their executable or associated DLLs at runtime (such as antivirus programs) fail with this optimization. Digitally signed programs can also fail if checked by the application. These types of programs must be excluded when memory optimization has been enabled in order to run properly.


Tip

Sometimes application files are stored on a remote file server and require special access permissionsfor instance, domain administrator permissions. If this is the case, clear the Use Local System Account check box. Enter the appropriate account and password that have permissions to access the remote files.




Citrix CCA MetaFrame Presentation Server 3. 0 and 4. 0 Exam CramT (Exams 223 and 256)
Citrix CCA MetaFrame Presentation Server 3. 0 and 4. 0 Exam CramT (Exams 223 and 256)
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 199

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net