GSI Operating Software – Migration OpenVMS to Linux

36
GSI Operating Software – GSI Operating Software – Migration OpenVMS to Linux Migration OpenVMS to Linux Ralf Huhmann PCaPAC 2008 October 20, 2008

description

GSI Operating Software – Migration OpenVMS to Linux. Ralf Huhmann PCaPAC 2008 October 20, 2008. Migration OpenVMS to Linux. Motivation Present Situation Migration Aims Details of Porting Conclusions. GSI Accelerator Facilities. Java based Software Architecture for FAIR controls. - PowerPoint PPT Presentation

Transcript of GSI Operating Software – Migration OpenVMS to Linux

Page 1: GSI Operating Software – Migration OpenVMS to Linux

GSI Operating Software – Migration GSI Operating Software – Migration OpenVMS to LinuxOpenVMS to Linux

Ralf Huhmann

PCaPAC 2008

October 20, 2008

Page 2: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 2

Migration OpenVMS to LinuxMigration OpenVMS to Linux

Motivation

Present Situation

Migration Aims

Details of Porting

Conclusions

Page 3: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 3

GSI Accelerator FacilitiesGSI Accelerator Facilities

Page 4: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 4

GSI Accelerator Facilities + FAIRGSI Accelerator Facilities + FAIR

To be integrated

into FAIR controls

Java based

Software

Architecture for

FAIR controls

Page 5: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 5

Migration OpenVMS to LinuxMigration OpenVMS to Linux

Motivation

Present Situation

Migration Aims

Details of Porting

Conclusions

Page 6: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 6

Hardware: Cluster of DEC-Alphas (Hewlett-Packard) OS: OpenVMS 8.3 Distributed Client-Server Architecture User-Interface: X11/Motif-based, Hardware Display and Control Units (Knobs, Key, LED) Database: Oracle 10g on Linux-Cluster (migrated from Oracle RDB on OpenVMS) Code base: DEC-F77 (F90, F95, 2million lines of code)

Present SituationPresent Situation

Page 7: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 7

GSI Main Control RoomGSI Main Control Room

Operating Software on VMS/X11Migration to Linux

to enable integration into FAIR controls

to protect investment (source code)

Page 8: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 8

VMS based Application SoftwareVMS based Application Software

DEC-Fortran Applications

Control-

UnitsSMG

Device-

Access

Oracle

DBVMS-System-API

GSI-APIs

X11/Motif

GSI-APIs

Page 9: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 9

Migration OpenVMS to LinuxMigration OpenVMS to Linux

Motivation

Present Situation

Migration Aims

Details of Porting

Conclusions

Page 10: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 11

Migration AimsMigration Aims

Integration to FAIR Controls (Java Environment)

Native Unix/Linux Run-Time Environment

Porting of current VMS-Applications with minimal source-modification

Page 11: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 12

Migration OpenVMS to LinuxMigration OpenVMS to Linux

Motivation

Present Situation

Migration Aims

Details of Porting

Conclusions

Page 12: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 13

Details of PortingDetails of Porting

DEC-Fortran Extensions

VMS System API

X11 / Motif

GSI specific APIs

Connectivity to new Java Applications

Page 13: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 14

DEC Fortran77 ExtensionsDEC Fortran77 Extensions

Type definitions: STRUCTURE built-in-functions: %LOC(), %REF(), %VAL() Compiler Directives: cDEC ...

Covered either by Intel Fortran Compileror to be replaced by suitable Fortran90 constructs

Page 14: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 15

Details of PortingDetails of Porting

DEC-Fortran Extensions

VMS System API

X11 / Motif

GSI specific APIs

Connectivity to new Java Applications

Page 15: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 16

VMS-System API and -Runtime LibraryVMS-System API and -Runtime Library

Non POSIX System API to support event driven architectures Fortran Utility Libraries Commercial Products: inadequate implementation in detail or lacking support

GSI In-house-library and Tools support Events Timer Global Section Message Compiler ...

Page 16: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 17

““VMS-API” Architecture on LinuxVMS-API” Architecture on Linux

Fortran Interface:

Subset of VMS’

SYS$, LIB$, STR$, ..

C Library: Abstraction Layer for

