摘要:
According to one embodiment, a method comprises scheduling, by a weighted proportional-share scheduler, access of competing flows to a computing service in accordance with respective weights assigned to the competing flows. The method further comprises autonomously determining, by a controller, based at least in part on received performance measurement for the flows, values of the respective weights assigned to the competing flows for achieving respective performance goals desired for the competing flows. When determined by the controller that the values of the respective weights assigned to the competing flows should be changed for achieving the performance goals, the controller communicates the changed values of the respective weights to the weighted proportional-share scheduler.
摘要:
Method and system for performing a namespace operation in a distributed file system. The file system is disposed on a plurality of partition servers, and each partition server controls access to a subset of hierarchically-related, shared storage objects. Each namespace operation involves a namespace object and a target object that are part of the shared storage objects. Namespace operations received at each partition server are serialized. In response to an unlink namespace operation, a reference in the namespace object to the target object is removed, and after removal the target object is modified in accordance with the unlink operation. In response to a link operation, the target object is modified consistent with the link operation. After modification of the target object, a reference to the target object is inserted in the namespace object.
摘要:
According to one embodiment, a method comprises scheduling, by a weighted proportional-share scheduler, access of competing flows to a computing service in accordance with respective weights assigned to the competing flows. The method further comprises autonomously determining, by a controller, based at least in part on received performance measurement for the flows, values of the respective weights assigned to the competing flows for achieving respective performance goals desired for the competing flows. When determined by the controller that the values of the respective weights assigned to the competing flows should be changed for achieving the performance goals, the controller communicates the changed values of the respective weights to the weighted proportional-share scheduler.
摘要:
Snapshots that are consistent across a group of data objects are generated. The snapshots are initiated by a coordinator, which transmits a sequence of commands to each storage node hosting a data object within a group of data objects. The first command prepares a data object for a snapshot. After a data object has been successfully prepared, an acknowledgment is sent to the coordinator. Once all appropriate acknowledgments are received, the coordinator sends a command to confirm that a snapshot has been created for each data object in the respective group. After receiving this confirmation, the coordinator takes action to confirm or record the successful completion of the group-consistent snapshot.
摘要:
Consistent replicas of a data object are created using a replication protocol that includes an opportunistic replication phase followed by a consistent replication phase. During the opportunistic replication phase, dirty regions are selected from the data object included in a primary computer and copied to a data object replica included in a secondary computer according to a selection heuristic. During the consistent replication phase, an immutable image of the data object is created by the primary computer and the remaining dirty regions are copied from the immutable image of the data object to the data object replica to create a consistent replica of the data object.
摘要:
A data model represents semantic information associated with objects stored in a file system. The data model includes a first object identifier, a second object identifier and a relation identifier. The first object identifier identifies a first object stored in the file system. The second object identifier identifies a second object stored in the file system, wherein the second object is related to the first object. The relation identifier identifies a relationship between the first object and the second object.
摘要:
An embodiment of a method of determining a lower bound for a minimum cost of placing data objects onto nodes of a distributed storage system begins with a first step of assigning a placement of a data object to a node and a time interval which meets a benefit criterion. Assignment of the placement of the data object to the node and the time interval comprises assigning the placement of the data object to a node-interval. The method continues with a second step of continuing to assign additional placements of the data object to other node-intervals which each meet the benefit criterion until a performance reaches a performance threshold. The method performs the first and second steps for each of the data objects. The method concludes with a step of calculating a sum of storage costs and creation costs for the placement and the additional placements of the data objects. According to another embodiment, the data object placed in the first and second steps is chosen on a basis of a triplet of the data object, the node, and the interval which meets the benefit criterion.
摘要:
A method of determining data placement for a distributed storage system with a selection of a heuristic class for placing data objects onto nodes of the distributed storage system. The heuristic class meets a performance requirement and provides a replication cost that is within an allowable limit of a minimum replication cost. The method continues with an instantiation of a data placement heuristic selected from a range of data placement heuristics according to the heuristic class. According to one embodiment, the method concludes with the instantiation of the data placement heuristic. According to another embodiment, the method concludes with an evaluation of a placement of the data objects onto the nodes made according to the data placement heuristic. According to another embodiment, the method continues by iteratively performing the selection of the heuristic class, the instantiation of the data placement heuristic, and the evaluation of the data placement heuristic.
摘要:
Method and system for migrating a logical volumes in a distributed file system having multiple partitions servers. Each partition server owns one or more volumes, and each volume including a subset of logically related objects of the file system. In response to a migration request that requests migration of a selected logical volume from a source partition server to the target partition server, an ownership map is updated to indicate the selected logical volume is owned by the target partition server. At the source partition server, forwarding information is stored to reference the target partition server. When the source partition server receives a request for access to the object, the forwarding information is transmitted to the requester.
摘要:
A hypervisor virtual server system, including a plurality of virtual servers, a plurality of virtual disks that are read from and written to by the plurality of virtual servers, a physical disk, an I/O backend coupled with the physical disk and in communication with the plurality of virtual disks, which reads from and writes to the physical disk, a tapping driver in communication with the plurality of virtual servers, which intercepts I/O requests made by any one of said plurality of virtual servers to any one of said plurality of virtual disks, and a virtual data services appliance, in communication with the tapping driver, which receives the intercepted I/O write requests from the tapping driver, and that provides data services based thereon.