Flylib.com

Books Software

 
 
 

1.3 Virtual Memory

     

1.3 Virtual Memory

Although some HP servers offer the prospect of very large memory configurations, most servers still operate within the confines of less physical memory than the applications demand. Like most other UNIX flavors, HP-UX employs a virtual memory system that is underpinned by the concept of paging and swapping. In practice, the idea of swapping a process out of memory is too expensive as far as the IO subsystem is concerned . Nowadays most virtual memory systems are paging systems, even though we still talk about swap space. HP-UX utilizes an intelligent and self-regulating paging daemon called vhand that monitors the use of main memory and adjusts its own workload based on memory utilization. An ever-present problem with the memory subsystem is the problem with processes thinking they exist in a world where their address-space is either 32- or 64-bits in size . Processes use a concept known as a Virtual Address Space to map objects, such as code and data into memory. The actual mapping of a Virtual Address to a Physical Address is accomplished by special hardware components including the Translation Lookaside Buffer (TLB) and a special hashed table in the kernel that maps Virtual Addresses to Physical Addresses. This table is colloquially known as the Page Directory. The Virtual Memory system is a demand-paged virtual memory system whereby pages are brought into memory whenever a process references a page that isn't located in memory. The translation of pages of memory (a page is 4KB in size) can be eased somewhat if the processor is used in conjunction with the kernel and the administrator understands the nature of an application. A concept known as Variable Page Sizes or Performance Optimized Page Sizes can be implemented where we are using a PA-RISC 2.0 processor and the applications lend themselves to a large memory footprint. POPS allows the TLB to be loaded with not only a Virtual to Physical Address translation but also the size of the page at that address. If used incorrectly, the kernel can be wasting memory by allocating a range of memory addresses wholly inappropriate to an application. Again, understanding a situation is as important as being able to implement a technical solution.

     

1.4 The IO Subsystem

The PCI IO subsystem has become the prevalent IO interface over the last few years due to its high capacity and industry-wide support. We are starting to see the use of the 64-bit 133MHZ PCI-X interface in our newest servers. On many HP servers running HP-UX 11i and using PCI interface cards, we now have access to a feature known as Online Addition and Replacement (OLA/R). This feature allows us to replace interface cards with the Operating System still running. If the affected card happens to interface with the root disk, replacing it can sometimes be a heart-stopping moment. If we can perform a successful Critical Resource Analysis, we will establish categorically that we have additional resources supporting access to the root disk even if we turn off the primary interface. This discussion encompasses such things a LVM PV Links and VxVM Dynamic Multi-Pathing. The subject areas of Volume Management are highly geared to those two critical concepts: performance and high availability . While on the subject of disks, volumes , filesystems, and devices, we can't forget about the emergence of Fibre Channel as an ever-increasing interface to our disks. Fibre Channel has some key influences in an entire solution as well as some major impacts in simple concepts such as the device file naming convention. We can't go into every intricacy of Fibre Channel here, but what we do discuss are the impacts on device files and how Fibre Channel can affect the implementation of our clustering solutions such as Serviceguard.