|
|
Getting Started as an MPE/iX Programmer Programmer's Guide: HP 3000 Computer MPE/iX Computer Systems > Chapter 1 OVERVIEWMPE/iX System Performance |
|
MPE/iX provides efficient performance through use of the mapped file technique and concurrent directories described in the following subsections. MPE/iX employs the mapped file technique for performing file access. It is an improved version of the disc caching-capability of MPE V/E. File access efficiency is improved when code and data portions of files required for processing reside in memory. Accessing memory is faster than performing physical disc I/O operations. The mapped file technique eliminates file system buffering and optimizes global system memory management. File mapping is based on MPE/iX demand paged virtual memory, which uses to advantage the large amount of virtual memory on the system. When a file is opened, it is logically mapped into virtual memory. An open file and its contents are referenced by virtual addresses. Each byte of each opened file has a unique virtual address. File mapping improves I/O performance without imposing additional CPU overhead or sacrificing data integrity and protection. Traditional disc caching schemes for increasing I/O performance impose a CPU overhead penalty. The 900 Series hardware and system architecture allow MPE/iX to perform file mapping without incurring this penalty. System hardware performs the virtual to physical address translations for locating portions of the mapped files, thus eliminating CPU overhead for this function. If the required pages are not in memory, the MPE/iX Memory Manager fetches them directly from disc and places them in the user's area in memory. This eliminates File System buffering. Pages are "prefetched" to reduce the amount of physical disc I/O. Prefetching means that the page specified for fetching and the group of pages surrounding it are a fetched all at once. This improves efficiency because the processor is likely to require pages that are located near each other. Two benefits of this are:
MPE/iX file system access intrinsics are built on the mapped file technique. Programs using file access methods supported by MPE file types and intrinsics obtain the benefits of file mapping without requiring changes. You can directly access mapped files when programming in languages with pointers. For example, you can obtain the advantage of File System naming and data protection for accessing array type structures and developing specialized access methods. You can write programs that address files through virtual memory, instead of calling File System intrinsics for disc reading and writing. The file interface provides opening and closing of user mapped files with normal naming and security, but with improved LOAD and STORE speed on file references. On operating systems that have the system directory centralized on one disc, access to directory services for files on any disc on the system requires serial access to the system directory. In other words, they must occur one at a time. At peak usage times, this creates a bottleneck due to physical contention for one disc and logical contention for one directory user. The space for the directory structure is spread across the volume set, not necessarily located on one volume. The locking mechanism allows multiple readers and ensures that the proper locks for specific changes in the directory structure, such as file name insertions and deletions. MPE/iX uses directory entries that are spread across all members of the system volume set to speed up file access and eliminate the physical or logical serialization imposed by a centralized directory. With MPE/iX, each disc in a system volume set has a directory of files located on it. Thus, user requests automatically go through the directories and arrive at the disc containing the requested files without going through a centralized directory. Multiple users can simultaneously access a system directory. On nonsystem volume sets, the directory is restricted to the MASTER volume of the set, so that it is not necessary to mount the entire set at one time. |
|