Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

How to get the best out of AEST

 
SOLVED
Go to solution
Mario Dhaenens
Frequent Advisor

How to get the best out of AEST

I have one application running on OpenVMS Alpha 8.3 which I want to port to I64.
The main program is a Fortran program which is using a communication library.
I only have the Fortran source code but from the communication library I only have an object library.

The application (one detached process) just sends and receives messages to devices using a low level protocol over ethernet.
The devices send messages to the DECNet phase IV address (example 1.12)

I want to migrate this to I64 using AEST.
I used the latest AEST but the result is not good. The response times are too slow and the process is generating many alignment faults and using a lot of CPU.
Sometimes the application starts to loop.

Some questions:
a) AEST/INTER has the same result then without is that normal.
b) Should I relink the original program with special options so AEST can better interpret the executable.
c) I read an article that also DecNet generated many alignment fault in the first release on I64. Can I change someting in the DECnet buffersize or LAN settings to get the application better.
d) Should I define some extra logical names so the detached process uses other shaerable libraries then the xxxx_AV.
e) Other?
13 REPLIES 13
Highlighted
Mario Dhaenens
Frequent Advisor

Re: How to get the best out of AEST

I have added some process details
Robert Gezelter
Honored Contributor

Re: How to get the best out of AEST

Mario,

Using AEST can certainly be a question of the devil is in the details.

For a start, without detailed knowledge of the various pieces, I would probably build an Alpha shareable library containing the communications module, and translate that shareable library to Itanium, thus limiting the amount of translated code. The FORTRAN application can be recompiled directly on Itanium, which is the preferable route.

This is the approach that I recommended in "Strategies for Migrating from Alpha and VAX Systems to HP Integrity Servers on OpenVMS", an OpenVMS Technical Journal article (see http://www.rlgsc.com/publications/vmstechjournal/migrationstrategies.html) which also resulted in several presentations, most recently at the HP Technology Forum in 2008 (slides at http://www.rlgsc.com/hptechnologyforum/2008/migrationstrategies.html).
Once I did that, I would start working on the alignment fault issues. Fixing alignment issues in your program is likely straightforward. The utilities allow one to identify where alignment faults are occurring, and then one can take the appropriate action. For starters, I would recommend making sure all patches are installed as some problems may already have been resolved.

- Bob Gezelter, http://www.rlgsc.com
John Gillings
Honored Contributor

Re: How to get the best out of AEST

Mario,

Getting "the best from AEST" is almost a contradiction in terms! The best is to use it for the least possible code.

In your case the only thing you really need it for is the library, so link it into a shareable image on Alpha and use AEST for just that image. You can then compile your Fortran code on Itanium and link it against the AESTed shareable image. Fix the alignment faults in the code you have control over. What remains you can't do much about because it's buried in the translated code.

If performance is still unacceptable, depending on the complexity of the communication library, maybe you can reimplement it? By splitting it out as a shareable image, you can get the application going (though perhaps with reduced performance), while you develop a new version of the shareable image. Testing and redeployment is potentially as easy as changing a logical name to point to the new shareable image.
A crucible of informative mistakes
Guy Peleg
Respected Contributor

Re: How to get the best out of AEST

To get a more complete picture, it would
be useful to know the following:

1. Itanium system involved
2. OpenVMS version
3. number of alignment faults per second
4. number of processes generating the faults
5. location of the alignment faults (use the
FLT extension in SDA to determine exact
location).

The number of faults and processes is
required for determining the impact on the system.

Regards,

Guy Peleg
Maklee Engineering
www.maklee.com
Mario Dhaenens
Frequent Advisor

Re: How to get the best out of AEST


1. Itanium system involved
=> RX2660 1 Dual core CPU with 4 Gbyte RAM.

2. OpenVMS version
=> VMS 8.3-1H1
3. number of alignment faults per second
10000

4. number of processes generating the faults
=> 1 detached process

5. location of the alignment faults (use the FLT extension in SDA to determine exact
location).
=> See attachment

The number of faults and processes is
required for determining the impact on the system

This is the protocol we use: 802.2 SAP 28

LAN Data Structures
-------------------
-- EWA988 28-00 Unit Information 15-DEC-2008 15:17:58 --

LSB address AE3CA000 Error count 0
VCIB address 00000000 Parameter mask 03009014
Stop IRP address A2715640 Promiscuous mode OFF
Restart IRP address A2C6A800 All multicast mode OFF
LAN medium CSMACD Source Routing mode TRANSPARENT
Packet format 802 Access mode EXCLUSIVE
Eth protocol type 00-00 Shared user DES None
802E protocol ID 00-00-00-00-00 Padding mode ON
802.2 SAP 28 Automatic restart ENABLED
802.2 Group SAPs 00,00,00,00 Allow prom client ON
Controller mode NORMAL Can change address OFF
Internal loopback OFF 802.2 service User
CRC generation mode ON Rcv buffers to save 25
Functional Addr mod ON Minimum rcv buffers 4
Hardware address 00-17-A4-AB-62-7F User transmit FC/AC ON
Physical address AA-00-04-00-0C-04 User receive FC/AC OFF
Guy Peleg
Respected Contributor

Re: How to get the best out of AEST

10,000 alignment faults per second generated
by one process (95%) is a non-issue.

Eliminating all the faults will unlikely
improve performance.

Try using PRF to determine where cycles
are spent. Keep in mind that the emulaotr
is REALLY slow, and most probably time is
spent inside TIE (run time component of
the emulator, emulating the Alpha environment).

Where did you get the kit from?

Before I left HP, I created a new AEST kit which I doubt has seen the light of day. It
had several VERY significant performance
improvements. Some application ran 10 times faster. Somethings are still slow, floating
point calculation is about 100 times slower.

fwiw,

Guy Peleg
Maklee Engineering
http://www.maklee.com
Mario Dhaenens
Frequent Advisor

Re: How to get the best out of AEST

Thank you Guy,

I got the kit from HP Belgium.
I will contact them to find out if your performance improvements were included.

Guy Peleg
Respected Contributor
Solution

Re: How to get the best out of AEST

Please contact me offline at:

guy.peleg@REMOVE_THIS_!!!maklee.com

Regards,

Guy Peleg
Maklee Engineering
http://www.maklee.com

Re: How to get the best out of AEST

I see the image [VEC6.SPP.VCOM_3_9_2.AXP]VCOMSHR.EXE

Are you using this product VCOM for OpenVMS ?

http://techserv.nexuspartner.se/vcom/vcom_open_vms/vvms.html

Note: From the 1st of December 2008 VCOM/VMS on Itanium will require 8.3-1h1 or later of OpenVMS



My experience with AEST,

http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1231159424369+28353475&threadId=1280871


Guy, your information about the new AEST kit sounds interesting.