Reflections on MDF
Two points I will make from the perspective of a developer of Amdahl’s Multiple Domain Facility (MDF), perhaps one of the firsts ;-) “hardware-assisted” virtualization platforms;
- MDF began as an offshoot of a strategy for minimizing the lead time required for Amdahl to respond to changes IBM was making in their mainframe architecture of that era, i.e. S370 and beyond. These changes included hardware that provided microcode underlying S370 architecture. It was observed that these underlying hardware structures could be used to offer an efficient hardware-based virtualization platform that became MDF. IBM promptly followed suit with offerings providing logical partitions or LPARs. An interesting side story is that we didn’t have many engineering models to develop and test our MDF code on. Consequently, another team inside Amdahl developed a simulator that simulated the modified S370 architecture and it was actually based on IBM’s VM/370. This simulator was vital for developing our MDF code on.
- Inside IBM 370 mainframes were a set of high-level instructions that assisted the execution of operating systems, including MVS and VSE, when executed under VM/370. These instructions reduced the overhead associated with paging and I/O of the “guest” operating system when executed under VM. The nature of these instructions is comparable to techniques Intel and AMD provided years later in their products. Performance improvements associated with these instructions (VMA, PMA, …) were dramatic. There is a certain feeling of déjà vu watching virtualization unfold in the Intel world.