aix 64

 
pSeries 64-bit Overview

This page contains information on running 64-bit applications in AIX. Some of the questions that are answered are

How do I tell if my hardware supports 64-bit?
Can I run 64-bit applications on AIX 4.3.3?
Can I run 64-bit applications on 32-bit hardware?
What is a 64-bit kernel extension?
How do I tell if my AIX 5.1 is running in 64-bit mode?
This information is mostly stolen from answers to PMR's from level 2.


AIX Version 4.3 64-bit Implementation Strategy

The implementation philosophy in AIX for supporting 64-bit systems is to provide 32-bit binary compatibility, utilizing the hardware capability for 32-bit execution mode plus AIX release-to-release binary compatibility. and provide coexistence and interoperability between 32-bit and 64-bit programs, and then exploit this infrastructure within AIX 4.3 itself.

The approach in AIX is no different from that recommended to, and likely to be adopted by, most third parties and customers as well. Most elements of AIX functionality are not related in any way to supporting 64-bit hardware or providing 64-bit features, and many are small programs with modest address space requirements. These programs remain 32-bit programs, with the same binary running on both 32-bit hardware or 64-bit hardware. Even in the cases where such programs were changed in AIX Version 4.3 to incorporate improved function or performance, they continue to be 32-bit programs. The coexistence of 32-bit and 64-bit programs on 64-bit hardware works for AIX itself, just as it will work for customers and third parties.

Does my hardware support 64-bit

Perhaps the first thing to check is whether your hardware is 64-bit or not. The supported command for finding this out in AIX 5.2 and beyond is the prtconf command. The output will look like this:

System Model: IBM,7043-260
Machine Serial Number: 1054414
Processor Type: PowerPC_POWER3
Number Of Processors: 2
Processor Clock Speed: 200 MHz
CPU Type: 64-bit
Kernel Type: 32-bit
LPAR Info: -1 NULL
Memory Size: 1024 MB
Good Memory Size: 1024 MB
...
The command bootinfo -y will also tell you whether your hardware is 64-bit or not. However the bootinfo command is not a user-level command and is not supported any longer and not included in the AIX 5.2 and later. This command will return either a value of 32 or 64. Starting with Power III all pSeries hardware is 64-bit.
# bootinfo -y
64

Is the 64-bit kernel Active on AIX 5.1?

Use the bootinfo -K flag

# bootinfo -K
32

Can I run 64-bit applications on AIX 4.3.3?

The simple answer is yes by installing 64-bit kernel extensions. The bos.64bit is the Base Operating System 64-bit runtime fileset. If bos.64bit is not installed, you do not have the /etc/methods/cfg64 file. Without the /etc/methods/cfg64 file, you will not have the option of enabling or disabling the 64-bit environment via SMIT, which updates the inittab with the load64bit line (simply adding this line does not enable the 64-bit environment).

The command lslpp -l bos.64bit will reveal if this fileset is installed. The bos.64bit fileset is on the 4.3.x media, however, installing it does not ensure that you will be able to run 64-bit software.

Are 64-bit kernel extensions loaded

To determine if the 64-bit kernel extension is loaded, from the command line enter:

genkex |grep 64
You should see information similar to the following:

149bf58 a3ec /usr/lib/drivers/syscalls64.ext

Can I run 64-bit applications on 32-bit hardware?

With the bos.64bit fileset installed on non 64-bit hardware, you should be able to compile your 64-bit software; however, you will not be able to run 64-bit programs on your 32-bit hardware.

Does this mean there is a 64-bit kernel at AIX 4.3.3?

NOTE: Having the driver extensions, does not mean that the kernel is a 64-bit kernel. A 64-bit Kernel became available at 5.1 oslevel.

The driver extensions just allows the 64-bit application to be compiled by a 32-bit kernel. If the 32-bit kernel has a 64-bit processor, the syscalls64.ext will allow the 64-bit application to execute. Yet at 5.1, a 64-bit kernel and a 64-bit processor has better performance with 64-bit applications. To truly change the kernel to 64-bit, you need to be at the 5.1 oslevel.

In most cases, running 32-bit applications on 64-bit hardware is not a problem, because 64-bit hardware can run both 64-bit and 32-bit software. However, 32-bit hardware cannot run 64-bit software. To find out if any performance issues exist for applications that are running on the system, such as Lotus Notes and Oracle, refer to those application's user guides for their recommended running environment.

How can I tell if my AIX 5.1 system is using a 64-bit kernel?

Perhaps the easiest way is to look at the /unix file link. If this is pointing at /usr/bos/boot/unix_mp then you are at 32-bit. If it is pointing at /usr/bos/boot/unix_64 then you are at 64-bit. If it points somewhere else you'll probably crash.

You can also use the bootinfo -K command. This will show 64 if you are running the 64-bit kernel and 32 for the 32-bit kernel.

