Patents by Inventor Hans Boehm
Hans Boehm 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: 10558569Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to control a cache. An example method includes monitoring cache lines in a cache, the cache lines storing recently written data to the cache, the recently written data corresponding to main memory, comparing a total quantity of the cache lines to a threshold that is less than a cache line storage capacity of the cache, and causing a write back of at least one of the cache lines to the main memory when a store event causes the total quantity of the cache lines to satisfy the threshold.Type: GrantFiled: October 31, 2013Date of Patent: February 11, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Hans Boehm, Dhruva Chakrabarti
-
Publication number: 20170192886Abstract: A coherence logic of a first core in a multi-core processor receives a request to send a cache line to a second core in the multi-core processor. In response to receiving the request, the coherence logic determines if the cache line is associated to a logically nonvolatile virtual page mapped to a nonvolatile physical page in a nonvolatile main memory. If so, the coherence logic flushes the cache line from the cache to the nonvolatile main memory and then sends the cache line to the second core.Type: ApplicationFiled: July 31, 2014Publication date: July 6, 2017Inventors: Hans Boehm, Naveen Muralimanohar
-
Patent number: 9535836Abstract: A technique includes performing an update to a location of a non-volatile memory. The update is created by execution of at least one machine executable instruction of a plurality of machine executable instructions. The technique includes using a processor-based machine to selectively track the update to allow recovery of the execution to a given consistency point based at least in part on whether the machine executable instruction(s) creating the update are located within a synchronized section of the plurality of machine executable instructions.Type: GrantFiled: March 13, 2013Date of Patent: January 3, 2017Assignee: Hewlett Packard Enterprise Development LPInventors: Dhruva Chakrabarti, Hans Boehm
-
Publication number: 20160246724Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to control a cache. An example method includes monitoring cache lines in a cache, the cache lines storing recently written data to the cache, the recently written data corresponding to main memory, comparing a total quantity of the cache lines to a threshold that is less than a cache line storage capacity of the cache, and causing a write back of at least one of the cache lines to the main memory when a store event causes the total quantity of the cache lines to satisfy the threshold.Type: ApplicationFiled: October 31, 2013Publication date: August 25, 2016Applicant: Hewlett Packard Enterprise Development LPInventors: Hans Boehm, Dhruva Chakrabarti
-
Publication number: 20160055095Abstract: A method for performing memory operations is provided. One or more processors can determine that at least a portion of data stored in a cache memory of the one or more processors is to be stored in the main memory. One or more ranges of addresses of the main memory is determined that correspond to a plurality of cache lines in the cache memory. A set of cache lines corresponding to addresses in the one or more ranges of addresses is identified, so that data stored in the identified set can be stored in the main memory. For each cache line of the identified set having data that has been modified since that cache line was first loaded to the cache memory or since a previous store operation, data stored in that cache line is caused to be stored in the main memory.Type: ApplicationFiled: March 28, 2013Publication date: February 25, 2016Inventors: Paolo Faraboschi, Hans Boehm, Dhruva Chakrabarti, Naveen Muralimanohar
-
Patent number: 9141359Abstract: A parallel-code optimization system includes a Procedural Concurrency Graph (PCG) generator. The PCG generator produces an initial PCG of a computer program including parallel code, and determines a refined PCG from the initial PCG by applying concurrency-type refinements and interference-type refinements to the initial PCG. The initial PCG and the refined PCG include nodes and edges connecting pairs of the nodes. The nodes represent defined procedures in the parallel code, and each edge represents a may-happen-in-parallel relation, and is associated with a set of lvalues that represents the immediate interference between the corresponding pair of nodes.Type: GrantFiled: December 13, 2010Date of Patent: September 22, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventors: Pramod G. Joisha, Robert Samuel Schreiber, Prithviraj Banerjee, Hans Boehm, Dhruva R. Chakrabarti
-
Patent number: 9002791Abstract: A log entry is created in persistent memory that represents a modification to a variable that resides in persistent memory. A log entry is created in persistent memory that represents a synchronization operation. A program-order based dynamic ordering relationship is created between two successive log entries within an execution entity. A synchronization-order based dynamic ordering relationship is created between two log entries corresponding to synchronization operations in concurrently executing distinct execution entities of said execution instance.Type: GrantFiled: August 28, 2012Date of Patent: April 7, 2015Assignee: Hewlett-Packard Development Company, L. P.Inventors: Dhruva Chakrabarti, Hans Boehm
-
Publication number: 20140247673Abstract: A shiftable memory employs row shifting to shift data along a row. The shiftable memory includes memory cells arranged as a plurality of rows and a plurality of columns. The shiftable memory further includes shift logic to shift data from an output of a first column to an input of a second column. The shifted data is provided by a memory cell of the first column in a selected row. The shifted data is received and stored by a memory cell in the selected row of the second column. The shift logic facilitates shifting data along the selected row.Type: ApplicationFiled: October 28, 2011Publication date: September 4, 2014Inventors: Naveen Muralimanohar, Hans Boehm
-
Patent number: 8813054Abstract: A parallel-code optimization system includes a siloed program reference-identifier and an intermediate representation (IR) updater. The siloed program reference identifier determines siloed program references in parallel code, wherein siloed program references are free of cross-thread interference. The IR updater modifies data-flow abstractions based on the identified siloed program references.Type: GrantFiled: December 13, 2010Date of Patent: August 19, 2014Assignee: Hewlett-Packard Development Company, L. P.Inventors: Pramod G. Joisha, Robert Samuel Schreiber, Prithviraj Banerjee, Hans Boehm, Dhruva R. Chakrabarti
-
Publication number: 20140067761Abstract: A log entry is created in persistent memory that represents a modification to a variable that resides in persistent memory. A log entry is created in persistent memory that represents a synchronization operation. A program-order based dynamic ordering relationship is created between two successive log entries within an execution entity. A synchronization-order based dynamic ordering relationship is created between two log entries corresponding to synchronization operations in concurrently executing distinct execution entities of said execution instance.Type: ApplicationFiled: August 28, 2012Publication date: March 6, 2014Inventors: Dhruva CHAKRABARTI, Hans Boehm
-
Publication number: 20130205284Abstract: There is provided a computer-implemented method of performing ownership acquire policy selection. The method includes compiling an atomic section to generate an instrumented executable. The instrumented executable is configured to generate a runtime abort graph describing a plurality of computer memory accesses made by the instrumented executable. The method also includes selecting each of a plurality of policies based on the runtime abort graph. The plurality of policies include a first policy and a second policy. The first policy is different from the second policy. The method further includes compiling the atomic section to generate a modified executable. The modified executable is configured to perform the computer memory accesses according to the selected policies.Type: ApplicationFiled: February 2, 2012Publication date: August 8, 2013Inventors: Dhruva Chakrabarti, Prithviraj Banerjee, Hans Boehm, Pramod G. Joisha, Robert Schreiber
-
Publication number: 20120151460Abstract: A parallel-code optimization system includes a Procedural Concurrency Graph (PCG) generator. The PCG generator produces an initial PCG of a computer program including parallel code, and determines a refined PCG from the initial PCG by applying concurrency-type refinements and interference-type refinements to the initial PCG. The initial PCG and the refined PCG include nodes and edges connecting pairs of the nodes. The nodes represent defined procedures in the parallel code, and each edge represents a may-happen-in-parallel relation, and is associated with a set of lvalues that represents the immediate interference between the corresponding pair of nodes.Type: ApplicationFiled: December 13, 2010Publication date: June 14, 2012Inventors: Pramod G. Joisha, Robert Samuel Schreiber, Prithviraj Banerjee, Hans Boehm, Dhruva Chakrabarti
-
Publication number: 20120151462Abstract: A parallel-code optimization system includes a siloed program reference-identifier and an intermediate representation (IR) updater. The siloed program reference identifier determines siloed program references in parallel code, wherein siloed program references are free of cross-thread interference. The IR updater modifies data-flow abstractions based on the identified siloed program references.Type: ApplicationFiled: December 13, 2010Publication date: June 14, 2012Inventors: Pramod G. Joisha, Robert Samuel Schreiber, Prithviraj Banerjee, Hans Boehm, Dhruva R. Chakrabarti
-
Publication number: 20060137169Abstract: A process for machining a blank from all directions with a machine tool, such as a milling machine, involves the machining from all directions being based on a three-dimensional template. In a first step, the three-dimensional form and, if need be, also the surface finish of the three-dimensional template may be automatically measured, and the associated data may be saved. In a second step, a blank may be held by at least one clamping adapter and a first region is brought into its final, ready to use partial form by the machine tool or the milling machine using said data for numerical control. In a third step, the partially machined blank may be held by at least one clamping adapter in the first, finally machined region and the remaining region may be brought into its final, ready to use overall form by the same machine tool or milling machine.Type: ApplicationFiled: July 29, 2005Publication date: June 29, 2006Inventors: Hans Boehm, Volker Harr, Josef Scherer