scispace - formally typeset
Search or ask a question
Author

Sahil Rihan

Bio: Sahil Rihan is an academic researcher from VMware. The author has contributed to research in topics: Page attribute table & Page table. The author has an hindex of 7, co-authored 7 publications receiving 376 citations.

Papers
More filters
Patent
Keith Adams1, Sahil Rihan1
27 Mar 2009
TL;DR: In this article, the authors present a method for maintaining a shadow page table in at least partial correspondence with guest page mappings of a guest computation, marking with a traced write indication at least those entries of the shadow page tables that map physical memory locations which themselves encode the guest page mapping.
Abstract: One embodiment of the present invention includes a method for maintaining a shadow page table in at least partial correspondence with guest page mappings of a guest computation. The method marking with a traced write indication at least those entries of the shadow page table that map physical memory locations which themselves encode the guest page mappings, the marking identifying, for a hardware facility, a subset of memory access targets for which updates are to be recorded in a guest write buffer accessible to the virtualization system. Responsive to a coherency-inducing operation of the guest computation, the method reads from the guest write buffer and introduces corresponding updates into the shadow page table.

77 citations

Patent
Keith Adams1, Sahil Rihan1
27 Mar 2009
TL;DR: In this article, the authors present an execution unit of a processor and a memory management unit interposed between the execution unit and an interface to memory suitable for storage of both guest page tables maintained by a guest operating system and shadow page tables generated by virtualization software.
Abstract: Some embodiments of the present invention include an execution unit of a processor and a memory management unit interposed between the execution unit and an interface to memory suitable for storage of both guest page tables maintained by a guest operating system and shadow page tables maintained generally in correspondence with the guest page tables by virtualization software. The memory management unit is configured to walk in-memory data structures that encode the shadow page tables, to access entries of the shadow page tables and, based thereon or on a cached representation of page mappings therein, to perform virtual-to-physical address translations relative to memory targets of instructions executed by the execution unit. The memory management unit is responsive to a shadowed write indication coded in association with either an entry of the shadow page tables or a cached representation of a page mapping therein used to perform the virtual-to-physical address translation for a write-type one of the instructions that targets an entry of one of the guest page tables. The memory management unit is configured to complete the memory access of the write-type instruction that targets the guest page table entry and to store in a buffer, information sufficient to allow the virtualization software to later update an entry of the shadow page tables in correspondence therewith.

67 citations

Patent
21 Apr 2004
TL;DR: In this article, a switching routine is implemented to switch from one operating mode to another and to transfer control from one software entity to another, such as a host operating system and a virtual machine monitor.
Abstract: A processor has multiple operating modes, such as the long/compatibility mode, the long/64-bit mode and the legacy modes of the x86-64 microprocessor. Different software entities execute in different ones of these operating modes. A switching routine is implemented to switch from one operating mode to another and to transfer control from one software entity to another. The software entities may be, for example, a host operating system and a virtual machine monitor. Thus, for example, a virtual computer system may comprise a 64-bit host operating system and a 32-bit virtual machine monitor, executing on an x86-64 microprocessor in long mode and legacy mode, respectively, with the virtual machine monitor supporting an x86 virtual machine. The switching routine may be implemented partially or completely in an identity-mapped memory page. Execution of the switching routine may be initiated by a driver that is installed in the host operating system of a virtual computer system.

67 citations

Patent
30 Jun 2003
TL;DR: In this paper, the authors propose to assign unique shadow ASID for use in corresponding address translations in a hardware look-aside buffer (TLB) to reduce the number of TLB miss faults and improve overall processing efficiency.
Abstract: A virtual computer system including multiple virtual machines (VMs) is implemented in a physical computer system that uses address space identifiers (ASIDs) Each VM includes a virtual translation look-aside buffer (TLB), in which guest software, executing on the VM, may insert address translations, with each translation including an ASID For each ASID used by guest software, a virtual machine monitor (VMM), or other software unit, assigns a unique shadow ASID for use in corresponding address translations in a hardware TLB If a unique shadow ASID is not available for a newly used guest ASID, the VMM reassigns a shadow ASID from a prior guest ASID to the new guest ASID, purging any entries in the hardware TLB corresponding to the prior guest ASID Assigning unique shadow ASIDs limits the need for TLB purges upon switching between the multiple VMs, reducing the number of TLB miss faults, and consequently improving overall processing efficiency

