27
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 Kriebel OpenVMS Ambassador [email protected] 0171 3357 698 Integrity Server für OpenVMS Integrity Server - was ist neu - Console, Firmware, Booten - Lizensierung, Produkte Portierung Agenda

Migrating to IA64 VMS 2G02 - decus.de · HP IT-Symposium 2006 4 2 Console Ports • Rückansicht einer rx2600 Serial Console MP BMC Serial Console: Baseboard Management Controller

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

HP IT-Symposium 2006

www.decus.de 27

Fragen ??????????