Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "GSI Operating Software – Migration OpenVMS to Linux Ralf Huhmann PCaPAC 2008 October 20, 2008."— Presentation transcript:

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

2 October 20, 2008 2 Migration OpenVMS to Linux  Motivation  Present Situation  Migration Aims  Details of Porting  Conclusions

3 October 20, 2008 3 GSI Accelerator Facilities

4 October 20, 2008 4 GSI Accelerator Facilities + FAIR To be integrated into FAIR controls Java based Software Architecture for FAIR controls

5 October 20, 2008 5 Migration OpenVMS to Linux  Motivation  Present Situation  Migration Aims  Details of Porting  Conclusions

6 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 Situation

7 October 20, 2008 7 GSI Main Control Room Operating Software on VMS/X11 Migration to Linux  to enable integration into FAIR controls  to protect investment (source code)

8 October 20, 2008 8 VMS based Application Software DEC-Fortran Applications Control- Units SMG Device- Access Oracle DB VMS-System-API GSI-APIs X11/Motif GSI-APIs

9 October 20, 2008 9 Migration OpenVMS to Linux  Motivation  Present Situation  Migration Aims  Details of Porting  Conclusions

10 October 20, 2008 10 Future Design of FAIR Controls Future Design of FAIR Controls  Java Software Architecture (JSE, J2EE, Spring)  New User Interface  New generic data supply mechanisms (LSA)  New Device Interfaces (FESA, CMW) ...

11 October 20, 2008 11 Migration Aims  Integration to FAIR Controls (Java Environment)  Native Unix/Linux Run-Time Environment  Porting of current VMS-Applications with minimal source-modification

12 October 20, 2008 12 Migration OpenVMS to Linux  Motivation  Present Situation  Migration Aims  Details of Porting  Conclusions

13 October 20, 2008 13 Details of Porting  DEC-Fortran Extensions  VMS System API  X11 / Motif  GSI specific APIs  Connectivity to new Java Applications

14 October 20, 2008 14 DEC Fortran77 Extensions  Type definitions: STRUCTURE  built-in-functions: %LOC(), %REF(), %VAL()  Compiler Directives: cDEC ... Covered either by  Intel Fortran Compiler or  to be replaced by suitable Fortran90 constructs

15 October 20, 2008 15 Details of Porting  DEC-Fortran Extensions  VMS System API  X11 / Motif  GSI specific APIs  Connectivity to new Java Applications

16 October 20, 2008 16 VMS-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 ...

17 October 20, 2008 17 “VMS-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,... SYSV POSIX ix vx libc Subset of VMS-API implemented by an emulation library

18 October 20, 2008 18 Details of Porting  DEC-Fortran Extensions  VMS System API  X11 / Motif  GSI specific APIs  Connectivity to new Java Applications

19 October 20, 2008 19 X11 / 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

20 October 20, 2008 20 Example: Motif-Program on VMS/X11/DECwindows

21 October 20, 2008 21 Done with minor code changes Same Program on Linux/X11/KDE

22 October 20, 2008 22 Details of Porting  DEC-Fortran Extensions  VMS System API  X11 / Motif  GSI specific APIs  Connectivity to new Java Applications

23 October 20, 2008 23 GSI 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

24 October 20, 2008 24 IPC Architecture (VMS) Ethernet VMS Host 1 VMS Host 2 App2 App1 App3 Communication- Server IPC-API VMS-Mailbox App5 App4 App6 Communication- Server

25 October 20, 2008 25 IPC by TCP/IP peer-to-peer network App1App4App5App2App3 TCP/IP Linux Host 1 Linux Host 2 Registration-Service (Broker) to map Process-Name to Host/Port

26 October 20, 2008 26 IPC by TCP/IP peer-to-peer  Same API  Peer-to-peer network through TCP/IP sockets, addressed by host:port  Registration service (name service, broker) for mapping application-name to TCP/IP host/port information

27 October 20, 2008 27 IPC Registration Service (Broker)

28 October 20, 2008 28 GSI 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

29 October 20, 2008 29 Details of Porting  DEC-Fortran Extensions  VMS System API  X11 / Motif  GSI specific APIs  Connectivity to new Java Applications

30 October 20, 2008 30 Connectivity 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)

31 October 20, 2008 31 UV-Client Java 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

32 October 20, 2008 32 Example: Browser as UV-Java Client Generic Browser:  Java Application  Value Tree  Finds application by name service lookup

33 October 20, 2008 33 Example: Browser as UV-Java Client

34 October 20, 2008 34 UV-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

35 October 20, 2008 35 Details of Porting  DEC-Fortran Extensions  VMS System API  X11 / Motif  GSI specific APIs  Connectivity to new Java Applications

36 October 20, 2008 36 Migration OpenVMS to Linux  Motivation  Present Situation  Migration Aims  Details of Porting  Conclusions

37 October 20, 2008 37 Conclusions 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

38 October 20, 2008 38 Thank you!

39 October 20, 2008 39 GSI Operating Software – Migration OpenVMS to Linux GSI Operating Software – Migration OpenVMS to Linux FINE


Download ppt "GSI Operating Software – Migration OpenVMS to Linux Ralf Huhmann PCaPAC 2008 October 20, 2008."

Similar presentations


Ads by Google