59 citations

Patent
Sahil Rihan1, Pratap Subrahmanyam1
04 Aug 2006
TL;DR: In this paper, a marker or indicator is stored in the shadow page table entries to indicate that a corresponding mapping from the guest virtual address to a guest physical address is not present in the guest page tables.
Abstract: A method and system are provided that does not perform a page walk on the guest page tables if the shadow page table entry corresponding to the guest virtual address for accessing the virtual memory indicates that a corresponding mapping from the guest virtual address to a guest physical address is not present in the guest page tables. A marker or indicator is stored in the shadow page table entries to indicate that a mapping corresponding to the guest virtual address of the shadow page table entry is not present in the guest page table.

49 citations


Cited by
More filters
Patent
30 Dec 2008
TL;DR: In this article, the authors propose a method for detecting a virtual resource hosted by a host device, selecting a configuration template associated with the virtual resource, and providing a provisioning instruction to a virtual switch module hosted by the host device based on the configuration template.
Abstract: In one embodiment, a method includes detecting a virtual resource hosted by a host device, selecting a configuration template associated with the virtual resource, and providing a provisioning instruction to a virtual switch module hosted by the host device based on the configuration template. The host device is operatively coupled to a network device. The detecting is at the network device; the selecting is at the network device; and the providing is at the network device. The virtual switch module is in communication with the virtual resource. The configuration template associated with the virtual resource is selected from a library of configuration templates accessible to the network device.

406 citations

Patent
30 Dec 2008
TL;DR: In this article, the authors propose a method to perform packet classification associated with hairpin routing of a first data packet between a first virtual resource and a second virtual resource that are logically defined at the host device.
Abstract: In one embodiment, a method includes performing, at a host device on a first side of a single-hop link, packet classification associated with hairpin routing of a first data packet between a first virtual resource and a second virtual resource that are logically defined at the host device. The first virtual resource can be different than the second virtual resource. The also includes transmitting a second data packet to a network device on a second side of the single-hop link so that packet classification associated with hairpin routing of the second data packet between at least two virtual resources logically defined at the host device is performed at the network device.

286 citations

Patent
30 Dec 2008
TL;DR: In this article, the authors present a method for sending a provisioning instruction including a device identifier from an external management entity to a network device, associating the device identifier with a virtual resource and sending a portion of the provisioning instructions to the network device.
Abstract: In one embodiment, a method includes receiving a provisioning instruction including a device identifier from an external management entity, receiving the device identifier from a network device, associating the provisioning instruction the network device, and sending a portion of the provisioning instruction to the network device. The device identifier being associated with a virtual resource. The associating is based on the device identifier of the virtual resource and a device identifier of a network device. The portion of the provisioning instruction is sent to the network device based on the associating.

285 citations

Patent
14 Oct 2010
TL;DR: In this paper, the authors present a method for sending a configuration signal to a virtual network switch module within a control plane of a communications network, where the configuration signal is configured to define a first network rule at the VM and status information is received via the control plane.
Abstract: In one embodiment, a method includes sending a configuration signal to a virtual network switch module within a control plane of a communications network. The configuration signal is configured to define a first network rule at the virtual network switch module. The method also includes configuring a packet forwarding module such that the packet forwarding module implements a second network rule, and receiving status information from the virtual network switch module and status information from the packet forwarding module. The status information is received via the control plane.

252 citations

Patent
25 Jan 2013
TL;DR: In this paper, a de-duplication cache is configured to cache data for access by a plurality of different storage clients, such as virtual machines, and metadata pertaining to the contents of the cache may be persisted and/or transferred with respective storage clients.
Abstract: A de-duplication is configured to cache data for access by a plurality of different storage clients, such as virtual machines. A virtual machine may comprise a virtual machine de-duplication module configured to identify data for admission into the de-duplication cache. Data admitted into the de-duplication cache may be accessible by two or more storage clients. Metadata pertaining to the contents of the de-duplication cache may be persisted and/or transferred with respective storage clients such that the storage clients may access the contents of the de-duplication cache after rebooting, being power cycled, and/or being transferred between hosts.

223 citations