Distributed Systems • Software Engineering • Perl • Python • C • Linux • Software Development • Scalability • Git • Debugging • File Systems • C++ • Computer Science • X86 Assembly
Languages
English • Japanese
Industries
Computer Software
Us Patents
Enhanced Locking Mechanism For B+ Tree Data Structures
- Palo Alto CA, US Wenguang WANG - Santa Clara CA, US Eric KNAUFT - Palo Alto CA, US
International Classification:
G06F 16/22 G06F 16/23 G06F 16/2455 G06F 16/28
Abstract:
A method for modifying key-value pairs of a B+ tree is provided. The method receives a request to modify a particular key-value pair. Each node of the tree has a modification number. The method traverses a path on the tree from the root node toward the particular node. The traversing includes upon reaching a parent node of the path, acquiring a shared lock on both the parent node and a child node one level below the parent node. Upon determining that the child node is the particular node, the method stores the modification number of the particular node, releases the shared lock on the particular node, compares a current modification number of the node with its stored number, and acquires an exclusive lock on the node if the numbers are the same. The method increments the current modification number of the node and modifies it while in the exclusive lock.
Drr-Based Two Stages Io Scheduling Algorithm For Storage System With Dynamic Bandwidth Regulation
- Palo Alto CA, US Eric Shannon KNAUFT - San Francisco CA, US Pascal RENAULD - Palo Alto CA, US Yiqi XU - Mountain View CA, US
Assignee:
VMware, Inc. - Palo Alto CA
International Classification:
G06F 9/50 G06F 9/48
Abstract:
An efficient scheduling of IOs in a computing system using dynamic bandwidth regulation includes building up a shared regulator to limit the total IOPS scheduling among all IO classes at any given time. Reserved regulators may be used to place limits on the IOPS scheduled for a particular IO class at any given time. An outstanding IO window may also limit the overall number of outstanding IOs, and/or the bytes of outstanding IOs at any particular time. A first stage of IO scheduling may involve enforcing the reserved regulators to limit the IOPS scheduled for particular IO classes. A second stage of IO scheduling may involve enforcing the shared regulator to limit the total IOPS scheduled for all IO classes.
Storing Data In A Log-Structured Format In A Two-Tier Storage System
- Palo Alto CA, US Long YANG - Fremont CA, US Maxime AUSTRUY - Pully, CH Matthew B. AMDUR - Cambridge MA, US Eric KNAUFT - San Francisco CA, US
International Classification:
G06F 12/0804 G06F 16/22 G06F 12/1009
Abstract:
The disclosure herein describes storing data using a capacity data storage tier and a smaller performance data storage tier. The capacity data storage tier includes capacity data storage hardware configured to store log-structured leaf pages (LLPs), and the performance data storage tier includes performance data storage hardware. A virtual address table (VAT) includes a set of virtual address entries referencing the LLPs. A tree-structured index includes index nodes referencing the set of virtual address entries of the VAT. Data to be stored is received, and at least a first portion of metadata associated with the received data is stored in the LLPs using the VAT, and at least a second portion of metadata associated with the received data is stored in the performance data storage tier. The architecture reduces space usage of the performance data storage tier.
Performing Resynchronization Jobs In A Distributed Storage System Based On A Parallelism Policy
The disclosure herein describes performing resynchronization (“resync”) jobs in a distributed storage system based on a parallelism policy. A resync job is obtained from a queue and input/output (I/O) resources that will be used during execution of the resync job are identified. Available bandwidth slots of each I/O resource of the identified I/O resources are determined. The parallelism policy is applied to the identified I/O resources and the available bandwidth slots. Based on the application of the parallelism policy, a bottleneck resource of the I/O resources is determined and a parallel I/O value is calculated based on the available bandwidth slots of the bottleneck resource, wherein the parallel I/O value indicates a quantity of I/O tasks that can be performed in parallel. The resync job is executed using the I/O resources, the execution of the resync job including performance of I/O tasks in parallel based on the parallel I/O value.
Maintaining Durability Of A Data Object Using Unplanned Delta Components During Transient Failures
- Palo Alto CA, US Eric KNAUFT - San Francisco CA, US Enning XIANG - San Jose CA, US Ojan THORNYCROFT - Los Altos CA, US Asit DESAI - Palo Alto CA, US Varun SHAH - Fremont CA, US
International Classification:
G06F 11/20 G06F 3/06
Abstract:
The disclosure herein describes enhancing data durability of a base component of a data object using an unplanned delta component during transient fault unavailability. A base component of a data object becoming unavailable due to a transient fault is detected. A delta component associated with the base component is generated, wherein the delta component includes unwritten storage space with an address space and a tracking bitmap including a plurality of bits associated with data blocks of the address space of the delta component. The stale LSN with which the base component is associated is assigned to the delta component and the delta component is synchronized with an active component of the data object based on the assigned stale LSN. The delta component records write I/O targeted for the base component and, based on detecting the base component becoming available, the base component is synchronized with the delta component.
Upgrading The File System Of Objects In A Distributed Storage System
- Palo Alto CA, US Abhay Kumar JAIN - Cupertino CA, US Wenguang WANG - Santa Clara CA, US Eric KNAUFT - San Francisco CA, US Enning XIANG - San Jose CA, US
International Classification:
G06F 16/11 G06F 16/14 G06F 12/10 G06F 3/06
Abstract:
An example method of upgrading a distributed storage object from a first version to a second version includes: querying metadata of a first component configured according to the first version of the distributed storage object, the metadata defining extents of data on a disk group of the first component; populating, for a second component configured according to the second version of the distributed storage object, logical and middle maps based on the metadata such that initial entries in the logical map point to initial entries in the middle map, and the initial entries in the middle map point to physical addresses of the disk group of the first component; and reading the data from the disk group of the first component and writing the data to a disk group of the second component while updating the initial entries in the middle map.
Efficient Accessing Methods For Bypassing Second Layer Mapping Of Data Blocks In File Systems Of Distributed Data Systems
- Palo Alto CA, US Eric Knauft - Palo Alto CA, US Vamsidhar Gunturu - Cupertino CA, US
Assignee:
VMware, Inc. - Palo Alto CA
International Classification:
G06F 12/10 H03M 13/15
Abstract:
Systems for accessing client data is described. A request to access a first data block is received. The request indicates a first logical address referencing the first data block. First mapping data is employed to identify a first physical addresses corresponding to the first logical addresses. The first mapping data encodes a first LOM transaction ID and candidate local addresses. The first mapping data is employed to identify the candidate local address and the first LOM transaction ID. A usage table is employed to determine the current status of the first LOM transaction ID. The candidate local address is employed to access the first data block. Second mapping data is employed to identify an updated local address of the set of local addresses. The updated local address currently references the first data block. The updated local address is employed to access the first data block.
Efficient Erasure-Coded Storage In Distributed Data Systems
Techniques for efficiently storing client data blocks on a distributed-computing system are provided. The system includes a fast performance tier and a large capacity tier. The capacity tier stores the client data blocks in erasure encoded data stripes. The performance tier stores logical map data including an address map indicating a correspondence between logical addresses associated with a first layer of the system and physical addresses associated with a second layer. A method includes receiving a request to include additional client data blocks in the client blocks. The request indicates logical addresses for additional blocks. Corresponding physical addresses for additional block are determined. Each additional block is stored at the physical address. Additional logical map data is stored in the performance tier. Storing the additional logical map data includes updating the address map to indicate the correspondence between the logical addresses and the physical addresses for the additional blocks.
Princeton University 2002 - 2006
Bachelor of Science In Engineering, Bachelors, Computer Science
Chamblee Charter High School
Skills:
Distributed Systems Software Engineering Perl Python C Linux Software Development Scalability Git Debugging File Systems C++ Computer Science X86 Assembly
Languages:
English Japanese
Youtube
Its Your World: Eric Talks About Global Warmi...
Eric Knauft speaks about the science of climate change and answers the...
Duration:
9m 58s
Its Your World: Eric Talks About Carbon Offse...
Eric Kissel describing how to fight global warming and poverty at the ...
Duration:
7m 53s
21st Birthday Skydiving
09-07-2012 Skydive Jacksonville.
Duration:
1m 47s
DSCN1025
Duration:
2m 9s
Its Your World: Molly Talks About ClimateSmar...
Molly from PG&E talks about their green initiatives including the Clim...
Duration:
9m 50s
Its Your World: Thomas Talks About Home Energ...
Thomas talks about how to make energy conservation around your home fu...