Porting The SAS System to HP-UX on the Itanium Clarke Thacher Senior Software Manager UNIX/VMS R&D...
-
Upload
lucinda-joseph -
Category
Documents
-
view
222 -
download
0
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
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