266 - ClassicCMP

Download Report

Transcript 266 - ClassicCMP

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”
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 Multiflow
1984 – Bob Rau, et al, starts Cydrome
1987 – Multiflow Ships Trace/200
1987 – Cydrome Ships Cydra 5
1989 – 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 Code
Platform
Specific
UNIX Specific
Portable
22,374
0.31%
84,851
0.08%
27,219,651
99.61%
Number of
Source Files
50
0.98%
376
0.13%
37,843
98.89%
SAS Releases Using MVA
MVS, CMS, VSE
VAX/VMS, Alpha/VMS
AOS/VS, Primos
PC/DOS, Windows, OS2, NT
HP/UX 68K
HP/UX PA
Apollo Domain Alpha OSF
Convex
DG/UX (88K)
Intel ABI
Linux (x86)
IRIX
MIPS
Macintosh (68k & PPC)
NeXT
AIX
SunOS (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
“Moore’s Law”
100
10
1
µProc
60%/yr.
.
Processor-Memory
Performance Gap:
(grows 50% / year)
DRAM
DRAM
7%/yr..
CPU
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
Performance
1000
• 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
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
General NAT Floating point Preds
Branch
gr0 0= 0
0=true
fr0 =0.0
0
fr1 =1.0
15
16
31
31
8
32
32
0
64
Instr. Ptr.
63
IP
64
PMD0
PMD1
127
127
127
64
82
User Mask
6
Performance
Monitors
127
64
KR0
...
KR7
RSC
BSP
BSPSTORE
RNAT
IA-32
…
IA-32
CCV
UNAT
FPSR
ITC
PFS
LC
EC
64
Instruction Bundling
128 bit aligned instruction bundles contain
Three 41 bit instructions
4 bit dispersal template, 1 bit cross bundle parallelism
Branches are to bundle boundaries
Implementations 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 immediate
Little-endian bit/byte/slot numbering
slot 2
slot 1
slot 0
tmplt 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
Revenue
$1 Billion
24 years
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 2000
HP/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
Threading
Another code generator
Java 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
[email protected]
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
[email protected]