Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D...

Post on 19-Jan-2016

222 views 0 download

Transcript of Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D...

Porting The SAS System to HP-UX on the Itanium

Clarke ThacherSenior Software Manager UNIX/VMS R&D

SAS InstituteCary, NC

We called this project `You bet your company.'

Bob Evans, IBM 1964

Fortune magazine dubs it "Tom Watson Jr.'s $5 billion gamble”

The Result

IBM Dominates the Computer Market for Twenty Years

New Game, New Players

• The Players - HP & Intel

• The Bet – EPIC Computing and IPF

The Early Days

1981 – Josh Fisher Invents trace computing

1984 – Josh Fisher, et al starts Multiflow1984 – Bob Rau, et al, starts Cydrome1987 – Multiflow Ships Trace/2001987 – Cydrome Ships Cydra 51989 – Multiflow Ships Trace/300

The Early Days – Part 2

1988 – Cydrome Closes

1990 – Multiflow Closes

HP – The 1980s

1982 – HP introduces HP 9000 Technical computer based on 68000

1986 – HP introduces Precision Architecture, first commercial application of RISC.

SAS – The Early Days

1976 – SAS Institute Founded

1984 – SAS Ports to Minicomputers

(VAX/VMS, AOS/VMS, PRIMOS)

1988 – SAS Ships first UNIX Ports

(HP/UX and SunOS)

SAS Early Days (continued)

• Written in PL/1

• Some Assembler

• Well established on mainframes

A New Architecture for SAS

SAS releases first UNIX Products in 1988

• HP/UX on 68000

• HP/UX on PA RISC

• SunOS on 68000

• SunOS on SPARC

Multi-Vendor Architecture

• Written in C, and some assembler

• Three layers of abstraction– Applications– Portable Supervisor– Host Specific

Portable vs. Host Code

Lines of CodeNumber of Source Files

Platform Specific

22,3740.31%

500.98%

UNIX Specific84,8510.08%

3760.13%

Portable27,219,651

99.61%37,843

98.89%

SAS Releases Using MVA

MVS, CMS, VSEVAX/VMS, Alpha/VMSAOS/VS, PrimosPC/DOS, Windows, OS2, NT

HP/UX 68K HP/UX PAApollo Domain Alpha OSFConvex DG/UX

(88K)Intel ABI Linux (x86)IRIX MIPSMacintosh (68k & PPC)NeXTAIXSunOS (68k & SPARC)Ultrix

A New Architecture Begins at HP

1991 – HP Begins work on a new 64 bit architecture incorporating VLIW concepts

1993 – A preliminary instruction set spec

1994 – HP begins collaboration with Intel

Why Change?

• The need for speed

• Increasing complexity of superscalar

• Increasing intelligence of compilers

• Increasing memory gap

Processor Limit: DRAM GapµProc60%/yr..

DRAM7%/yr..

1

10

100

10001980

1981

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

DRAM

CPU

1982

Processor-MemoryPerformance Gap:(grows 50% / year)

Per

form

ance

• Alpha 21264 full cache miss / instructions executed: 180 ns/1.7 ns =108 clks x 4 or 432 instructions

• Caches in Pentium Pro: 64% area, 88% transistors

*Taken from Patterson-Keeton Talk to SigMod

“Moore’s Law”

Definitions

• EPIC = Explicitly Parallel Instruction Computer

• VLIW = Very Long Instruction Word• EPIC = VLIW• IA-64 = The new EPIC Architecture• ILP = Instruction Level Parallelism• Merced = Itanium• McKinley = Itanium 2

Advanced features of EPIC

• Predication

• Speculation

• Instruction bundling

• Rotating Registers

• Very Large Number of Registers

Machine Resources

64

GeneralKR0

...KR7RSCBSP

BSPSTORERNATIA-32

…IA-32

PFSLCEC

0fr1 =1.0fr0 =0.0

127

3132

0

127

3132

gr0 = 0

12764

3132

Preds Branch

64

0

8

0=true

1516

63

82

64

Instr. Ptr.IP

127

PerformanceMonitors

64

PMD0PMD1

CCVUNATFPSRITC

Floating point

6User Mask

NAT

Instruction Bundling

slot 2 slot 1 slot 0 tmplt

128 bit aligned instruction bundles contain Three 41 bit instructions 4 bit dispersal template, 1 bit cross bundle parallelismBranches are to bundle boundariesImplementations are allowed to have any number of functional units, so no guarantee of parallel execution Template controls dispersal to functional units Memory, Integer, Floating point, Branch, long immediateLittle-endian bit/byte/slot numbering

s

The Curtain begins to raise

April 1996 – Byte Magazine publishes an article about the HP/Intel Collaboration

Sept. 1997 – HP Launches Designing The Future

Nov. 1997 – HP/UX 11.0 Released “IA-64 Ready”

Feb. 1998 – IDF disclosures

Selling IA-64 to Top ISVs

Nov. 1998 – Briefings and disclosures to SAS and other ISVs

April 1999 – IA-64 Software Forum

May 1999 – IA-64 Goes “Public”

More disclosures

Operating Systems For Itanium(in 1999)

• HP/UX• Project Monterey IBM/SCO/Sequent) • Windows• Modesto (Novell)• Solaris• Tru64 (Compaq)• Linux

Source: http://www.intel.com/design/itanium/gettingstarted/ June 1999

How Did We Get Invited?

(Who is SAS Institute and what do we do)

Company Highlights

– Revenues in excess of $1B – Double-digit revenue growth for 24 years – 30% of revenue devoted to R&D– Largest privately held software company in

the world – profitable every year

24 years

Rev

enue

$1 Billion

Copyright © 2001 , SAS Institute Inc. All rights reserved.

Consistent Leadership

• Ranked #1 in:– Data Warehousing

– e-Intelligence

– Data Mining

– Business Intelligence

– Analytics & Statistics

Copyright © 2001 , SAS Institute Inc. All rights reserved.

How do you port to Itanium?

How To Port To A New Platform

• Get Compiler and other tools

• Get the hardware

• Get the OS

• Compile

• Test

• Ship

Special Challenges For SAS

• The size of the code to port

• Just in time code generation (machine code)

• Dependence on third party libraries

Starting Development

May 1999 – Porting agreement Signed between SAS and HP

June 1999 – Cross development system delivered to SAS

Nov. 1999 – Tool chain delivered to SAS

Nov. 1999 – Training from Intel

Porting to 64 bit platforms

• First 64 bit port in 1993 (Alpha/OSF)

• Large File Summit activity in 1996

• 3 more 64 bit ports in 2000HP/UX PA, AIX, Solaris

Early Development Environment

• Cross Compiler/Linker

• Simulator

January 2000 - Lions Arrive

Progress

• Successful compilation

• Native tools

• Compiler updates

• OS Updates

• Lots of debugging

• More bug reports

More Progress

• Tools updates

• OS Updates

• More testing/debugging

Our First Public Appearance

“SAS First To Demonstrate Enhanced Performance On New HP-UX Itanium™ Lion System”

DUBLIN, Ireland (June 19, 2000)

More Progress

• Tools updates

• OS Updates

• More testing/debugging

More Demonstrations

November 2000 – Demo in Brazil

April 2001 – Demonstration at SAS Users Group (SUGI)

More Progress

• Tools updates

• OS Updates

• More testing/debugging

First Official Release

May 2001 – HP Introduces systems based on Itanium

More Progress

• Tools updates• OS Updates• More testing/debugging• Move to SAS Version 9 Architecture

ThreadingAnother code generatorJava VM

SAS Version 9.0

SAS Scalable Architecture

Summer 2002 – Release!

Itanium 2

HP-UX 11i, Version 1.6

SAS Version 9.0

Will they win the bet?

Thirty years ago

IBM dominates the computer market

and the rest…

The Seven Dwarfs - 1971

Burroughs

Control Data

General Electric

Honeywell

RCA

Scientific Data Systems

UNIVAC

Contact information:

Clarke Thacher

SAS Institute

SAS Campus Drive

Cary, NC 27513

(919)531-7786

thacher@sas.com

Continuing Development

• SAS Code base moved from 8.2 to 9.0

• More coding, testing, debugging

• Using the optimizer and other tools

Summer 2002 – Release!

• Itanium 2

• HP-UX 11i, Version 1.6

• SAS Version 9.0

Contact information:

Clarke Thacher

SAS Institute

SAS Campus Drive

Cary, NC 27513

(919)531-7786

thacher@sas.com