Monday, March 31, 2008

AIX Affinity With Linux

Linux Background:
The Linux operating system has gained popularity through its close connection with
Internet computing and e-business. The operating system has gained a large share of this business because of the high number of applications that have been developed.
Linux’s initial attraction was that it was a “free” operating system, meaning that the source code was made available without charge. While the lack of a cost was an initial appeal, the real appeal is proving to be the applications that have been either developed or ported to Linux. Examples include Sendmail, Apache web server, and Samba (NT file and Print server emulator).
Every successful operating system has had a breakthrough application, the breakthrough application for Linux was (and still is) the Apache Web Server. Apache is by far the most widely used HTTP server on the Internet.
Further spurring the growth of Linux is the availability of the GNU tools. GNU is an
open source project that has developed a series of tools from compilers to text editors.These tools have been ported to Linux and are the tools of choice for many developers of Linux applications.


Why AIX Affinity with Linux?
The value is in the data and the applications. Developing applications is a costly and time-consuming process. If a company needed to move from a low end Intel based
system to a high performing IBM ^ pSeries or IBM RS/6000® system they
usually had to develop all new applications.
The first issue became how to assist companies that currently use Linux based application and need a mission critical system easily move to AIX 5L. The answer is to offer a set of integrated API’s and header files that will allow a Linux application to be recompiled to run on AIX 5L. AIX version 4.3.3 and AIX 5L version 5.0 today has many of the necessary APIs to run Linux application, with AIX 5L Version 5.1, there will be an even greater degree of compatibility between AIX and Linux.
The second issue is that applications are in a constant state of development, either
through enhancements or through fixing of bugs. Thus it is important that these
companies be able to work on their applications using familiar tools. The answer was to port key components of the GNU tool set, along with other open source tools, to AIX 5L.
GNU tools allows customers to work on existing applications, as well as develop new
applications using tools that they are familiar with. GNU tools are also the tools needed to recompile Linux applications to run on AIX 5L and AIX 4.3.3. This issue is addressed by the AIX Toolbox for Linux Applications, with GNU tools that have been recompiled for AIX as well as many other useful open source tools and utilities

AIX 4.3.3 and AIX 5L Version 5.0 already have affinity with Linux. Thus, you can
benefit today from AIX affinity with Linux with additional source compatibility available in AIX 5L Version 5.1.


When to use:


When considering how to best utilize AIX Affinity with Linux it is important to consider impacts to performance. AIX Affinity with Linux is designed to provide the best performance possible, however there are a couple of issues to consider that are outside the control of AIX Affinity with Linux that can influence performance.
The Linux application being deployed on AIX will have full access to all AIX
functionality, just like an application natively developed for AIX. AIX currently has a high level of compatibility with Linux, and with AIX 5L version 5.1, IBM plans to provide an even greater affinity between AIX and Linux. Thus, for a Linux application to take advantage of AIX it does not need to run through any additional layer or wrapper.
The question of performance is not one of the functionality of the recompiled Linux
application to take advantage of AIX and the IBM POWER architecture (and in the future the Intel Itanium architecture) but one of the performance of the compiler used to build the application. Most applications that have been developed natively for AIX use the IBM Visual Age compiler, while applications developed natively for Linux utilize the GNU compilers. Thus, you can expect to see a performance advantage for AIX applications that have been built using the IBM Visual Age compiler. At this time the IBM Visual Age compiler is not available for Linux applications.
The Application Programming Interface (API) method that AIX utilizes, provides a higher degree of integration between the application and the operating system than can be achieved using a layered or wrapper approach such as found in an Application Binary Interface (ABI) approach

When considering where to utilize AIX Affinity with Linux it is important to consider what applications you will be using for front-end and back-end. Many back-end applications such as databases are available on AIX. If the back-end application you are using is currently available natively on AIX, you should consider using that application rather than porting the Linux version to AIX. Another consideration is what applications in your portfolio are not performance sensitive, do not have a lot of computational requirements etc... that would benefit from the IBM Visual Age Compiler.
An example of how to utilize AIX Affinity with Linux technology is for front-end
applications. These are applications that are communicating with a back-end application.
Front-end applications typically have little or no areas where a compiler would make a significant performance advantage.
Thus, a company that develops its front-end applications on Linux can deploy them
across IBMs range of AIX and Linux enabled servers being it on Native Linux or AIX.


For back-end applications where performance is key, it is best to deploy an application that was developed for AIX. Most of these applications will have been developed utilizing the high performance IBM Visual Age compilers. However, there is nothing to preclude a back-end application from being developed on Linux and deployed on AIX. The performance difference will depend upon the application, and may be negligible.

No comments: