by George Walsh
Whether your application is a computer game, a word processor,
a Web server, or a high-capacity, high-performance set of
sorting routines, taking advantage of the latest hardware is an
absolute necessity in today's marketplace. Innovative Routines
International (IRI) Inc. has a history of adapting its
processor-intensive CoSORT* data sorting and
extract-transform-load routines to run in every possible
environment, making optimal use of each platform's raw
capabilities. In striving to keep CoSORT in line with the most
modern, up-to-date hardware, IRI is constantly faced with the
challenge of gaining access to the newest processors,
development tools, and support services.
This is the story of their latest experience with porting
their software to Intel Corporation's 64-bit Itanium®
processors.
IRI has literally decades of experience in adapting its
applications to fit within the evolving hardware landscape.
Founded in May 1978, IRI first offered its coroutine sort
(CoSORT*) technology for CP/M-80 and CP/M-86 in 1980, MS-DOS*
in 1982, UNIX* in 1985 and Win32* in 1995. Since that time, the
company's CoSORT product has evolved into a series of
multithreaded routines that offer one-pass data extraction,
sorting, summarization, matching (joins), and reporting, with a
special emphasis on providing high-speed sorting for databases
and data warehouses. From mainframes to Windows*, from C to
COBOL, from EBCDIC to ASCII, CoSORT has become a popular choice
for both batch and interactive sorting needs, leveraging
affordable symmetric multiprocessing hardware to parallelize
sort services for nearly all applications developers. (See
http://www.cosort.com/public/solutions/cosort/cosort.htm*.)
In June 2000, one of IRI's largest customers requested a
64-bit UNIX version of CoSORT on an unsupported platform
— the Itanium processor — in order to exploit its
unique Explicit Parallel Instruction Computing architecture and
VLM, or Very Large Memory model. Having ported CoSORT to other
new platforms in the past, IRI's managers know that
accessibility to hardware, operating systems, and compilers
would be a challenge. They expected to have to go through the
usual song and dance of rounding up hardware and software to
build and test the latest version of CoSORT — a process
that generally added months to the software's delivery
date.
"We were the first UNIX sorting package available back in
1985, so we have a history going back to before UNIX was even
commercially relevant," says IRI's Business Development Vice
President David Friedland. "Our original ports of CoSORT to
different flavors of UNIX required either remote access or
physical access to the machines, which could take weeks or even
months to arrange, procure and/or set-up." The additional
challenge of making sure the necessary operating system was
coupled with the right hardware resources led IRI to believe
that the development timeframe for the latest 64-bit port would
be no different than it had been in the past. "It'd become
increasingly difficult to find hardware OEMs providing ISVs
with easy access to newer systems " Friedland says. Then, IRI
was introduced to the Intel® Developer Services Intel® Software Partner Program.
The Intel Software Partner Program is a subscription service
that gives developers access to new
technology that includes Intel processors running on reference
servers or workstations; the operating systems it supports;
development tools; and technical assistance with porting or
development issues. Thanks to its reputation as a company on
the cutting edge of performance, IRI was one of the first
companies Intel approached for the new Intel Software Partner Program; indeed, Intel Software Partner Program helped
the company reduce the time it took to port CoSORT to its new
environment to just a few days, instead of the weeks or months
that were involved in previous porting efforts. IRI's
experience in porting to other UNIX environments was certainly
a contributing factor, but the reduction in the time it took to
gain access to the hardware and software they needed to
complete ports of their software, allowed IRI to bring the
ported CoSORT application to market much faster than
anticipated.
The targets were IBM's AIX* 5L, Hewlett-Packard's HP-UX* and
Debian's Linux* operating systems running on the new processor,
which would be achieved with technical support from Intel.
Ultimately, Intel provided IRI with its own Itanium-based
servers and workstations for development and testing, as well
as remote access to an Intel-hosted Itanium-based server
running HP-UX version 11i. (See The HP Web site
http://h20338.www2.hp.com/hpux11i/cache/324545-0-0-0-121.html*
to learn more about HP-UX on the Itanium processor.)
"It's fair to say the ports to Itanium architecture only took
a day or two once the hardware and software fell into place,"
Friedland says. "This compares very favorably to other ports
we've done to other 32-bit and 64-bit UNIX flavors, as well as
Windows. Intel Software Partner Program's provision of machine access and experts made for
a very smooth transition of CoSORT's ANSI C code to the VLM
model and Itanium architecture."
Another area where Friedland's team saw a tremendous advantage
with the Intel Software Partner Program in the operating system and compiler installation,
which he said is often a lengthy or costly proposition. So,
too, are the learning curves associated with platform-specific
libraries. However,
Intel Software Partner Program
gave IRI active assistance in its efforts toward porting CoSORT
to run on the Itanium processor. Friedland even believes the
program helped IRI improve the quality of the base code —
the company maintains a common code base across all of its
supported hardware and operating systems, handling
platform-specific issues with includes and switches. "The speed
with which we were able to bring everything up once the
hardware and software were in place allowed us to spend less
time focusing on porting and more time on benchmarking and
testing," he says.
We invite you to
post a comment (not monitored by customer support) on this page or
send a question directly to our support team.
Usage governed by Terms of Use