200 likes | 505 Views
Porting OpenVMS Applications to Itanium™ Processor Family. Gaitan D’Antoni OpenVMS Technical Architect for Application Development Technology Session 1619. Outline. Introduction Strategy and plans OpenVMS compilers and tools Key differences between Alpha and Itanium™ processor family
E N D
Porting OpenVMS Applications to Itanium™ Processor Family Gaitan D’Antoni OpenVMS Technical Architect for Application Development Technology Session 1619
Outline • Introduction • Strategy and plans • OpenVMS compilers and tools • Key differences between Alpha and Itanium™ processor family • Moving your application to Itanium™ processor family • Q & A
Terminology • IA-64 Intel® processor architecture • Itanium™ processor family - Family of microprocessors that implement IA-64 • Itanium Specific member of the family
Strategic Compaq OpenVMS actions • Announced the alignment of all 64-bit enterprise servers on Intel® Itanium™ processor family architecture microprocessor • Long-term collaborative technology/marketing agreement with Intel® • Full port of OpenVMS to new Intel® architecture • If you’re on Alpha, you’re a recompile and requal “away” from being on Itanium™ processor family • Enhanced server roadmaps for OpenVMS, NonStop™ Himalaya, Linux, Tru64 UNIX, and Windows customers • Alpha EV6 speedups and EV7 Marvel program • New NonStop™ Himalaya speedups
EV7 EV79 EV68 EV67 OpenVMS Alpha and Itanium™ processor family porting timeline Itanium McKinley Madison “Post VNext” (H1CY04) for Itanium™ processor family and Alpha Systems Future releases providing Continued Enhancement & Support OpenVMS Version 7.2 Version 7.3 Version 7.3-x… OpenVMS/IPF Boot H2CY02 Ship H1CY03 Update H2CY03 Transition Period 2010 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 Alpha Platform Itanium™ processor family Platforms
H1 02 H2 02 H1 03 H2 03 H1 04 May Cross Compilers: CRTL, C. BLISS, IMACRO, Linkers, Librarian (Internal) July/August: 1st Boot occurs August/September: Working Boot Environment December: Native Compilers - CRTL, C, BLISS, IMACRO (Internal) H1 03: 1st Release Audience: Key ISVs, Partners, Early Adopters OpenVMS/IPF - Alpha/IPF Common Source CRTL, C, Intel C++, Intel Fortran, BLISS, IMACRO, Java TCP/IP, DECnet Phase IV, DECset components Full Support from Services First ship H2 03: 2nd Release Audience: Key ISVs, Partners, Early Adopters Limited cluster functionality Additional Compilers: Pascal, BASIC,COBOL , LPs: Advanced Server, RTR, DECnet+, XML, Apache, NetBeans Full Support from Services OpenVMS Itanium™ processor family port roadmap Productionquality OpenVMS 3rd Release
OpenVMS Itanium™ processor family product porting rollout H2 2003 2004 OpenVMS core: Clusters - limited configurations, DECwindows Motif, Monitor Utility Networks: DECnet Phase IV, DECnet-Plus, TCP/IP, Advanced Server, DFS Compilers: C, Intel C++, COBOL, BLISS, Gnat ADA, Java, Intel Fortran, IMacro (Macro32 & AMacro port), CRTL, Pascal, BASIC Development tools: LSE, CMS, MMS, DTM, Enterprise Toolkit e-business: XML, CSWS (Apache), NetBeans, RTR, COM, Enterprise Directory OpenVMS core: Expanding Clusters (multiple phases), Shadowing, DECram, RMS Journaling, GKS, Phigs, Media Mgmt Svcs, Galaxy Networks: X.25 Development tools: PCA e-business: Mozilla, BridgeWorks Mail & Messaging: MAILbus 400, X.500 Admin, IMAP4 Server Service tools: WEBES Middleware: DCE, ACMS, DECforms, FMS, DECforms and TP Web Connectors, TP Desktop Connector, Datatrieve System management: Availability Mgr, Web Agents, TDC, OMS, ECP Tools, GCU/GCM Storage products: ABS, SLS, SW RAID, DFO Many others...
Compiler plans (1 of 2) • C/C++ • CPQ C • Looks just like today’s Compaq C (DEC C) • Recompile/relink/requal • CPQ I?? C/C++ • Intel® based C/C++ • C/C++ decision based on file type or switch • Will include some features from Compaq C • Compiler for moving forward • COBOL, BASIC, PASCAL, BLISS, Java • Itanium™ processor family versions of Compaq compilers
Compiler plans (2 of 2) • Fortran • Intel® based Fortran • IMACRO • Tool to emulate or convert Macro-32 and AMacro code to Itanium™ processor family instructions • Will provide support for Macro-32 (VAX) and Macro (mixed VAX and Alpha) as well as some Itanium™ processor family instructions specific to OpenVMS architectural needs • ADA • We will provide an Ada compiler
@ ??? Development tools • DECset development tools • PCA may not be available for the H1 2003 release • OpenVMS Debugger • Binary translator • There will be a binary translator to translate Alpha images to Itanium™ processor family images • Translation of VAX images is being considered • We do not support translated images that dynamically create/call code • Tell us what you need • Compaq Services will be prepared to assist
Enterprise Team Individual Java 4GL Non-Java 3GL OpenVMS Application Development BEA WebLogicand partner tools Cognos DECset Software AG IONA iPortaland partner tools BridgeWorks TogetherSoft Compuware Uniface Compuware OptimalJ Enterprise Toolkit WithCompaqOpenVMSsnap-ins NetBeans NetBeans
So, what’s different? (1 of 3) • Calling Standard • Intel® calling standard with OpenVMS modifications • Still being designed • All Compaq provided tools will “know” about these changes • Your code that “knows” about the standard may have to change • Most code not affected
So, what’s different? (2 of 3) • Object file format • ELF/DWARF industry standard • ELF - Executable and Linkable Format, IA-64 object code, images, etc. • DWARF - Debugging and traceback information (embeded in ELF). • All Compaq provided tools will “know” about these changes • User written code that “knows” the object file format may have to change • Image header “tricks” may no longer work (Flip a bit to turn on/off debugging)
@ ??? So, what’s different? (3 of 3) • Floating point data types • Itanium™ processor family supports IEEE float only • All compilers should be able to deal with F, D, G, S, T, and X (S and T are native IEEE formats) • Document forthcoming with details • Tell us what you need • Licensing • We’re investigating the use of FlexLM • We need your input
What code will I need to change? • Architecture Specific code • Assembler code • Build command files • $ if .not. Alpha ! Assumes VAX • Alpha specific compiler built-ins may have to be recoded
@ ??? What can I do today? • Examine your code for known differences and architecture dependencies • If you’re using/STANDARD=VAXCto compile your C code today try using /STANDARD=RELAXED_ANSI89 to see what pops out • Will not be an issue for Compaq C but may be an issue for I?? C/C++ • Tell us now what concerns you about moving to Itanium™ processor family • Are there tools I haven’t mentioned? • Tell us what /VAXC extensions you want in I?? C/C++
@ ??? How to contact us • I’m here all weekGaitan.dantoni@compaq.com • Pat.mulvey@compaq.com for /VAXC extensions requests
For more information • Compaq and Intel® Initiativehttp://www.compaq.com/hps/ipf-enterprise/ • Itanium™ processor family architecture:ftp://download.intel.com/design/IA-64/Downloads/archSysSoftware.pdf • Itanium™ processor family processor hardware:ftp://download.intel.com/design/IA-64/Downloads/24870101.pdf • Software manuals:http://developer.intel.com/design/itanium/manuals.htm