Abstract:
A method for migration of operations between CPU cores, the method includes: processing, by a source core, one or more tasks and one or more interrupt service routines; accessing a mapping corresponding to a task of the one or more tasks and an interrupt service routine of the one or more interrupt service routines; identifying, based on the mapping, a target core that corresponds to the task and the interrupt service routine; blocking the task from being processed by the source core in response to identifying the target core; in response to identifying the target core, disabling an interrupt corresponding to the interrupt service routine; in response to identifying the target core, assigning the task and the interrupt to the target core; after assigning the interrupt to the target core, enabling the interrupt; and after assigning the task to the target core, processing the task by the target core.
Abstract:
Systems and techniques for performing a data transaction are disclosed that provide data redundancy using two or more cache devices. In some embodiments, a data transaction is received by a storage controller of a storage system from a host system. The storage controller caches data and/or metadata associated with the data transaction to at least two cache devices that are discrete from the storage controller. After caching, the storage controller provides a transaction completion response to the host system from which the transaction was received. In some examples, each of the at least two cache devices includes a storage class memory. In some examples, the storage controller caches metadata to the at least two cache devices and to a controller cache of the storage controller, while data is cached to the at least two cache devices without being cached in the controller cache.
Abstract:
Described herein is a system and method for a scalable crash-consistent snapshot operation. Write requests may be received from an application and a snapshot creation request may further be received. Write requests received before the snapshot creation request may be associated with pre-snapshot tags and write requests received after the snapshot creation request may be associated with post-snapshot tags. Furthermore, in response to the snapshot creation request, logical interfaces may begin to be switched from a pre-snapshot configuration to a post-snapshot configuration. The snapshot may then be created based on the pre-snapshot write requests and the post-snapshot write requests may be suspended until the logical interfaces have switched configuration.
Abstract:
A system and method of managing event tracking includes a tracking registry. The tracking registry includes a memory for storing tracking entries, a tracking entry hierarchy, and a registry interface configured to receive requests from a plurality of modules. The tracking registry opens a tracking entry based on a registry request received from a first module of the plurality of modules, and being associated with a first operation being handled by the first module and including a parent identifier of a parent tracking entry of the tracking entry, updates the tracking entry hierarchy based on the parent identifier, stores the first tracking entry in the memory, and closes the tracking entry based on an entry closing request received from a second module of the plurality of modules and being associated with completion of a second operation being handled by the second module. The second operation performs processing associated with completion of the first operation.
Abstract:
Described herein are systems and methods for storage and deployment of VMs in a virtual server environment. A VM deployment module executing on a server may produce VM container objects representing VMs, a VM container object comprising VM data describing a VM and vdisk configuration data. The VM deployment module may also later produce VMs on a server using the VM container objects. The VM deployment module may do so by producing a vdisk from a VM container object, the vdisk comprising the VM and vdisk configuration data. Rather than configuring the vdisk as typically done to make the vdisk useable to the server, the vdisk configuration data is used to make the vdisk useable and the VM data on the vdisk immediately accessible to the server. As such, the VM data may be immediately read to produce a VM on the server, thus providing rapid deployment of VMs.
Abstract:
Various embodiments are generally directed to techniques for dynamically enrolling storage system administrators into one or more news feeds based on aspects of operation of the one or more storage systems that each storage system administrator oversees. An apparatus includes a processor component of an enrollment server; a selection component of the enrollment server to analyze an aspect of the storage of client data by at least one storage device of a storage system to determine a topic of interest to the operation of the storage system, and to enroll an administration device of the storage system as a recipient of a news feed based on the topic of interest; and a triggering component of the enrollment server to trigger a distribution server to transmit a document associated with the news feed to the administration device in response to the enrollment of the administration device.
Abstract:
A technique preserves efficiency for replication of data between a source node of a source cluster (“source”) and a destination node of a destination cluster (“destination”) of a clustered network. Replication in the clustered network may be effected by leveraging global in-line deduplication at the source to identify and avoid copying duplicate data from the source to the destination. To ensure that the copy of the data on the destination is synchronized with the data received at the source, the source creates a snapshot of the data for use as a baseline copy at the destination. Thereafter, new data received at the source that differs from the baseline snapshot are transmitted and copied to the destination. In addition, the source and destination nodes negotiate to establish a mapping of name-to-data when transferring data (i.e., an extent) between the clusters. Illustratively, the name is an extent key for the extent, such that the negotiated mapping established by the source and destination is based on the extent key associated with the extent.
Abstract:
A technique improves efficiency of a copy-on-write (COW) operation used to create a snapshot and/or clone by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The snapshot/clone may be represented as an independent volume, and embodied as a respective read-only copy (snapshot) or read-write copy (clone) of a parent volume. Volume metadata managed by the volume layer is organized as one or more multi-level dense tree metadata structures, wherein each level of the dense tree includes volume metadata entries for storing the metadata. The volume metadata entries may be organized as metadata pages having associated metadata page keys. Each metadata page is rendered distinct or “unique” from other metadata pages in an extent store layer of the storage I/O stack through the use of a multi-component uniqifier contained in a header of each metadata page. To improve the efficiency of the COW operation, the technique allows the use of reference count operations on the metadata page keys of the “unique” metadata pages so as to allow sharing of the metadata pages individually between the parent volume and the snapshot/clone.
Abstract:
A file system layout apportions an underlying physical volume into one or more virtual volumes of a storage system. The virtual volumes having a file system and one or more files organized as buffer trees, the buffer trees utilizing indirect blocks to point to the data blocks. The indirect block at the level above the data blocks are grouped into compression groups that point to a set of physical volume block number (pvbn) block pointers.
Abstract:
One or more techniques and/or systems are provided for detecting stale data and/or changed data. For example, a bitmap file may be maintained and mapped to an inofile describing various states of files of a file system. The bitmap file may be populated with bitmap records indicating whether files were accessed, modified, or have other states. The bitmap file may efficiently convey information used to determine whether files have not been accessed recently (e.g., stale data) or were recently modified (e.g., changed data) compared to the inofile because the bitmap file may comprise a fraction of the size of the inofile (e.g., a byte of information may be used to represent various states of one or more files). In this way, instead of evaluating a relatively larger inofile, the bitmap file may be evaluated to efficiently identify stale data for deletion or destaging and/or changed data for backup.