Patents by Inventor Alexander Garthwaite
Alexander Garthwaite has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10691341Abstract: One or more embodiments provide techniques for accessing a memory page of a virtual machine for which loading might have been deferred, according to an embodiment of the invention, includes the steps of examining metadata of the memory page and determining that a flag in the metadata for indicating that the contents of the memory page needs to be updated is set, and updating the contents of the memory page.Type: GrantFiled: December 22, 2016Date of Patent: June 23, 2020Assignee: VMware, Inc.Inventors: Yury Baskakov, Alexander Garthwaite, Jesse Pool
-
Patent number: 9639480Abstract: The configuration of a cache is adjusted within a computer system that includes at least one entity that submits a stream of references, each reference corresponding to a location identifier corresponding to data storage locations in a storage system. The reference stream is spatially sampled using reference hashing. Cache utility values are determined for each of a plurality of caching simulations and an optimal configuration is selected based on the results of the simulations.Type: GrantFiled: August 16, 2016Date of Patent: May 2, 2017Assignee: CLOUD PHYSICS, INC.Inventors: Carl A. Waldspurger, Irfan Ahmad, Alexander Garthwaite, Nohhyun Park
-
Publication number: 20170102876Abstract: One or more embodiments provide techniques for accessing a memory page of a virtual machine for which loading might have been deferred, according to an embodiment of the invention, includes the steps of examining metadata of the memory page and determining that a flag in the metadata for indicating that the contents of the memory page needs to be updated is set, and updating the contents of the memory page.Type: ApplicationFiled: December 22, 2016Publication date: April 13, 2017Inventors: Yury BASKAKOV, Alexander GARTHWAITE, Jesse POOL
-
Patent number: 9529728Abstract: Updating contents of certain memory pages in a virtual machine system is deferred until they are needed. Specifically, certain page update operations are deferred until the page is accessed for a load or store operation. Each page within the virtual machine system includes associated metadata, which includes a page signature characterizing the contents of a corresponding page or a reference to a page with canonical contents, and a flag that indicates the page needs to be updated before being accessed. The metadata may also include a flag to indicate that a backing store of the memory page has contents of a known content class. When such a memory page is mapped to a shared page with contents of that known content class, a flag in the metadata to indicate that contents of the memory page needs to be updated is not set.Type: GrantFiled: October 7, 2010Date of Patent: December 27, 2016Assignee: VMware, Inc.Inventors: Yury Baskakov, Alexander Garthwaite, Jesse Pool
-
Publication number: 20160357686Abstract: The configuration of a cache is adjusted within a computer system that includes at least one entity that submits a stream of references, each reference corresponding to a location identifier corresponding to data storage locations in a storage system. The reference stream is spatially sampled using reference hashing. Cache utility values are determined for each of a plurality of caching simulations and an optimal configuration is selected based on the results of the simulations.Type: ApplicationFiled: August 16, 2016Publication date: December 8, 2016Applicant: Cloud Physics, Inc.Inventors: Carl A. WALDSPURGER, Irfan AHMAD, Alexander GARTHWAITE, Nohhyun PARK
-
Publication number: 20160357674Abstract: A cache in a computer system is configured with a plurality of monitoring slices, each comprising a separately addressable partition of the cache. With each monitoring slice is associated a respective sub-range of a hash function, which has a range that includes at least the addressable partitions of the cache that comprise the monitoring slices. For each of a stream of location identifiers submitted by at least one entity, a respective location identifier hash value is computed and used to determine in which, if any, monitoring slice-associated hash function sub-range the location identifier hash value falls. For at least one of the monitoring slices, a frequency value is determined as a function of how many of the location identifier hash values fell into the slice's associated hash function sub-range, and a respective cache utility value is then computed as a function of each monitoring slice's frequency value.Type: ApplicationFiled: June 6, 2016Publication date: December 8, 2016Applicant: Cloud Physics, Inc.Inventors: Carl A. WALDSPURGER, Irfan AHMAD, Alexander GARTHWAITE, Nohhyun PARK, Guang YANG
-
Patent number: 9418020Abstract: Interaction is evaluated between a computer system cache and at least one entity that submits a stream of references corresponding to location identifiers of data storage locations. The reference stream is spatially sampled by comparing a hash value of each reference with a threshold value and selecting only those references whose hash value meets a selection criterion. Cache utility values are then compiled for those references. In some embodiments, the compiled cache values may then be corrected for accuracy as a function of statistics of those location identifiers over the entire stream of references and of the sampled references whose hash values satisfied the selection criterion. Alternatively, a plurality of caching configurations is selected and the selected references are applied as inputs to a plurality of caching simulations, each corresponding to a different caching configuration. A resulting set of cache utility values is then computed for each caching simulation.Type: GrantFiled: January 22, 2016Date of Patent: August 16, 2016Assignee: CLOUD PHYSICS, INC.Inventors: Carl A. Waldspurger, Irfan Ahmad, Alexander Garthwaite, Nohhyun Park
-
Patent number: 9405686Abstract: Cache utility curves are determined for different software entities depending on how frequently their storage access requests lead to cache hits or cache misses. Although possible, not all access requests need be tested, but rather only a sampled subset, determined by whether a hash value of each current storage location identifier (such as an address or block number) meets one or more sampling criteria. The sampling rate is adaptively changed so as to hold the number of location identifiers needed to be stored to compute the cache utility curves to within a set maximum limit.Type: GrantFiled: June 26, 2014Date of Patent: August 2, 2016Assignee: CLOUD PHYSICS, INCInventors: Carl A Waldspurger, Alexander Garthwaite, Nohhyun Park, Irfan Ahmad
-
Publication number: 20160140052Abstract: Interaction is evaluated between a computer system cache and at least one entity that submits a stream of references corresponding to location identifiers of data storage locations. The reference stream is spatially sampled by comparing a hash value of each reference with a threshold value and selecting only those references whose hash value meets a selection criterion. Cache utility values are then compiled for those references. In some embodiments, the compiled cache values may then be corrected for accuracy as a function of statistics of those location identifiers over the entire stream of references and of the sampled references whose hash values satisfied the selection criterion. Alternatively, a plurality of caching configurations is selected and the selected references are applied as inputs to a plurality of caching simulations, each corresponding to a different caching configuration. A resulting set of cache utility values is then computed for each caching simulation.Type: ApplicationFiled: January 22, 2016Publication date: May 19, 2016Applicant: Cloud Physics, Inc.Inventors: Carl A. Waldspurger, Irfan Ahmad, Alexander Garthwaite, Nohhyun Park
-
Publication number: 20140310462Abstract: Cache utility curves are determined for different software entities depending on how frequently their storage access requests lead to cache hits or cache misses. Although possible, not all access requests need be tested, but rather only a sampled subset, determined by whether a hash value of each current storage location identifier (such as an address or block number) meets one or more sampling criteria. The sampling rate is adaptively changed so as to hold the number of location identifiers needed to be stored to compute the cache utility curves to within a set maximum limit.Type: ApplicationFiled: June 26, 2014Publication date: October 16, 2014Applicant: Cloud Physics, Inc.Inventors: Carl A. WALDSPURGER, Alexander GARTHWAITE, Nohhyun PARK, Irfan AHMAD
-
Publication number: 20120089764Abstract: Updating contents of certain memory pages in a virtual machine system is deferred until they are needed. Specifically, certain page update operations are deferred until the page is accessed for a load or store operation. Each page within the virtual machine system includes associated metadata, which includes a page signature characterizing the contents of a corresponding page or a reference to a page with canonical contents, and a flag that indicates the page needs to be updated before being accessed. The metadata may also include a flag to indicate that a backing store of the memory page has contents of a known content class. When such a memory page is mapped to a shared page with contents of that known content class, a flag in the metadata to indicate that contents of the memory page needs to be updated is not set.Type: ApplicationFiled: October 7, 2010Publication date: April 12, 2012Applicant: VMWARE, INC.Inventors: Yury BASKAKOV, Alexander GARTHWAITE, Jesse POOL
-
Patent number: 7882505Abstract: In a multi-processor multi-threaded computer system, resources are dynamically assigned during program operation to either threads or processors in such a manner that resource usage is maximized. In one embodiment, the choice of whether to assign resources to threads or processors is dependent on the number of threads versus the number of processors. In another embodiment, when the system is operating in one assignment mode, the amount of wasted resources is measured and when this measured amount exceeds a predetermined threshold based on the maximum resources that could be wasted were the system operating in the other assignment mode, the assignment is switched to the other assignment mode.Type: GrantFiled: March 25, 2005Date of Patent: February 1, 2011Assignee: Oracle America, Inc.Inventors: Alexander Garthwaite, David Dice, Derek R. White
-
Publication number: 20060218557Abstract: In a multi-processor multi-threaded computer system, resources are dynamically assigned during program operation to either threads or processors in such a manner that resource usage is maximized. In one embodiment, the choice of whether to assign resources to threads or processors is dependent on the number of threads versus the number of processors. In another embodiment, when the system is operating in one assignment mode, the amount of wasted resources is measured and when this measured amount exceeds a predetermined threshold based on the maximum resources that could be wasted were the system operating in the other assignment mode, the assignment is switched to the other assignment mode.Type: ApplicationFiled: March 25, 2005Publication date: September 28, 2006Applicant: Sun Microsystems, Inc.Inventors: Alexander Garthwaite, David Dice, Derek White
-
Publication number: 20060161737Abstract: In some embodiments, a Hat Trick deque requires only a single DCAS for most pushes and pops. The left and right ends do not interfere with each other until there is one or fewer items in the queue, and then a DCAS adjudicates between competing pops. By choosing a granularity greater than a single node, the user can amortize the costs of adding additional storage over multiple push (and pop) operations that employ the added storage. A suitable removal strategy can provide similar amortization advantages. The technique of leaving spare nodes linked in the structure allows an indefinite number of pushes and pops at a given deque end to proceed without the need to invoke memory allocation or reclamation so long as the difference between the number of pushes and the number of pops remains within given bounds. Both garbage collection dependent and explicit reclamation implementations are described.Type: ApplicationFiled: March 20, 2006Publication date: July 20, 2006Inventors: Paul Martin, David Detlefs, Alexander Garthwaite, Guy Steele, Mark Moir