Upload
dinhxuyen
View
216
Download
1
Embed Size (px)
Citation preview
HP IT-Symposium 2006
www.decus.de 1
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice
Migrating to IA64 VMS
2G02
Günter KriebelOpenVMS [email protected] 3357 698
• Integrity Server für OpenVMS
• Integrity Server - was ist neu
- Console, Firmware, Booten
- Lizensierung, Produkte
• Portierung
Agenda
HP IT-Symposium 2006
www.decus.de 2
HP Integrity rx4640-8 (8-way)dense form factor
HP Integrity rx1620-2(2-way)
HP Integrity rx2620-2(2-way)
DS151pEV68 1GHz
GS12808-64pEV7z 1.3GHz (**)EV7 1.15 GHz
DS251-2pEV68 1 GHz
ES451-4p EV68 1.25GHz
ES472-4pEV7 1.15GHz (**) & 1 GHz
ES802-8pEV7 1.15GHz (**)& 1 GHz
Server für OpenVMS V8.2
OpenVMS V 8.2-1auf allen HP Integrity Servern
HP Integrity rx4640
HP Integrity rx1620
HP Integrity rx2620
HP Integrityrx7620
HP Integrityrx8620
HP IntegritySuperdome
NEW
NEW
NEW
HP IT-Symposium 2006
www.decus.de 3
Intel® Itanium®2 ProzessorArchitekturPerformance durch (Explizite) Parallelisierung
CompilerCompiler
HardwareOriginalSourceCode
UngenutzteAusführungseinheiten
SequentiellerMaschinen
Code
OriginalQuellCode
Itanium® -basierender
compiler
......
......Wesentlich mehr
Ausführungseinheiten: Die Ressourcen werdeneffizienter ausgenutzt
ParallelerMaschinen Code
Traditionell Itanium™ SystemArchitektur
Implizitparallel
Implizitparallel
......
...... Massive
Resources
Mehr als nur 64 Bit !Mehr als nur 64 Bit !
Was ist neu / anders an einem Integrity Server ?
• Console• Firmware• Booten• Lizensierung• layered products• .....
HP IT-Symposium 2006
www.decus.de 4
2 Console Ports• Rückansicht einer rx2600
Serial
Console
MP
BMC
Serial Console: BaseboardManagement Controller (BMC)
To get the the console prompt, enter the following sequence:
Press EnterEnter3
Type a left parenthesis(2
Press and release the escape keyEsc1
DescriptionKeyOrder
The BMC serial port responds with the following prompt:
cli>
HP IT-Symposium 2006
www.decus.de 5
Serial Console: BaseboardManagement Controller (BMC)
At the cli> prompt, BMC provides 2 types of commands:
1) Standard commands (help, interface control, password setting, logs view)
2) Intelligent Platform Management Interface commands (IPMI): to communicate with and configure various components of the system.
To logout, type Q then EnterTo access the system Console , press Esc, then Shift-Q
Baseboard Management Controller (BMC)• Available only on COM1 serial port of X2620,RX1620,RX4640• Has it’s own processor• Entered by “ESC (“ and exited by “ESC )” or “ESC Q”• Power ON/OFF and system reset• TOC command can be used to force a crash on hung system
cli>helpCLI Commands:
C [<passwordstring>] - Change PasswordCON - Display Console selectionFPL - Read Forward Progress LogH - Help (this text)INFO - Display BMC FW RevisionLOC [0,1] - Locator LED ControlP [0,1] - Power ControlQ - Quit/LogoutRS [s] - Reset System [and switch to sys console]SE - Read System Event LogTOC [s] - Send an INIT/TOC [and switch to sys console]
HP IT-Symposium 2006
www.decus.de 6
Management Processor Card ( MP )
VGA10/100BTMP LAN
DB-25 connector:für spezielles
“3M”-cable
Management Processor (MP)
The Management Processor provides two accessmethods:
Serial : connect a PC based vt100 terminal emulator to the « console » connector of the M-cable
LAN access: telnet from a terminal window on the remote system
Ctrl-B to activate the MP command interface.
HP IT-Symposium 2006
www.decus.de 7
MP Console - Überblick
EFI = Extensible FirmwareInterface
• A new standard from Intel replacing the BIOS • EFI firmware on the system
− Includes a user interface called the “shell”− EFI commands native in the firmware− Interface to the system hardware
• Consists of three major components:− 1) The EFI Firmware core, − 2) EFI System Partition (ESP)
The OS creates the EFI System PartitionOS loader image is in the EFI System PartitionValue-add software utilities/tools may be
added during install or later− 3) EFI boot manager
OS Boot Loader menu
HP IT-Symposium 2006
www.decus.de 8
wie passt das zusammen EFI – BMC – MP
BMC
EFI
Console MP Console
MP
HP IT-Symposium 2006
www.decus.de 9
Console Configuration Setup
Zusammenspiel Firmware und VMS
ALPHA
VMS
SRM^P C
Integrity
EFI VMS
MP^BCM RS
boot-Comman
d
HP IT-Symposium 2006
www.decus.de 10
EFI Boot Menu
How booting works• Intel-architected boot environment− In the FAT partition
• VMS_LOADER.EFI• IPB.EXE
• Boot drivers for SCSI, IDE and DVD
• FAT partition is a “container file” in VMS ODS disk
VMSFAT
HP IT-Symposium 2006
www.decus.de 11
was ist anders in OpenVMS I64• Lizensierung• einige layered products
Add to Enterprise:• OpenVMS Clusters• OpenVMS RTR
Backend
OpenVMS I64 Mission Critical Operating Environment (MCOE)
NEW
Operating environments for OpenVMS on HP Integrity servers
Easier to order
Easier license management
Straight forward installation of OE’s from a single DVD
Simpler support contracts
higher customer satisfaction
Add to Foundation:· RMS Journaling· VolumeShadowing· DECram· OpenVMS Management Station· Availability Manager
OpenVMS I64 Enterprise Operating Environment (EOE)
One DVD media for all 3 OE’s
• OpenVMS Operating System
• OpenVMS Unlimited User Licensing
• CDSA• DCE RPC Runtime • DECnet-Plus for
OpenVMS End System• DECnet IV• DECprint Supervisor
(DCPS)• DECwindows Motif for
OpenVMS• Distributed NetBeans,
including plugins for C/C++, Fortran, EDT keypad, and CMS
• Enterprise Directory• Java™ Platform,
Standard Edition, Development Kit (JDK)
• Kerberos• NetBeans IDE, including
plugins for C/C++, Fortran, EDT keypad, and CMS
• Performance Data Collector • Secure Web Server (SWS)
(based on Apache server), including Tomcat, mod_PHP, mod_Perl, and Perl
• Secure Web Browser (SWB) (based on Mozilla)
• Simple Object Access Protocol (SOAP) Toolkit (based on Apache Axis)
• Secure Socket Layer (SSL) (based on OpenSSL)
• TCP/IP Services for OpenVMS• Universal Description,
Discovery, and Integration (UDDI) Client Toolkit (based on UDDI4J)
• (Web) Management Agents (for operation with HP Systems Insight Manager)
• Web Based Enterprise Management (WBEM)
• XML Technology (based on Apache Xerces and Xalan)
OpenVMS I64 Foundation Operating Environment (FOE)
Subject to change
HP IT-Symposium 2006
www.decus.de 12
License Trade In Rules to Integrity• License transfer from AlphaServer or VAX−Services contract (with license to use)
• Even swap at no charge for “equivalent product”• Parallel usage for a set period• Must purchase at least one year of support
−No services contract• 60% discount on new license price• Parallel usage for a set period• Must purchase at least one year of support
OpenVMS Integrity Layered Product Phase Rollout Plan
• Compilers:• BASIC• C• C++• COBOL• Fortran• Pascal
• DECset tools• DCE• DQS• FMS• OpenView OVO Agent• RAID Software• Archive Backup System• Data Cartridge Server• Disk File Optimizer• Hierarchical Storage Manager• Media Robot Utility• Reliable Transaction Router• Save Set Manager• X.25• HP OpenVMS Migration Software
Available Today Q4/2005
•Datatrieve•DEC/EDI•Global Workload Manager (gWLM)•BaseStar Family
•BASEstar Open Server •Omni API•Omni MMS•DECoasp/H1•DECosap/ AP•Siemens S7
H1 2006
•ACMS (including TP Web & TP Desktop Connectors)•DECforms•GKS•TDMS•IBM Interconnect Family•Samba evaluation kit
Not Porting
•Advanced Server•Storage Library System (SLS)
HP IT-Symposium 2006
www.decus.de 13
Applikations Portierung auf IA 64
• Standard- Applikationen
• eigene, selbstgeschriebene Applikationen
OpenVMS ISV porting status
As of August 1, 2005, 886 apps and services from 424 partners were committed to be ported – 386 are available already. Here are some of the companies who are ready now or will be ready soon.
HP IT-Symposium 2006
www.decus.de 14
Porting to OpenVMS I64• Porting ist fast immer problemslos• In den meisten Fällen nur
• re-compile• re-link• re-test
erforderlich
−Privileged code erfordert etwas mehr Aufwandlinesof C code did not requireeven one change
Porting to OpenVMS I64• MANY!!! Things have changed in the O/S−Different primitives −Different default floating point standard−New compilers−New image format−New calling standard −No console/PAL code
Most changes are transparent but these changes might affect your application
HP IT-Symposium 2006
www.decus.de 15
Porting to OpenVMS I64
very important :
1. update your Alpha to the latest Version ofOpenVMS, Compiler, layered products
2. compile and link your application on this platform
3. compile and link on IA64
„.. porting to ALPHA OpenVMS V-8.2 ...“
Most of the problems encountered were due to − updates to the OS and compilers, not due to Itanium−Tighter compiler standards−Changes in the CRTL−Changes to DECthreads - PTHREAD_USE_D4
• When has your application been rebuilt last ?− “The last time we built this was in 1997”
• An application isn’t correct because it runs on Alpha−Some partners uncovered day-one bugs
HP IT-Symposium 2006
www.decus.de 16
Some key items to start with• FORTRAN 77 not available on OpenVMS I64− need to migrate from F77 to F90− on Alpha prior to starting the port
• MACRO-32 (VAX MACRO)−Read the Macro-32 Porting Guide first−Pay attention to CALL LINKAGES
• MACRO-64 code MUST be rewritten• Use supported, documented interfaces• Tricks will work, but may be difficult to port
Starting on IPF …
• Up SYSUAF quotas on IPF for compiles and links− BYTLM, FILLM, WSDEF, WSQUO, WSEXTENT, PGFLQUOT− Multiply by 5 then adjust
• Porting is really easy• Many partners were successful
HP IT-Symposium 2006
www.decus.de 17
Conditionalized code• This is the first (and easiest) step to take−Usually, IA64 should take what used to be the
Alpha code path.• In some cases, IA64 specific code path should be added
#include <stdio.h>#include <arch_defs>void main(){#ifdef __vax
printf("This is the VAX codepath");#endif#ifdef __alpha
printf("This is not the VAX codepath");}
Conditionalized code• Macro
.IF DF ALPHA .IF DF IA64
.ENDC .ENDC
• C / C++#ifdef __alpha #ifdef __ia64#endif #endif
• Bliss%IF ALPHA %THEN %IF IA64 %THEN%FI %FI
HP IT-Symposium 2006
www.decus.de 18
Conditionalized code – exampleIPL31> type arch_test.c
#include <stdio.h>#include <arch_defs>void main(){#ifdef __vax
printf("This will be printed on VAX\n");#endif#ifdef ALPHA
printf("This will be printed on Alpha\n");#endif#ifdef __ia64
printf("This will be printed on IA64\n");#endif#ifndef __vax
printf("This program is not running on VAX");#endif}
Conditionalized code
Executed on IA64 systemIPL31> write sys$output f$getsyi("arch_name")IA64IPL31> r arch_testThis will be printed on IA64This program is not running on VAXIPL31>
Executed on Alpha system
MIKAXP> write sys$output f$getsyi("arch_name")AlphaMIKAXP> r arch_testThis will be printed on AlphaThis program is not running on VAX
HP IT-Symposium 2006
www.decus.de 19
IEEE floating- point• Itanium supports only IEEE floating-point in hardware
• On IA64 - IEEE floating-point is the default floating point format for the compilers.−VAX floating point formats supported when
specified as a switch to the compilers−The compilers generate code to call conversion
routines (performance hit).
IEEE floating- point• To use IEEE change the source to use S & T versions of the APIs.−Some functions (like sin, cos,….) already know
how to handle IEEE and require no changes to the application.
Q: My application uses F-float. I’m currently porting it to I64, I’m excited enough about the new architecture and I don’t want to make any source changes for now. What can I do?
A: Have no fear….HP OpenVMS engineering are here…Let’s take a look at a real example……
HP IT-Symposium 2006
www.decus.de 20
$ ty float_test.c#include <stdio.h>#include <libdtdef.h>#include <descrip>#include <ssdef>
// prototypesint lib$cvtf_to_internal_time();int sys$fao();int lib$put_output();int lib$signal();
static $DESCRIPTOR (fao_desc, "Converted delta time: !%T");
main () {
float f1;unsigned long long int delta1;int status;char output[50]={0};struct dsc$descriptor_s outdesc;short int length;
//init the descriptoroutdesc.dsc$w_length = sizeof(output);outdesc.dsc$a_pointer = (char *)&output;outdesc.dsc$b_class = DSC$K_CLASS_S;outdesc.dsc$b_dtype = DSC$K_DTYPE_T;
f1 = 156.45;
printf("This program converts %f seconds to delta time\n", f1);
status = lib$cvtf_to_internal_time(&LIB$K_DELTA_SECONDS_F, &f1, &delta1);
if (!(status&1))lib$signal(status);
if ((sys$fao(&fao_desc,&length,&outdesc,&delta1))&1)lib$put_output(&outdesc);
}
Convert seconds to delta time
Executed on Alpha:AXP> cc float_testAXP> link float_testAXP> r float_testThis program converts 156.449997 seconds to delta timeConverted delta time: 00:02:36.44
Executed on IA64:I64> cc float_testI64> link float_testI64> r float_testThis program converts 156.449997 seconds to delta time%LIB-F-IVTIME, invalid time passed in, or computed%TRACE-F-TRACEBACK, symbolic stack dump followsimage module routine line rel PC abs PCFLOAT_TEST 0000000000010240 0000000000010240FLOAT_TEST 00000000000100D0 00000000000100D0
0000000000000000 FFFFFFFF80B1A0300000000000000000 000000007AE1BEE0
HP IT-Symposium 2006
www.decus.de 21
Compiled again using the /FLOAT qualifier
I64> cc float_test/float=g_floatI64> link float_testI64> r float_testThis program converts 156.449997 seconds to delta timeConverted delta time: 00:02:36.44IPL31>
Note the program would fail on Alpha as well if compiledwith ieee_float
AXP> cc float_test/float=ieeeAXP> link float_testAXP> r float_testThis program converts 156.449997 seconds to delta time%LIB-F-IVTIME, invalid time passed in, or computed%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
FLOAT_TEST FLOAT_TEST main 4514 0000000000000174 0000000000030174FLOAT_TEST FLOAT_TEST __main 0 0000000000000064 0000000000030064
0 FFFFFFFF8025DE94 FFFFFFFF8025DE94
IEEE floating- point• On IA64, the default value for the /FLOAT qualifier is
IEEE_FLOAT. This program relies on the binary representation of the floating point value and therefore it fails on IA64.
• Compiled on IA64 with /FLOAT=G_FLOAT forced the compiler to use the default Alpha representation. No code changes are required in this case but there is some runtime cost.
• To use IEEE floating point representation, this program should be modified to use LIB$CVTS_TO_INTERNAL_TIME
• LIB$WAIT is another common example where floating point conversion may become an issue…let’s take a look….
HP IT-Symposium 2006
www.decus.de 22
AXP> ty wait.c
#include <stdio.h>
main()
{
float wait=7.0;
printf("Waiting 7 seconds\n");
lib$wait(&wait,0,0);
printf("I'm done wainting..ciao...\n");
return 0;
}
Executed on Alpha:AXP> cc wait
AXP> link wait
AXP> r wait
Waiting 7 seconds
I'm done wainting..ciao...
Executed on I64:I64> cc wait
I64> link wait
I64> r wait
Waiting 7 seconds
%SYSTEM-F-FLTINV, floating invalid operation, PC=FFFFFFFF82142760, PS=0000001B
%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
LIBRTL 000000000016C752 FFFFFFFF82142752
LIBRTL 000000000020F430 FFFFFFFF821E5430
WAIT 0000000000010250 0000000000010250
WAIT 0000000000010180 0000000000010180
0000000000000000 FFFFFFFF80B1A030
0000000000000000 000000007AE1BEE0
The default floating point format used by LIB$WAIT is
F_FLOAT, which does not match the default floating point
format used on I64 (S_FLOAT)
HP IT-Symposium 2006
www.decus.de 23
Here is a modified version that will work on bothplatforms, using the native floating point formats
I64> ty wait_common.c#include <stdio.h>#include <arch_defs>#include <libwaitdef>main(){float wait=7.0;#ifdef __alpha
int mask = LIB$K_VAX_F;#endif#ifdef __ia64
int mask = LIB$K_IEEE_S;#endif
printf("Waiting 7 seconds\n");lib$wait(&wait,0,&mask);printf("I'm done wainting..ciao...\n");
return 0;}
IMACRO • On I64 the calling standard changed− We now use Intel’s software conventions− IA64 only preserves register R4-R7 across routine calls
(Alpha preserves R2-R15)− For programs written in high-level languages (like
C,Bliss) this difference is not visible.− When MACRO-32 programs added you have to start
worrying about how to pass register parameters between languages.
− High-level languages might trash a register IMACRO assumed to be preserved (and vice versa)
− Please reference the IMACRO porting guide for more details
HP IT-Symposium 2006
www.decus.de 24
Up yours!Quotas and process settings• OpenVMS I64 images are much larger,
sometimes 3x-4x• Ensure your pgflquo and bytlm are (at least)
4x-10x your Alpha settings.− $ set default sys$system− $ run authorize−UAF> mod your_account/pgflquo=nnnnnn−UAF> mod your_account/bytlm=nnnnnn
no more sources available ???-> Binary Translator• HP OpenVMS Migration Software for Alpha to
Integrity Server (OMSAI)−AKA Binary Translator
• Translates almost all user mode images• Supports applications written in C, C++,
FORTRAN and COBOL• Can mix native and translated images
HP IT-Symposium 2006
www.decus.de 25
or CHARON-VAX ( -11, -Alpha)
VAXHardware
VAX Emulator
Host Operating System
CPU(s)
Application
Layered softwareSystem libraries
VMS (or other)
Application
VMS (or other)
Layered softwareSystem libraries
Direct copy or re-install of VAX software, no conversion process
Migrations - Unterstützung
• Itanium Developer Forum• Migration Guides• Transition Modules von
http://www.hp.com/go/transition-modules• Migration Workshops• OpenVMS Technical Update Days• OpenVMS Boot Camp• individueller Support
HP IT-Symposium 2006
www.decus.de 26
places to visit
• OpenVMS portalhttp://h71000.www7.hp.com/one stop shopping for OpenVMSSoftware, ITRC, Itanium, Success stories, ...
• OpenVMS ORACLE web shelvehttp://h71000.www7.hp.com/solutions/oracle/ORACLE informationhttp://www.oracle.com/ search for OpenVMS
• OpenVMS.orghttp://www.openvms.org/Newsletter, ECO-notification, ...
OpenVMS on Integrity Servers• General OpenVMS on Integrity Servers
http://h71000.www7.hp.com/openvms/integrity/index.html
• Layered product rollout scheduleshttp://h71000.www7.hp.com/openvms/os/swroll/index.html
• Layered products plans (products that either will not be ported or are under review)http://h71000.www7.hp.com/openvms/integrity/openvms_plans.html
• OpenVMS Partner planshttp://h71000.www7.hp.com/openvms/integrity/partners.html
• Website for Whitepapers and technical documents:http://h71000.www7.hp.com/openvms/integrity/resources.html