Events, Timer, Multiplexed I/O,

IPC, SHM, Threads, Logging, ...

SYSVPOSIX

ix

vx

libc

Subset of VMS-API implemented by an emulation library

Page 17: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 18

Details of PortingDetails of Porting

DEC-Fortran Extensions

VMS System API

X11 / Motif

GSI specific APIs

Connectivity to new Java Applications

Page 18: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 19

X11 / MotifX11 / Motif

Porting Fortran-X11-Programs using VMS-Fortran-X-lib: Wrapper functions to Linux X11 Library

Porting Fortran-Motif-Programs using VMS-Motif-Library: Same C-API

But porting software using Motif-XtAppMainLoop()/XtAppAddInput() framework: VMS-specific feature handled in a special GSI-in-house-library

Page 19: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 20

Example: Motif-Program on Example: Motif-Program on VMS/X11/DECwindowsVMS/X11/DECwindows

Page 20: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 21

Done with minor code changes

Same Program on Linux/X11/KDESame Program on Linux/X11/KDE

Page 21: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 22

Details of PortingDetails of Porting

DEC-Fortran Extensions

VMS System API

X11 / Motif

GSI specific APIs

Connectivity to new Java Applications

Page 22: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 23

GSI specific APIsGSI specific APIs

Example: GSI-API for Inter Process Communication

Written in Modula-2 Transfers binary data between programs VMS-Events VMS-Mailboxes Communication Server Raw Ethernet Protocol

Page 23: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 24

IPC Architecture (VMS) IPC Architecture (VMS)

Ethernet

VMS Host 1 VMS Host 2

App2

App1App3

Communication-Server

IPC-API

VMS-Mailbox

App5

App4App6

Communication-Server

Page 24: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 25

IPC by TCP/IP peer-to-peer networkIPC by TCP/IP peer-to-peer network

App1App4 App5App2

App3

TCP/IP

Linux Host 1 Linux Host 2

Registration-Service (Broker) to map Process-Name to Host/Port

Page 25: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 27

IPC Registration Service (Broker)IPC Registration Service (Broker)

Page 26: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 28

GSI specific APIsGSI specific APIs

Another example: device access

Part of our front end renovation project, see

“Integration of a Renovated Networking Middleware into a Running Control System Environment”

by Udo Krause, PCaPAC 20.10.2008

Page 27: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 29

Details of PortingDetails of Porting

DEC-Fortran Extensions

VMS System API

X11 / Motif

GSI specific APIs

Connectivity to new Java Applications

Page 28: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 30

Connectivity to Java ApplicationsConnectivity to Java Applications

Constraints: Minimal source code modification for existing Fortran Applications

Flexible data structures Simple and generic interface to avoid API adaptations

Solution:Universal Value Architecture (UV)

Page 29: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 31

UV-Client

Java

UV (Universal Value Architecture)UV (Universal Value Architecture)

Fortran

Application

uv

xfer

TCP/IP

...

- Read Tree

- Subscribe for Changes- Set Values

File Properties:- Name- Value- Timestamp- ....

UV-Server

- Nodes addressed by path

Page 30: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 33

Example: Browser as UV-Java ClientExample: Browser as UV-Java Client

Page 31: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 34

UV-Java ClientUV-Java Client

A Java Client can survey and modify any set of values presented by the ported VMS software

Values can be handled in a single tree

Tree structure can be changed at run-time

Page 32: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 35

Details of PortingDetails of Porting

DEC-Fortran Extensions

VMS System API

X11 / Motif

GSI specific APIs

Connectivity to new Java Applications

Page 33: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 36

Migration OpenVMS to LinuxMigration OpenVMS to Linux

Motivation

Present Situation

Migration Aims

Details of Porting

Conclusions

Page 34: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 37

Conclusions and OutlookConclusions and Outlook

Proof of concept (minimal source modification, Java integration)

Libraries and Tools build solid basis for migration

Further efforts will be made to integrate into FAIR controls

Page 35: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 38

Thank you!

Page 36: GSI Operating Software – Migration OpenVMS to Linux

October 20, 2008 39

GSI Operating Software – Migration GSI Operating Software – Migration OpenVMS to LinuxOpenVMS to Linux

FINE