-
公开(公告)号:US11748002B2
公开(公告)日:2023-09-05
申请号:US17347491
申请日:2021-06-14
Applicant: VMware, Inc.
Inventor: Aditya Kotwal , Venkata Ramanan , Sandeep Rangaswamy , Brian Caulfield
CPC classification number: G06F3/0631 , G06F3/064 , G06F3/0604 , G06F3/0659 , G06F9/5016
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for executing concurrent writes to a data store. One of the systems includes a data store comprising a plurality of storage segments, wherein each storage segment comprises a plurality of blocks; and an allocator system comprising: a plurality of threads, and a plurality of bitmaps each corresponding to a respective storage segment of the data store, wherein the allocator system is configured to perform operations comprising: assigning a respective bitmap to each thread of the plurality of threads; and executing, by each thread of the plurality of threads, one or more write requests to one or more blocks of the storage segment corresponding to the thread using the bitmap assigned to the thread, wherein executing a write request by a thread includes updating the bitmap assigned to the thread.
-
22.
公开(公告)号:US11720568B2
公开(公告)日:2023-08-08
申请号: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: G06F16/17 , G06F16/2455 , G06F16/22 , G06F16/2453
CPC classification number: G06F16/24553 , G06F16/17 , G06F16/2246 , G06F16/24534
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.
-
公开(公告)号:US11354288B2
公开(公告)日:2022-06-07
申请号: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
IPC: G06F16/22 , G06F3/06 , G06F16/17 , G06F16/2453
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.
-
公开(公告)号:US11048678B2
公开(公告)日:2021-06-29
申请号: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 , G06F7/08 , G06F16/2455
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.
-
公开(公告)号:US11003555B2
公开(公告)日:2021-05-11
申请号:US15844539
申请日:2017-12-16
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Jorge Guerra Delgado , Kapil Chowksey , Sandeep Rangaswamy , Srinath Premachandran
Abstract: The subject matter described herein is generally directed towards tracking and recovering a disk allocation state. An on-disk log of operations is maintained to describe operations performed to an in-memory partial reference count map. Upon a crash of a host computing device during a checkpoint operation to an on-disk complete reference count map, the on-disk log of operations is used to undo and then redo the operations, or just redo the operations. In this manner, a disk allocation state prior to the crash is recreated in the on-disk complete reference count map with atomicity and crash consistency.
-
公开(公告)号:US10997144B2
公开(公告)日:2021-05-04
申请号:US16029463
申请日:2018-07-06
Applicant: VMware, Inc.
Inventor: Robert T Johnson , Ittai Abraham , Abhishek Gupta , Richard P Spillane , Sandeep Rangaswamy , Jorge Guerra Delgado , Srinath Premachandran , Kapil Chowksey
Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. After a time, packets in the uncompacted portion of a buffer are combined into compacted packets in the compacted portion of the buffer. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.
-
公开(公告)号:US20200012735A1
公开(公告)日:2020-01-09
申请号:US16029463
申请日:2018-07-06
Applicant: VMware, Inc.
Inventor: Robert T Johnson , Ittai Abraham , Abhishek Gupta , Richard P Spillane , Sandeep Rangaswamy , Jorge Guerra Delgado , Srinath Premachandran , Kapil Chowksey
IPC: G06F17/30
Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. After a time, packets in the uncompacted portion of a buffer are combined into compacted packets in the compacted portion of the buffer. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.
-
-
-
-
-
-