-
公开(公告)号:US20210026825A1
公开(公告)日:2021-01-28
申请号:US16931219
申请日:2020-07-16
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Richard P. SPILLANE , Robert T. JOHNSON , Srinath PREMACHANDRAN , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Sandeep RANGASWAMY
Abstract: Embodiments described herein are related to a method of scanning a B-tree. For example, a method comprises receiving a scan request to scan a B-tree having a plurality of levels, each level comprising one or more nodes, wherein for each of one or more levels of the plurality of levels, nodes are grouped into groups, where nodes of any given group are stored across sequential disk blocks. The method further comprises generating a queue for each level of the B-tree. For each queue, the method further comprises loading into memory a next group of nodes based upon determining a storage location of a node of the next group of nodes.
-
2.
公开(公告)号:US20190294716A1
公开(公告)日:2019-09-26
申请号:US15927016
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
IPC: G06F17/30
Abstract: Exemplary methods, apparatuses, and systems include a file system process reading a first node in a tree data structure from a first memory. The first node includes a first approximate membership query data structure (“AMQ”), a first plurality of child pointers, a first plurality of pivot values, and a first buffer. The file system process determines that the first plurality of child pointers exceeds a maximum size. Using a pivot value in the first plurality of pivot values, the file system process splits the first node into a second node and a third node. The file system process uses the pivot value to split the first buffer into a second buffer and a third buffer. Using the pivot value and the first AMQ, the file system process generates a second AMQ and a third AMQ.
-
公开(公告)号:US20200233801A1
公开(公告)日:2020-07-23
申请号:US16252488
申请日:2019-01-18
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Robert T. JOHNSON , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Srinath PREMACHANDRAN
IPC: G06F12/0804 , G06F16/22 , G06F16/2455 , G06F7/16
Abstract: Certain aspects provide systems and methods for performing an operation on a Bε-tree. A method comprises writing a message associated with the operation to a first slot in a first buffer of a first non-leaf node of the Bε-tree in an append-only manner, wherein a first filter associated with the first slot is used for query operations associated with the first slot. The method further comprises determining that the first buffer is full and, upon determining to flush the message to a non-leaf child node, flushing the message in an append-only manner to a second slot in a second buffer of the non-leaf child node, wherein a second filter associated with the second slot is used for query operations associated with the second slot. The method further comprises, upon determining to flush the message to a leaf node, flushing the message to the leaf node in a sorted manner.
-
公开(公告)号:US20190294709A1
公开(公告)日:2019-09-26
申请号:US15927019
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
IPC: G06F17/30
Abstract: Exemplary methods, apparatuses, and systems include a file system process inserting a first key/value pair and a second key/value pair into a first tree. The second key is a duplicate of the first key and the value of the second key/value pair is an operation changing the value. In response to a request for a range of key/value pairs, the process reads the second key/value pair and inserts it in a second tree. The process reads the first pair and determines, while inserting the first pair in the second tree, that the second key is a duplicate of the first key. The file system process determines an updated value of the first value by applying the operation in the second value to first value. The file system operation updates the second key/value pair in the second tree with the updated value and returns the requested range of key/value pairs.
-
公开(公告)号:US20190294715A1
公开(公告)日:2019-09-26
申请号:US15927030
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
Abstract: Exemplary methods, apparatuses, and systems include a file system process obtaining locks on a first node and a second node in a tree structure, with the second node being a child node of the first node. The file system process determines a quantity of child nodes of the second. While holding the locks on the first and second nodes, the file system determines whether to proactively split or merge the second node. In response to determining that the quantity of child nodes is within a first range, the file system process splits the second node. If the file system process determines that the quantity of child nodes is within a second range, the file system process merges the second node.
-
公开(公告)号:US20190080107A1
公开(公告)日:2019-03-14
申请号:US15703706
申请日:2017-09-13
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rick SPILLANE , Kapil CHOWKSEY , Rob JOHNSON , Wenguang WANG
Abstract: Embodiments of the present disclosure relate to techniques for performing a merge update for a database. In particular, certain embodiments of a method include generating a message comprising a first key and a first transaction associated with the first key, the first transaction indicating a transaction to perform other than for key-value pairs comprising the first key. The method further includes storing the message in a database. The method further includes merging the message with a first key-value pair stored in the database, the first-key value pair comprising the first key. The method further includes performing the first transaction based on merging the message with the first key-value pair.
-
公开(公告)号:US20200293506A1
公开(公告)日:2020-09-17
申请号:US16353535
申请日:2019-03-14
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Robert T. JOHNSON , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Srinath PREMACHANDRAN , Kapil CHOWKSEY
IPC: G06F16/22 , G06F16/2455 , G06F7/08
Abstract: Embodiments described herein are related to bulk loading data into a B-tree. Embodiments include generating a first leaf node of a B-tree by allocating a first page for the first leaf node from a leaf page queue comprising a first plurality of sequential pages; and writing one or more tuples to the first page allocated for the first leaf node. Embodiments further include generating an parent node for the first leaf node and a second leaf node of the B-tree by allocating a third page for the parent node from an parent page queue comprising a second plurality of sequential pages, the parent node comprising a first indication of the first leaf node and a second indication of the second leaf node, the first indication and the second indication stored in the third page allocated for the parent.
-
公开(公告)号:US20190311047A1
公开(公告)日:2019-10-10
申请号:US15947072
申请日:2018-04-06
Applicant: VMware, Inc.
Inventor: Jorge GUERRA DELGADO , Richard P. SPILLANE , Kapil CHOWKSEY , Sandeep RANGASWAMY , Abhishek GUPTA , Srinath PREMACHANDRAN
Abstract: Embodiments described herein involve improved management of snapshots of a file system. Embodiments include copying a first root node of a first snapshot to a second snapshot, the second snapshot referencing other nodes of the first snapshot. Embodiments further include incrementing reference counts of the other nodes of the first snapshot. Embodiments further include adding a storage address of the first root node to a list. Embodiments further include, each time that a copy on write operation is performed for a node of the other nodes, adding a storage address of the node to the list and decrementing the reference count of the node. Embodiments further include iterating through the list and, for each storage address in the list, decrementing the reference count of the node corresponding to the storage address and, if the reference count of the node reaches zero, freeing storage space at the storage address.
-
公开(公告)号:US20190294710A1
公开(公告)日:2019-09-26
申请号:US15927025
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek GUPTA , Rob T. JOHNSON , Srinath PREMACHANDRAN , Richard P. SPILLANE , Sandeep RANGASWAMY , Jorge GUERRA DELGADO , Kapil CHOWKSEY , Wenguang WANG
Abstract: Exemplary methods, apparatuses, and systems include a file system process determining to a flush a node in a first tree. The first node includes a buffer structured as a second tree. The file system process generates an input/output instruction to load the buffer from a first memory to a second memory. The second tree is stored in two more non-contiguous locations in the first memory and the input/output operation includes a read operation corresponding to each of the two or more non-contiguous locations. The file system process causes the input/output instruction to be executed concurrently on the first memory.
-
-
-
-
-
-
-
-