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

51
Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC

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

Page 1: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Porting The SAS System to HP-UX on the Itanium

Clarke ThacherSenior Software Manager UNIX/VMS R&D

SAS InstituteCary, NC

Page 2: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

We called this project `You bet your company.'

Bob Evans, IBM 1964

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

Page 3: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

The Result

IBM Dominates the Computer Market for Twenty Years

Page 4: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

New Game, New Players

• The Players - HP & Intel

• The Bet – EPIC Computing and IPF

Page 5: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 6: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

The Early Days – Part 2

1988 – Cydrome Closes

1990 – Multiflow Closes

Page 7: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

HP – The 1980s

1982 – HP introduces HP 9000 Technical computer based on 68000

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

Page 8: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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)

Page 9: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

SAS Early Days (continued)

• Written in PL/1

• Some Assembler

• Well established on mainframes

Page 10: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 11: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Multi-Vendor Architecture

• Written in C, and some assembler

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

Page 12: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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%

Page 13: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 14: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 15: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Why Change?

• The need for speed

• Increasing complexity of superscalar

• Increasing intelligence of compilers

• Increasing memory gap

Page 16: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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”

Page 17: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 18: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Advanced features of EPIC

• Predication

• Speculation

• Instruction bundling

• Rotating Registers

• Very Large Number of Registers

Page 19: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 20: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 21: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 22: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 23: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 24: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

How Did We Get Invited?

(Who is SAS Institute and what do we do)

Page 25: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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.

Page 26: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Consistent Leadership

• Ranked #1 in:– Data Warehousing

– e-Intelligence

– Data Mining

– Business Intelligence

– Analytics & Statistics

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

Page 27: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

How do you port to Itanium?

Page 28: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

How To Port To A New Platform

• Get Compiler and other tools

• Get the hardware

• Get the OS

• Compile

• Test

• Ship

Page 29: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.
Page 30: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Special Challenges For SAS

• The size of the code to port

• Just in time code generation (machine code)

• Dependence on third party libraries

Page 31: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 32: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

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

Page 33: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Early Development Environment

• Cross Compiler/Linker

• Simulator

Page 34: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

January 2000 - Lions Arrive

Page 35: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Progress

• Successful compilation

• Native tools

• Compiler updates

• OS Updates

• Lots of debugging

• More bug reports

Page 36: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

More Progress

• Tools updates

• OS Updates

• More testing/debugging

Page 37: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Our First Public Appearance

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

DUBLIN, Ireland (June 19, 2000)

Page 38: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

More Progress

• Tools updates

• OS Updates

• More testing/debugging

Page 39: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

More Demonstrations

November 2000 – Demo in Brazil

April 2001 – Demonstration at SAS Users Group (SUGI)

Page 40: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

More Progress

• Tools updates

• OS Updates

• More testing/debugging

Page 41: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

First Official Release

May 2001 – HP Introduces systems based on Itanium

Page 42: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

More Progress

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

ThreadingAnother code generatorJava VM

Page 43: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

SAS Version 9.0

SAS Scalable Architecture

Page 44: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Summer 2002 – Release!

Itanium 2

HP-UX 11i, Version 1.6

SAS Version 9.0

Page 45: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Will they win the bet?

Page 46: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Thirty years ago

IBM dominates the computer market

and the rest…

Page 47: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

The Seven Dwarfs - 1971

Burroughs

Control Data

General Electric

Honeywell

RCA

Scientific Data Systems

UNIVAC

Page 48: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Contact information:

Clarke Thacher

SAS Institute

SAS Campus Drive

Cary, NC 27513

(919)531-7786

[email protected]

Page 49: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Continuing Development

• SAS Code base moved from 8.2 to 9.0

• More coding, testing, debugging

• Using the optimizer and other tools

Page 50: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Summer 2002 – Release!

• Itanium 2

• HP-UX 11i, Version 1.6

• SAS Version 9.0

Page 51: Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D SAS Institute Cary, NC.

Contact information:

Clarke Thacher

SAS Institute

SAS Campus Drive

Cary, NC 27513

(919)531-7786

[email protected]