HP OpenVMS Alpha Partitioning and Galaxy Guide |
OpenVMS Galaxy Concepts |
|
|
| |
Developing OpenVMS Galaxy Programs
To see the C function prototypes for the services described in these chapters, enter the following command:
$ LIBRARY/EXTRACT=STARLET SYS$LIBRARY:SYS$STARLET_C.TLB/OUTPUT=FILENAMEThen search the output file for the service you want to see.
Locking Programming
Interfaces ![]()
One of the major features of the Galaxy platform is the ability
to share resources across multiple instances of the operating system.
The services described in this chapter provide primitives upon which
a cooperative scheme can be created to synchronize access to shared
resources within a Galaxy.
A Galaxy lock is a combination of a spinlock and a mutex. While attempting to acquire an owned Galaxy lock, the thread spins for a short period. If the lock does not become available during the spin, the thread puts itself into a wait state. This is different from SMP spinlocks in which the system crashes if the spin times out, behavior that is not acceptable in a Galaxy.
Given the nature of Galaxy locks, they reside in shared memory. That shared memory can be allocated either by the user or by the Galaxy locking services. If the user allocates the memory, the locking services track only the location of the locks. If the locking services allocate the memory, it is managed on behalf of the user.
Unlike other monitoring code which is only part of the MON version of execlets, the Galaxy lock monitoring code is always loaded.
There are several routines provided to manipulate Galaxy locks. The routines do not provide anything but the basics when it comes to locking. They are a little richer than the spinlocks used to support SMP, but far less than what the lock manager provides. Galaxy System Services for Lock Programming summarizes the OpenVMS Galaxy system services for lock programming. Syntax for the services in Galaxy System Services for Lock Programming and Galaxy System Services for Events Programming can be found in the HP OpenVMS System Services Reference Manual.
System Events Programming Interfaces ![]()
Applications can register to be notified when certain system
events occur; for example, when an instance joins the Galaxy or
if a CPU joins a configure set. (A configure set is a membership
of processors that are actively owned and controlled by the current
instance.) If events are registered, an application can decide how
to respond when the registered events occur.
Galaxy System Services for Events Programming summarizes the OpenVMS system services available for events programming.
Using SDA in an OpenVMS Galaxy ![]()
This section describes SDA information that is specific to
an OpenVMS Galaxy computing environment.
For more information about using SDA, see the OpenVMS Alpha System Analysis Tools Manual .
Dumping Shared Memory ![]()
When a system
crash occurs in a Galaxy instance, the default behavior of OpenVMS
is to dump the contents of private memory of the failed instance
and the contents of shared memory. In a full dump, every page of both
shared and private memory is dumped; in a selective dump, only those
pages in use at the time of the system crash are dumped.
Dumping of shared memory can be disabled by setting bit 4 of the dynamic SYSGEN parameter DUMPSTYLE. This bit should only be set after consulting your HP support representative, as the resulting system dump may not contain the data required to determine the cause of the system crash.
Definitions of Bits in DUMPSTYLE shows the definitions of all the bits in DUMPSTYLE and their meanings in OpenVMS Alpha. Bits can be combined in any combination.
The default setting for DUMPSTYLE is 0 (an uncompressed full dump, including shared memory, written to the system disk). Unless a value for DUMPSTYLE is specified in MODPARAMS.DAT, AUTOGEN.COM sets DUMPSTYLE to 1 (an uncompressed selective dump, including shared memory, written to the system disk) if there are less than 128 MB of memory on the system, or to 9 (a compressed selective dump, including shared memory, written to the system disk) otherwise.
Summary of SDA Command
Interface Changes or Additions ![]()
SDA Command Enhancements summarizes enhancements
to the System Dump Analyzer to view shared memory and OpenVMS Galaxy
data structures. For more details, see the appropriate commands.
|
|