Industry News
A Practitioner's Approach to IA-64 Linux Migration
Where migration meets innovation
Jan. 28, 2008 10:15 AM
Digg This!
Page 1 of 2
next page »
High-performance databases are optimized for transaction
processing and used by several industries around the world, notably financial
services and healthcare. They are more commonly available on 32-bit Unix
platforms (Solaris, AIX, HP-UX, and Linux). The trend is to 64-bit-enable them
and migrate them to the IA-64 architecture. This helps companies take advantage
of the scalability and performance features provided by 64-bit architecture and
win them greater market share. This article will describe some of the
challenges we faced and resolved in migrating one such database engine
application from 32-bit Unix to Linux on IA-64.
Migration Challenges of the Database
This database has its own runtime architecture that is
totally different from the Itanium runtime architecture, with substantial
runtime glue code written in native assembly language to enhance performance.
It has its own compiler, which generates machine instructions directly from an
ISO standard language designed specifically for this family of databases.
Further, when it works in direct mode (interpreted), instructions are generated
on-the-fly and executed.
Challenges Offered by IA-64
IA-64 architecture provides weak ordering of instruction
execution, implying that instructions can be made visible out of order with respect
to the actual program order. This is extremely important while running database
engines in a multiprocessor environment where executing instructions in the
incorrect order would result in unexpected behavior.
IA-64 also supports both little and big endian modes for
data storage. HP-UX uses big endian and Linux uses little endian with the
instructions always being in little endian.
One of the challenges was to generate machine instructions
in the correct order regardless of the operating system.
Page 1 of 2
next page »