Can I run both 32-bit and 64-bit applications at the same time.

Yes, they can run on either the 32-bit or the 64-bit kernel at the same time. For the 32-bit kernel, there are 64-bit extensions that are loaded to allow the 64-bit applications to run as long as you have 64-bit hardware.

32-bit Binary Compatibility on 64-bit Hardware

Binary compatibility for 32-bit programs on 64-bit systems means, quite simply, that 32-bit applications run on 64-bit hardware systems the same as they would under AIX 4.3 on 32-bit hardware; the same binary executes the same hardware instructions on both systems. There is only one application binary required. AIX 4.3 kernel services for 32-bit applications look the same on 64-bit systems as on 32-bit systems - there is no compatibility overhead layer. Much of the AIX Version 4.3 kernel exploits the Model S70's 32-bit hardware binary compatibility to run in 32-bit execution mode. This helps AIX 4.3 to provide a native interface into kernel services from 32-bit applications.

Kernel exploitation of hardware binary compatibility also helps AIX Version 4.3 provide binary compatibility for well-behaved 32-bit device drivers and kernel extensions, running on 64-bit systems with 32-bit application workloads. There are a few situations, described later in this paper, where an existing device driver or kernel extension must be enhanced to handle direct interaction with a 64-bit application, but this can be done in ways that do not impact its compatibility for 32-bit applications.

Under the pSeries philosophy of not forcing unnecessary recompilation to 64-bit, the large majority of application programs are likely to remain 32-bit, while a relatively small number of key programs scale up to exploit the performance benefits of a 64-bit address space. 32-bit binary compatibility in AIX Version 4.3, on both 32-bit and 64-bit systems, is an important ingredient for building the smooth evolutionary road to 64-bit computing.

How do I switch between 32-bit and 64-bit mode?

When you install the operating system, you can go to the additional features and specify 64-bit mode, and when you do, you will also get a JFS2 rootvg filesystem. The default is 32-bit mode.

To switch from 32-bit mode to 64-bit mode follow these steps:

# ln -sf /usr/lib/boot/unix_64 /unix
# ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
# bosboot -ad /dev/ipldevice
# shutdown -Fr
# bootinfo -K should now show 64
To switch back from 64-bit to 32-bit use:
# ln -sf /usr/lib/boot/unix_mp /unix
# ln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix
# bosboot -ad /dev/ipldevice
# shutdown -Fr
# bootinfo -K should now show 32
Peformance Implications:

The 64-bit architecture enables the more efficient handling of 64-bit data types and the utilization of more physical memory. In itself, however, a 64-bit architecture does not improve performance.

Note: No 64-bit system, not even IBM’s 64-bit PowerPC chip running AIX will run most existing 32-bit applications any faster than an equivalent 32-bit system.  


Only a very few specialized 32-bit applications, when significantly modified and then recompiled as 64-bit applications, will perform much better by taking full advantage of the 64-bit address space.

Keep in mind, however, that a 64-bit system and architecture does not automatically increase performance nor does it increase the clock speed.

When is 64-bit an advantage?

The 64-bit hardware and operating system will give the biggest advantage under the following conditions:

When memory mapping of large files and database can be used to speedup processing by keeping the whole file in memory and thus avoiding constand disk I/O. The advantage comes when the whole file will not fit in memory on a 32-bit system.
When an application has very large arrays or real memory requirements, this allows problems to be done without having to do programming tricks to divide the array into active portions and work on those one at a time.
A 32-bit AIX kernel can address only 96GB of memory, while a 64-bit kernel can address the entire memory range of any pSeries box available today or in the near future.

The AIX 64-bit Performance in Focus Redbook G24-5103-00 available from http://www.redbooks.ibm.com lists the following applications on page 18 that can take advantage of 64-bit hardware and thus increase performance:

Decision Support systems with large databases.
Data Warehousing with significatn amount of memory SQL user data selection.
Data Mining because of their large memory requirement and the large flat file or data warehouse databases.
Huge Web Servers when there is a large in memory cache requirement.
Multimedia Servers with large file caches in the large amounts of physical memory.
Numerically intensive scientific and engineering type programs with very large arrays.
In Memory Databases
Large Array Operations
Applications that need 64-bit integers
Why might 64-bit applications be slower?

The main reasons that a 64-bit application may be slower are:

Larger footprint of programs and data means longer load times. For the effect to become significant, an exceptionally high rate of loads would have to be performed.
If using 32-bit kernel, translation of 64-bit pointers to 32-bits. can degrade performance, but the other way around isn't so much of a problem.
For 64-bit pointer operations, although the actual instructions, both 32-bit and 64-bit, proceed at the same speed, there is a small additional overhead in bus bandwidth when 64-bit datatypes are transferred to and from memory.
64-bit address pointers occupy more space, resulting in higher data cache miss rates.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值