HP 3000 Manuals

Designed for Performance [ General Information Manual ] MPE/iX 5.0 Documentation


General Information Manual

Designed for Performance 

The HP 3000 is optimized for interactive, I/O-intensive, online
transaction processing.  It balances interactive and batch processing in
a way that guarantees efficient, user-controllable scheduling of
processes.  A process is a single execution of a program, whether
interactive or batch.  Virtual memory management, mapped files, and
multiprocessing greatly improve performance and data availability.

Virtual memory management 

Virtual memory management automatically maps all program and data files
into virtual memory, which is many times greater than real memory.  By
swapping portions of code and data from disk into and out of main memory,
virtual memory management allows programmers to create programs and to
access data files that are too large to be kept in main memory.  This
capability makes programming easier, since programmers need not be
concerned with segmenting and swapping code and data.

Demand-paged virtual memory 
The HP 3000 provides one of the largest address spaces in the industry;
this provides the following benefits:

   *   Applications that are much larger than available main or secondary
       memory and very large applications can execute concurrently
       without virtual memory constraints.
   *   Programmer productivity improves because programmers do not have
       to segment their programs or use extra data segments.
   *   System performance is enhanced because the CPU does not have the
       overhead caused by program or data segmentation.
   *   The virtual addressing capabilities can meet addressing
       requirements into the next century.

The term virtual memory refers to the fact that the available memory
space appears to be many times larger than the actual amount of main or
even disk memory.  The HP 3000 provides this capability to an
extraordinary degree by taking advantage of PA-RISC's extremely large
addressing potential.

The HP 3000 900 Series provides virtual addressing that consists of up to
4 billion 2-gigabyte spaces.  Most 32-bit architectures in the industry
support up to 32-bit virtual addressing, which is equivalent to only one
900 Series space.  Far more addressability is provided on PA-RISC
systems, with the number of spaces dependent on the processor model.  The
Series 948, 958, and 980 processors support 64-bit addresses or 4 billion
times the addressability of typical 32-bit computers.  All the other
PA-RISC systems support 48-bit addressing, or over 65,000 2-gigabyte
spaces.

All open files on the system are encompassed in virtual address space,
which is managed transparently from the programmer's point of view.

[FFN22]
Figure 3-1. The HP 3000's Extremely Large Virtual Address Space Every virtual space is subdivided into fixed-size blocks called pages. The operating system ensures that a page can hold either code or data, but not a combination of both. Since active code pages are nonmodifiable, multiple users are able to share a single copy of a program's code. Code and data pages are automatically fetched on demand from disk to main memory as required by the process. While pages needed for one process are being obtained from disk, execution of other processes continues. The HP 3000 typically fetches pages from disk in groups so that not only the specific page required is obtained, but also those around it. This reduces the number of disk accesses because the processor is most likely to require pages that are located close to one another. Frequently used pages remain in memory for fast access, while rarely used pages remain on disk until needed. The HP 3000 allows a program's predeclared data structures to be up to 1 gigabyte. Access to multiple 2-gigabyte data areas is provided through mapped files. Very large files can be supported on the HP 3000 without performance overhead. HP 3000 mapped files CPU and memory speeds are improving more rapidly than disk access speeds, and memory costs are constantly moving down. Consequently, increasing memory size and using main memory as a buffer for disk is an important way to increase performance for I/O-intensive applications. The HP 3000 operating system employs a very sophisticated technique for performing file access. This technique, referred to as mapped files, is an improved disk caching capability. The mapped files technique significantly improves I/O performance by reducing the number of physical I/Os without imposing additional CPU overhead or sacrificing data integrity and protection. This technique also eliminates file system buffering and optimizes global memory management of the system. Mapped files are based on the operating system's demand-paged virtual memory and are made possible by the extremely large amount of virtual space on the system. When a file is opened, it is logically "mapped" into the virtual space. In other words, all files on the system and their contents are referenced by virtual addresses. Every byte of each opened file has a unique virtual address. File access performance is improved significantly when the code and data required for processing can be found in memory. File access performance is enhanced because memory access is 10 to 100 times faster than performing physical disk I/O operations. Tradition disk caching reduces costly disk reads by using main memory for code and data. Mapped files and virtual memory management further improve performance by caching writes. Once a virtual page is read into memory, it can be read by multiple users without additional I/O overhead. If it is a data page, it can be read and written to in memory without physically writing it to disk. When the data is already in memory, locking delays are greatly reduced, which increases throughput. Finally, when the memory manager does write a page back to disk, it combines multiple pages into a single write, again reducing multiple physical I/Os.
[FFN23]
Figure 3-2. The HP 3000's Mapped Files Traditional disk caching schemes impose a CPU overhead penalty. The HP 3000 operating system takes advantage of the PA-RISC hardware's automatic address translation so that the benefits of increased I/O performance are attained without incurring this penalty. The virtual-to-physical address translations to locate portions of the mapped-in files are performed by the system hardware, so that operating system overhead is virtually eliminated. In addition, the mapped file technique eliminates file system buffering. In traditional operating systems, data is copied from disk into a file system buffer in memory; from there the data is moved into the user's area in memory. Since the 900 Series' memory manager fetches data directly into the user's area, the need for file system buffering is eliminated. The benefits of this are two-fold: System performance is increased by the elimination of unnecessary data movement within memory, and the use of memory space is optimized. Multiprocessing The HP 3000 900 Series supports fully symmetric multiprocessing (MP). Multiprocessing is where the operating system transparently distributes the system workload over multiple CPUs to process in parallel, thus increasing overall system throughput. Multiprocessing provides additional capacity for online, mixed online/batch, and multibatch application environments. It is completely transparent to end users, applications, and system administrators. The HP 3000 operating system has been designed for optimal performance in MP configurations. Since MPE/XL is fully symmetric, virtually any process can be run on any CPU in an MP system. In contrast to other multiprocessor operating systems, which have less flexibility and thus lower performance, some processes can often run only on one designated CPU. The HP 3000 multiprocessing approach is based on a fine-grained design, optimized for OLTP types of applications. Fine-grained refers to the locking scheme necessary to ensure data integrity of shared data structures. Because the CPUs compete for the same data, it is necessary to provide locks on sections of data such that only one CPU at a time is allowed access to a section of data. A fine-grained locking scheme provides many locks on very small sections of data for very short durations of time, thus minimizing the instances where a processor is not performing useful work because it is waiting for access to a data structure. The HP 3000 multiprocessor systems take advantage of the parallel I/O paths provided in hardware and software, ensuring delivery of maximum performance using system-level parallelism. Other multiprocessor architectures may provide parallelism at the CPU level, but may then bottleneck on a single path through the software I/O system. Multiprocessing technology also delivers benefits in higher system availability and load balancing. In an MP configuration, if one CPU fails, the operating system notes the failure upon reboot, deconfigures the failed processor, and continues normal boot and operation. Load balancing among the multiple CPUs is transparently managed by the operating system, ensuring the maximum efficiency of available processing capacity.


MPE/iX 5.0 Documentation