OpenVMS Technical Journal V9, January 2007

Order Number: XX-250D3-BE
Volume 9

This OpenVMS Technical Journal V9 from January 2007 features five articles covering critical aspects of the OpenVMS operating system. The topics range from a comparison of HP's backup solutions and in-depth discussions on alignment faults to the concepts and troubleshooting of mailboxes for interprocess communication, and a template for simplifying DCL procedure maintenance.

1. OpenVMS Backup Products: ABS/MDMS and Data Protector Compared This article compares HP's two backup applications for OpenVMS: Archive Backup System/Media and Device Management Services (ABS/MDMS) and Data Protector. It highlights their common purpose of automated, user-friendly backup management, including features like automatic scheduling, data protection, media management, scalability, high-performance capabilities, tape library support, central administration, disk staging, disaster recovery, flexibility, file attribute preservation, and Intel Itanium/Oracle database support. The differences are also detailed, such as Data Protector's agent-based, heterogeneous environment support versus ABS/MDMS's OpenVMS-centric server model and native backup format. The article aims to guide users in selecting the appropriate product based on their environment, operating system landscape, and staffing expertise.

2. Everything you wanted to know about alignment faults This article explains alignment faults, which occur when data is accessed from a memory location that does not have a naturally aligned address. It emphasizes the significant performance degradation caused by these faults: a 3x slowdown on AlphaServer systems and a much more severe hundreds to thousands of times slowdown on Intel Itanium 2 systems due to increased software overhead and spinlock contention. The article demonstrates this impact with a programming example and introduces tools for detecting alignment faults on a running system, including MONITOR ALIGN (for Itanium 2), the FLT extension in SDA, and the Symbolic Debugger, providing examples for their use.

3. Methodologies for Fixing Alignment Faults Building on the previous article, this contribution focuses on practical methods for resolving alignment faults, especially within OpenVMS DECnet on Intel Itanium 2 architecture, where performance impact is critical. It reiterates that alignment faults are a performance issue rather than a correctness one and outlines three standard resolution techniques: aligning the data, instructing the compiler about unaligned data, or copying data to an aligned buffer. Specific techniques implemented for DECnet are discussed, such as structure rearrangement (with padding), utilizing unions, byte-level bit field access, byte-by-byte comparisons for unaligned data, and adjusting fork block placement. Compiler directives and qualifiers like ALIGN(n) for BLISS and Set_registers unaligned/aligned for Macro32 are presented as ways to "teach" the compiler. Performance analysis demonstrates significant improvements (e.g., 35% CPU utilization reduction) after applying these fixes.

4. OpenVMS Mailboxes: Concepts, Implementation, and Troubleshooting This article offers a comprehensive guide to OpenVMS mailboxes, from basic concepts to advanced troubleshooting. Mailboxes are described as pseudo-devices for interprocess communication and synchronization, supporting bi-directional communication with FIFO message queuing and multiple writers/readers. Key implementation details cover mailbox creation using sys$crembx or CREATE/MAILBOX, distinguishing between temporary and permanent mailboxes, setting protections, and configuring read/write-only channels. Mailbox sizing parameters (maximum message size, buffer quota) and their impact on non-paged pool are explained. The article details mailbox operations via sys$qio system services, including various function modifiers for reads and writes, and provides code examples of mailbox writers, readers, and streaming reads. Troubleshooting sections focus on identifying and resolving issues with full mailboxes, such as processes stalling in RWMBX state, by using SDA to locate the offending channel, device, and message queue contents. It also illustrates how to design asynchronous applications using mailboxes for tasks like PC sampling.

5. Simplifying Maintenance with DCL This article introduces a standardized DCL (Digital Command Language) procedure template designed to streamline software application maintenance and problem resolution in OpenVMS production environments. Emphasizing simplicity, consistency, and commenting, the template enforces structured programming practices with a single point of entry and exit, standardized return status values, and a robust error handling routine. It details the template's sections: an initialization section (setting VERIFY for batch jobs, defining standard symbols, and establishing error traps), the procedure body (with guidelines like avoiding internal EXIT statements), a common termination section, a dedicated error trap section for abnormal terminations, and a cancellation section for handling Ctrl^Z or nested procedure abnormal exits. The author explains the rationale behind these design choices, particularly how they prevent error cascading and ensure proper job retention in batch queues.

XX-250D3-BE
December 2007
89 pages
Quality

Original
1.9MB

Site structure and layout ©2025 Majenko Technologies