Abstract:
A system and method provides for failover of guest operating systems in a virtual machine environment. During initialization of a computer executing a virtual machine operating system, a first guest operating system allocates a first memory region within a first domain and notifies a second guest operating system operating in a second domain of the allocated first memory region. Similarly, the second guest operating system allocates a second region of memory within the second domain and notifies the first operating system of the allocated second memory region. In the event of a software failure affecting one of the guest operating systems, the surviving guest operating system assumes the identity of the failed operating system and utilizes data stored within the shared memory region to replay to storage devices to render them consistent.
Abstract:
A system and method provides for failover of guest operating systems in a virtual machine environment. During initialization of a computer executing a virtual machine operating system, a first guest operating system allocates a first memory region within a first domain and notifies a second guest operating system operating in a second domain of the allocated first memory region. Similarly, the second guest operating system allocates a second region of memory within the second domain and notifies the first operating system of the allocated second memory region. In the event of a software failure affecting one of the guest operating systems, the surviving guest operating system assumes the identity of the failed operating system and utilizes data stored within the shared memory region to replay to storage devices to render them consistent.
Abstract:
The disclosed technique uses virtual machines in solving a problem of persistent state for storage protocols. The technique provides for seamless, persistent, storage protocol session state management on a server, for higher availability. A first virtual server is operated in an active role in a host system to serve a client, by using a stateful protocol between the first virtual server and the client. A second, substantially identical virtual server is maintained in a passive role. In response to a predetermined event, the second virtual server takes over for the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol. The method can further include causing the second virtual server to respond to the request before a timeout which is specific to the stateful protocol can occur.
Abstract:
Deduplication of data using a low-latency random read memory (LLRRM) is described herein. Upon receiving a block, if a matching block stored on a disk device is found, the received block is deduplicated by producing an index to the address location of the matching block. In some embodiments, a matching block having a predetermined threshold number of associated indexes that reference the matching block is transferred to LLRRM, the threshold number being one or greater. Associated indexes may be modified to reflect the new address location in LLRRM. Deduplication may be performed using a mapping mechanism containing mappings of deduplicated blocks to matching blocks, the mappings being used for performing read requests. Deduplication described herein may reduce read latency as LLRRM has relatively low latency in performing random read requests relative to disk devices.
Abstract:
Deduplication of data using a low-latency random read memory (LLRRM) is described herein. Upon receiving a block, if a matching block stored on a disk device is found, the received block is deduplicated by producing an index to the address location of the matching block. In some embodiments, a matching block having a predetermined threshold number of associated indexes that reference the matching block is transferred to LLRRM, the threshold number being one or greater. Associated indexes may be modified to reflect the new address location in LLRRM. Deduplication may be performed using a mapping mechanism containing mappings of deduplicated blocks to matching blocks, the mappings being used for performing read requests. Deduplication described herein may reduce read latency as LLRRM has relatively low latency in performing random read requests relative to disk devices.
Abstract:
Deduplication of data on disk devices based on a threshold number (THN) of sequential blocks is described herein, the threshold number being two or greater. Deduplication may be performed when a series of THN or more received blocks (THN series) match a sequence of THN or more stored blocks (THN sequence), whereby a sequence comprises blocks stored on the same track of a disk device. Deduplication may be performed using a block-comparison mechanism comprising metadata entries of stored blocks and a mapping mechanism containing mappings of deduplicated blocks to their matching blocks. The mapping mechanism may be used to perform later read requests received for the deduplicated blocks. The deduplication described herein may reduce the read latency as the number of seeks between tracks may be reduced. Also, when a seek to a different track is performed, the seek time cost is spread over THN or more blocks.
Abstract:
A high-performance device interface (HPDI) provides flexible and high-performance access by applications residing in a Virtual Machine (VM) to high-performance devices. The technique enables VM applications to use a single interface even when multiple device drivers exist, and can pass data efficiently between a VM application and a front-end device driver (a device driver implemented in a VM, such as may be used in a paravirtualization environment). It improves overall performance of a VM by reducing the copying of data during communications between a VM application and a front-end device driver, which reduces processor and memory usage.
Abstract:
Described herein is a flash remapping (FR) layer in a storage operating system for utilizing flash memory as a secondary permanent storage device in a storage system. The FR layer collects particular information (specified by collection parameters) of received access requests for data stored on primary storage devices of the storage system. Based on the collected information and a predetermined access pattern (specified by pattern parameters), the FR layer selects data sets on the primary storage devices to be transferred permanently to flash memory, whereby subsequent access requests to the selected data sets are redirected to flash memory. New parameters may be received by the FR layer (from a user or program) to dynamically reconfigure the functions of the FR layer. The FR layer may be implemented in the operating system without requiring other code of the storage operating system to be modified.
Abstract:
The present invention provides a system and method for fast restart of a guest operating system executing on a virtual machine operating system in a virtual machine environment. During initialization, the guest operating system saves a set of checkpoint information to persistent storage. Upon detection of an error condition during operation, the guest operating system begins a re-initialization procedure in accordance with an illustrative embodiment of the present invention. During the re-initialization procedure, the guest operating system retrieves the checkpoint information and configures itself using the retrieved information. By utilizing the retrieved information, the guest operating system avoids the need to perform lengthy configuration discovery routines, thereby shortening the re-initialization time substantially.
Abstract:
The present invention provides a system and method for fast restart of a guest operating system executing on a virtual machine operating system in a virtual machine environment. During initialization, the guest operating system saves a set of checkpoint information to persistent storage. Upon detection of an error condition during operation, the guest operating system begins a re-initialization procedure in accordance with an illustrative embodiment of the present invention. During the re-initialization procedure, the guest operating system retrieves the checkpoint information and configures itself using the retrieved information. By utilizing the retrieved information, the guest operating system avoids the need to perform lengthy configuration discovery routines, thereby shortening the re-initialization time substantially.