The implementation of 64-bit infrastructures has become commonplace throughout most IT departments regardless of the size of the organization. Whether it is a corporate decision to utilize the opportunities available with the more powerful architecture or simply a question that arises when purchasing new hardware, it has become a common thread in all IT discussions. As hardware costs continue to drop and 64-bit operating systems and applications become more prevalent, IT decision makers are often encouraging the move. What is often lost in this decision is whether the hosted applications are truly 64-bit. Has the application been written to utilize all the available resources or does it simply run in a 32-bit emulation or processor core on the selected hardware? What advantages will actually be realized by “upgrading” to a 64-bit application? The true answer to this question often requires a bit deeper look under the covers.

What does it mean to run in 64 bit?

The most common understanding is that running on a 64-bit platform will allow your applications to access far more physical memory than what was previously available within the constraints of a 32-bit architecture. In addition, many applications can take advantage of the 64-bit registers to allow for faster and more efficient execution. Of course for an existing 32-bit application to work with these new capabilities it must often be completely rewritten and compiled to utilize these advantages. This can be a very expensive proposition for many software companies and in many cases they will simply rewrite or recompile those components of their code that can be easily ported, at a minimal cost, to true 64-bit architecture. For example, java applications are architecture agnostic meaning that a complied Java program can run in either a 64-bit or 32-bit Java virtual machine (JVM).

Is IBM Cognos truly 64-bit?

As mentioned above, it can often be too costly for a software vendor to completely rewrite an entire application, much less a suite of applications, so they often look for ways to improve performance by developing certain components to run in 64-bit mode. In the case of IBM Cognos, only those components that were written in Java, which as noted above will run in either a 64-bit or 32-bit JVM, currently utilize the full memory address space available to the application. Borrowing from a slide in an excellent presentation by Alex Sigal, some components of the following IBM Cognos products utilize the 64-bit architecture:

Product

64-bit

BI SDK

Yes

BI Samples

Yes

BI Modeling

No

BI Server

Yes

Go! Dashboard

Yes

Go! Search

Yes

Metrics Server

No

Metrics Modeling

No

Virtual View Manager

No

Go! Office

No

Analysis for Excel

No

Data Manager

Yes

PowerPlay Server

No

PowerPlay Client

No

BI Transformer

No

Controller

No

Planning

No

Although it appears that several of the products are architected to utilize the available 64-bit benefits, one has to understand which components of these products actually work in this environment. Let’s focus on the IBM Cognos 8 BI Server as this is the most often used application. Within this application, only the components that execute in the JVM are specifically geared to use 64-bit capabilities. These components include:

  • Content Manager
  • Dispatcher
  • Configuration Manager
  • Bootstrap
  • Presentation, Schedule and other services
  • Cognos Authentication Manager (except Series 7 CAM)

The components that are not 64-bit capable:

  • Report Server Processes (Actually written in C++)
  • Web Gateway Extensions (ISAPI, CGI, etc.)

What Are the Advantages of 64-bit IBM Cognos?

In order to completely understand the benefits of IBM Cognos 64-bit, it is important for the IT architect to understand what aspects of the IBM Cognos 8 BI Server are affected by those components that actually run in true 64-bit mode. You will notice in the above list that most of the 64-bit components are related to the navigation and the security of Cognos connection and the retrieval of the portal content. It is important to note that this would include transactions involving the content store such as previously executed report versions and scheduled reports. What this tells us is that the user can expect a more consistent experience when navigating through the portal even as the number of concurrent users within an implementation increases. In addition, for organizations that create a large number of scheduled reports or versions of reports, they can expect performance to remain consistent due to the larger addressable memory space and register capability of the affected components.

So My IBM Cognos Users Will Be Happier?

That is the million dollar question. While the user can expect a better experience in the areas noted above, interactive report performance, often the most user focused component, is not going to be affected by the move to a 64-bit architecture. This is due primarily to the fact that the Report Server Processes continue to run in a 32-bit emulation on a 64-bit machine meaning that the same restrictions on memory that existed in the 32-bit version of the BI Server continue to exist today. This is a key point when considering the move to a 64-bit architecture. There are a number of areas as mention above that could lead to a better user experience, but it is important to understand which areas of experience will be affected. As always the best method to ensure better report performance improvement is to look into the design of the report and the structure of the SQL queries necessary to derive the report information.

What is the Downside?

There are a number of considerations that should be taken into account besides the user experience mentioned above. The most important is that all database client libraries must remain 32-bit as the report process remains a 32-bit application. While you still may see a performance improvement by utilizing a 64-bit database, assuming that your database vendor supports 32-bit driver access to a 64-bit database, the communication between the database and the application server will remain in 32-bit mode. In addition, due to the fact that a 64-bit JVM instance will require a larger heap size to operate efficiently, it is important to consider the memory allocation on any 64-bit machine that will serve as an application server. If the heap size is too low, the JVM will not perform optimally. Please see the following article for more information: http://onjava.com/pub/a/onjava/2006/11/01/scaling-enterprise-java-on-64-bit-multi-core.html. Finally, OS kernel support must be taken into consideration. Not all 64-bit kernels will support a 32-bit application, so make sure to check your OS limitations before proceeding with a 64-bit installation.

What is Best for My Organization?

Taking into account the above considerations, it is easy to identify certain scenarios where your organization could stand to benefit from a move to 64-bit IBM Cognos. On the contrary you may see no noticeable change in baseline performance. If you’re looking for more guidance in the decision making process for your IBM Cognos platform architecture, please don’t hesitate to Contact Us for more information.

2 replies
  1. srunaj says:

    We have 64 bit operating system on AIX and installed Cognos 32 bit on the server.
    According to that article above it doesnt have any impact on the 32 bit or 64 bit service of cognos. But we also use a SDK utility built out of 32 bit cognos for scheduling the jobs.

    Does this have a impact on the rreports being run through this utility?

    Please suggest.

    Thanks

Comments are closed.