b808b1a4c0cfe955a8796243a26a8e91.ppt
- Количество слайдов: 36
GSI Operating Software – Migration Open. VMS to Linux Ralf Huhmann PCa. PAC 2008 October 20, 2008
Migration Open. VMS to Linux § Motivation § Present Situation § Migration Aims § Details of Porting § Conclusions October 20, 2008 2
GSI Accelerator Facilities October 20, 2008 3
GSI Accelerator Facilities + FAIR To be integrated into FAIR controls October 20, 2008 Java based Software Architecture for FAIR controls 4
Migration Open. VMS to Linux § Motivation § Present Situation § Migration Aims § Details of Porting § Conclusions October 20, 2008 5
Present Situation § Hardware: Cluster of DEC-Alphas (Hewlett-Packard) § OS: Open. VMS 8. 3 § Distributed Client-Server Architecture § User-Interface: X 11/Motif-based, Hardware Display and Control Units (Knobs, Key, LED) § Database: Oracle 10 g on Linux-Cluster (migrated from Oracle RDB on Open. VMS) § Code base: DEC-F 77 (F 90, F 95, 2 million lines of code) October 20, 2008 6
GSI Main Control Room Migration to Linux on VMS/X 11 Operating Software § to enable integration into FAIR controls § to protect investment (source code) October 20, 2008 7
VMS based Application Software X 11/Motif GSI-APIs Control. Units SMG DEC-Fortran Applications Device. Access October 20, 2008 Oracle DB GSI-APIs VMS-System-API 8
Migration Open. VMS to Linux § Motivation § Present Situation § Migration Aims § Details of Porting § Conclusions October 20, 2008 9
Migration Aims § Integration to FAIR Controls (Java Environment) § Native Unix/Linux Run-Time Environment § Porting of current VMS-Applications with minimal source-modification October 20, 2008 11
Migration Open. VMS to Linux § Motivation § Present Situation § Migration Aims § Details of Porting § Conclusions October 20, 2008 12
Details of Porting § DEC-Fortran Extensions § VMS System API § X 11 / Motif § GSI specific APIs § Connectivity to new Java Applications October 20, 2008 13
DEC Fortran 77 Extensions § § Type definitions: STRUCTURE built-in-functions: %LOC(), %REF(), %VAL() Compiler Directives: c. DEC. . . Covered either by § Intel Fortran Compiler or § to be replaced by suitable Fortran 90 constructs October 20, 2008 14
Details of Porting § DEC-Fortran Extensions § VMS System API § X 11 / Motif § GSI specific APIs § Connectivity to new Java Applications October 20, 2008 15
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 §. . . October 20, 2008 16
“VMS-API” Architecture on Linux Fortran Interface: Subset of VMS’ SYS$, LIB$, STR$, . . vx libc C Library: Abstraction Layer for Events, Timer, Multiplexed I/O, IPC, SHM, Threads, Logging, . . . ix POSIX SYSV Subset of VMS-API implemented by an emulation library October 20, 2008 17
Details of Porting § DEC-Fortran Extensions § VMS System API § X 11 / Motif § GSI specific APIs § Connectivity to new Java Applications October 20, 2008 18
X 11 / Motif § Porting Fortran-X 11 -Programs using VMS-Fortran-X-lib: Wrapper functions to Linux X 11 Library § Porting Fortran-Motif-Programs using VMS-Motif-Library: Same C-API § But porting software using Motif. Xt. App. Main. Loop()/Xt. App. Add. Input() framework: VMSspecific feature handled in a special GSI-in-house-library October 20, 2008 19
Example: Motif-Program on VMS/X 11/DECwindows October 20, 2008 20
Same Program on Linux/X 11/KDE Done with minor code changes October 20, 2008 21
Details of Porting § DEC-Fortran Extensions § VMS System API § X 11 / Motif § GSI specific APIs § Connectivity to new Java Applications October 20, 2008 22
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 October 20, 2008 23
IPC Architecture (VMS) VMS Host 1 VMS-Mailbox VMS Host 2 IPC-API App 2 App 5 App 3 App 1 App 6 App 4 Communication. Server Ethernet October 20, 2008 24
IPC by TCP/IP peer-to-peer network Linux Host 1 App 2 Linux Host 2 App 4 App 3 App 5 TCP/IP Registration-Service (Broker) to map Process-Name to Host/Port October 20, 2008 25
IPC Registration Service (Broker) October 20, 2008 27
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, PCa. PAC 20. 10. 2008 October 20, 2008 28
Details of Porting § DEC-Fortran Extensions § VMS System API § X 11 / Motif § GSI specific APIs § Connectivity to new Java Applications October 20, 2008 29
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) October 20, 2008 30
UV (Universal Value Architecture) File Properties: - Name - Value - Timestamp -. . UV-Server Fortran Application uv xfer . . . UV-Client Java - Read Tree - Nodes addressed by path TCP/IP October 20, 2008 - Subscribe for Changes - Set Values 31
Example: Browser as UV-Java Client October 20, 2008 33
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 October 20, 2008 34
Details of Porting § DEC-Fortran Extensions § VMS System API § X 11 / Motif § GSI specific APIs § Connectivity to new Java Applications October 20, 2008 35
Migration Open. VMS to Linux § Motivation § Present Situation § Migration Aims § Details of Porting § Conclusions October 20, 2008 36
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 October 20, 2008 37
Thank you! October 20, 2008 38
GSI Operating Software – Migration Open. VMS to Linux FINE October 20, 2008 39


