Patents Examined by Keith Vicary
  • Patent number: 8990820
    Abstract: A batch job processing architecture that dynamically creates runtime tasks for batch job execution and to optimize parallelism. The task creation can be based on the amount of processing power available locally or across batch servers. The work can be allocated across multiple threads in multiple batch server instances as there are available. A master task splits the items to be processed into smaller parts and creates a runtime task for each. The batch server picks up and executes as many runtime tasks as the server is configured to handle. The runtime tasks can be run in parallel to maximize hardware utilization. Scalability is provided by splitting runtime task execution across available batch server instances, and also across machines. During runtime task creation, all dependency and batch group information is propagated from the master task to all runtime tasks. Dependencies and batch group configuration are honored by the batch engine.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: March 24, 2015
    Assignee: Microsoft Corporation
    Inventors: Gustavo A. Plancarte, Tao Wang, Vijay B. Kurup
  • Patent number: 8977835
    Abstract: Techniques for reducing issue-to-issue latency by reversing processing order in half-pumped single instruction multiple data (SIMD) execution units are described. In one embodiment a processor functional unit is provided comprising a frontend unit, and execution core unit, a backend unit, an execution order control signal unit, a first interconnect coupled between and output and an input of the execution core unit and a second interconnect coupled between an output of the backend unit and an input of the frontend unit. In operation, the execution order control signal unit generates a forwarding order control signal based on the parity of an applied clock signal on reception of a first vector instruction. This control signal is in turn used to selectively forward first and second portions of an execution result of the first vector instruction via the interconnects for use in the execution of a dependent second vector instruction.
    Type: Grant
    Filed: November 14, 2013
    Date of Patent: March 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Maarten J. Boersma, Markus Kaltenbach, Christophe J. Layer, Jens Leenstra, Silvia M. Mueller
  • Patent number: 8959317
    Abstract: A microcomputer includes: a plurality of register lists having a plurality of register patterns, respectively, wherein each of plurality of register patterns designates registers, data of which are to be saved in a data memory; an instruction fetch control circuit configured to fetch instruction code from an instruction memory in response to an interrupt request issued based on occurrence of an interrupt factor; and a register data saving control circuit configured to acquire one register pattern from one of the plurality of register lists in response to the interrupt request, and issue a microinstruction based on the acquired register pattern in response to the interrupt request. An instruction executing section is configured to execute the microinstruction prior to the fetched instruction code, to save the data of registers designated based on the acquired register pattern in the data memory.
    Type: Grant
    Filed: April 12, 2011
    Date of Patent: February 17, 2015
    Assignee: Renesas Electronics Corporation
    Inventor: Hideki Matsuyama
  • Patent number: 8959510
    Abstract: In one embodiment, a mechanism for providing a trusted environment for provisioning a virtual machine is disclosed. In one embodiment, a method includes beginning an initialization process of a virtual machine (VM) hosted by a VM host server, obtaining by the VM as part of the initialization process a one-time password from the VM host server, the one-time password provided to the VM host server from a management server that created the one-time password, and authenticating the VM with an identity server using the one-time password.
    Type: Grant
    Filed: March 19, 2009
    Date of Patent: February 17, 2015
    Assignee: Red Hat, Inc.
    Inventors: Daniel P. Berrange, Dmitri Pal, Simo S. Sorce
  • Patent number: 8949575
    Abstract: Techniques for reducing issue-to-issue latency by reversing processing order in half-pumped single instruction multiple data (SIMD) execution units are described. In one embodiment a processor functional unit is provided comprising a frontend unit, and execution core unit, a backend unit, an execution order control signal unit, a first interconnect coupled between and output and an input of the execution core unit and a second interconnect coupled between an output of the backend unit and an input of the frontend unit. In operation, the execution order control signal unit generates a forwarding order control signal based on the parity of an applied clock signal on reception of a first vector instruction. This control signal is in turn used to selectively forward first and second portions of an execution result of the first vector instruction via the interconnects for use in the execution of a dependent second vector instruction.
    Type: Grant
    Filed: December 14, 2011
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Maarten J. Boersma, Markus Kaltenbach, Christophe J. Layer, Jens Leenstra, Silvia M. Mueller
  • Patent number: 8930679
    Abstract: An out-of-order execution microprocessor for reducing the likelihood of having to replay a load instruction due to a store collision. The microprocessor includes a queue of entries, each entry configured to hold information that identifies sources of a store instruction used to compute its store address and to hold a dependency that identifies an instruction upon which the store instruction depends for its data. A register alias table (RAT), coupled to the queue of entries, is configured to encounter instructions in program order and to generate dependencies used to determine when the instructions may execute out of program order. In response to encountering a load instruction the RAT determines whether sources of the load instruction used to compute its load address match the sources of the store instruction in an entry of the queue, and if so, causes the load instruction to share the dependency of the matching store instruction.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: January 6, 2015
    Assignee: Via Technologies, Inc.
    Inventors: Matthew Daniel Day, Rodney E. Hooker
  • Patent number: 8914613
    Abstract: In-lane vector shuffle operations are described. In one embodiment a shuffle instruction specifies a field of per-lane control bits, a source operand and a destination operand, these operands having corresponding lanes, each lane divided into corresponding portions of multiple data elements. Sets of data elements are selected from corresponding portions of every lane of the source operand according to per-lane control bits. Elements of these sets are copied to specified fields in corresponding portions of every lane of the destination operand. Another embodiment of the shuffle instruction also specifies a second source operand, all operands having corresponding lanes divided into multiple data elements. A set selected according to per-lane control bits contains data elements from every lane portion of a first source operand and data elements from every corresponding lane portion of the second source operand. Set elements are copied to specified fields in every lane of the destination operand.
    Type: Grant
    Filed: August 26, 2011
    Date of Patent: December 16, 2014
    Assignee: Intel Corporation
    Inventors: Zeev Sperber, Robert Valentine, Benny Eitan, Doron Orenstein
  • Patent number: 8875107
    Abstract: Systems and computer program products for lock tracing at a component level are disclosed. The one or more embodiments of the invention include computer program instructions for associating one or more locks with a component of the operating system; initiating lock tracing for the component; and instrumenting the component-associated locks with lock tracing program instructions in response to initiating lock tracing. The locks are selected from a group of locks configured for use by an operating system and individually comprise locking code. The component lock tracing may be static or dynamic.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Juan M Casas, Saurabh Nath Sharma, Basu Vaidyanathan
  • Patent number: 8806181
    Abstract: According to some embodiments, an apparatus having corresponding methods includes a storage module configured to store data and instructions; a first processor pipeline configured to process the data and instructions when the first processor pipeline is selected; a second processor pipeline configured to process the data and instructions when the second processor pipeline is selected; and a selection module configured to select either the first processor pipeline or the second processor pipeline.
    Type: Grant
    Filed: May 1, 2009
    Date of Patent: August 12, 2014
    Assignee: Marvell International Ltd.
    Inventors: R. Frank O'Bleness, Sujat Jamil, Timothy S. Beatty, Franco Ricci, Tom Hameenanttila, Hong-Yi Chen
  • Patent number: 8799909
    Abstract: Systems and methods of various embodiments provide mechanisms to support synchronous and asynchronous transactions. Distinct encodings allow an instruction to choose whether to perform any operation synchronously or asynchronously. Separate synchronous and asynchronous result registers hold the data returned in the most recent replies received for synchronous and asynchronous transaction requests, respectively. A status bit indicates whether an asynchronous transaction request is currently outstanding.
    Type: Grant
    Filed: December 23, 2008
    Date of Patent: August 5, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Jeffrey G. Libby, Jean-Marc Frailong, Avanindra Godbole, Sharada Yeluri, Anurag P. Gupta, John Keen
  • Patent number: 8788795
    Abstract: A wake-and-go mechanism may be a programming idiom accelerator. As a processor fetches instructions, the programming idiom accelerator may look ahead to determine whether a programming idiom is coming up in the instruction stream. If the programming idiom accelerator recognizes a programming idiom, the programming idiom accelerator may perform an action to accelerate execution of the programming idiom. In the case of a wake-and-go programming idiom, the programming idiom accelerator may record an entry in a wake-and-go array, for example.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: July 22, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Satya P. Sharma, Randal C. Swanberg
  • Patent number: 8769249
    Abstract: Methods and apparatus relating to instructions with floating point control override are described. In an embodiment, a processor includes a first logic to receive an instruction having one or more bits corresponding to override control data. The override control data is to indicate one or more floating point operation settings that are to override one or more default settings. The processor also has a second logic to perform a floating point operation in response to the instruction and at least one of the one or more floating point operation settings.
    Type: Grant
    Filed: November 6, 2012
    Date of Patent: July 1, 2014
    Assignee: Intel Corporation
    Inventors: Cristina S. Anderson, Simon Rubanovich, Benny Eitan
  • Patent number: 8762995
    Abstract: A computing system includes a plurality of computing units, a tiered storage unit including a first storage medium and a second storage medium having a transfer rate lower than that of the first storage medium, and connected to a plurality of the computing units; and a system management unit connected to a plurality of the computing units and the tiered storage unit. The system management unit creates a computation job execution schedule for a plurality of the computing units or obtains the computation job execution schedule from other unit in the computing system, plans a data migration in the tiered storage unit according to the execution schedule using a predetermined method, and instructs the tiered storage unit to migrate a data based on the plan.
    Type: Grant
    Filed: February 28, 2008
    Date of Patent: June 24, 2014
    Assignee: Hitachi, Ltd.
    Inventors: Hirotoshi Akaike, Kazuhisa Fujimoto, Shuji Nakamura
  • Patent number: 8745360
    Abstract: Embodiments of a method for performing parallel operations in a computer system when one or more conditional dependencies may be present, where a given conditional dependency includes a dependency associated with at least two data elements based on a pair of conditions. During operation, a processor receives instructions for generating one or more predicate values based on actual dependencies, where a given predicate value indicates data elements that may be safely evaluated in parallel, and where the given actual dependency occurs when the pair of conditions matches one or more criteria. Then, the processor executes the instructions for generating the one or more predicate values.
    Type: Grant
    Filed: September 24, 2008
    Date of Patent: June 3, 2014
    Assignee: Apple Inc.
    Inventors: Jeffry E. Gonion, Keith E. Diefendorff
  • Patent number: 8725990
    Abstract: A configurable SIMD engine in a video processor for executing video processing operations. The engine includes a SIMD component having a plurality of inputs for receiving input data and a plurality of outputs for providing output data. A plurality of execution units are included in the SIMD component. Each of the execution units comprise a first and a second data path, and are configured for selectively implementing arithmetic operations on a set of low precision or high precision inputs. Each of the execution units have a first configuration and a second configuration, such that the first data path and the second data path are combined to produce a single high precision output in the first configuration, and such that the first data path and the second data path are partitioned to produce a respective first low precision output and second low precision output in the second configuration.
    Type: Grant
    Filed: November 4, 2005
    Date of Patent: May 13, 2014
    Assignee: Nvidia Corporation
    Inventors: Ashish Karandikar, Pooja Agarwal
  • Patent number: 8694760
    Abstract: A branch prediction mechanism within an information processing device comprises a call stack where function arguments are stacked when function calls are performed. The call stack stores arguments relating to branch instructions within the function. The branch prediction mechanism stores the branch instruction address, the leading value of the call stack, and the branch destination address at branch instruction execution time, which are in correspondence, in a branch result buffer. A branch prediction unit obtains the branch instruction address and leading value of the call stack when notified of branch instruction execution, searches the branch result buffer for a branch destination corresponding to the address and leading value, and predicts the search result as the branch destination of the executed branch instruction. An instruction fetch unit fetches instructions from the branch destination predicted by the branch prediction unit.
    Type: Grant
    Filed: May 19, 2010
    Date of Patent: April 8, 2014
    Assignee: Panasonic Corporation
    Inventor: Katsushige Amano
  • Patent number: 8688628
    Abstract: A method and apparatus that manages transactions during a data migration. The transfer of data from an old database to a new database is structured as a set of small transactions. The transactions can be structured in a hierarchy of dependent transactions such that the transactions are nested or similarly hierarchical. A migration manager includes a set of transaction management methods or processes that enable the processing of the nested transactions thereby providing a higher level of granularity in transaction size and providing the ability to rollback small individual transactions as well as affected related transactions. The transaction management methods and processes manage a set of queues that are utilized by the migration manager to generate and execute the nested transactions.
    Type: Grant
    Filed: February 29, 2008
    Date of Patent: April 1, 2014
    Assignee: Red Hat, Inc.
    Inventor: Bill C. Riemers
  • Patent number: 8688956
    Abstract: The execution engine is a new organization for a digital data processing apparatus for highly parallel execution of structured fine-grain parallel computations. The execution engine includes a memory for storing data and a domain flow program, a controller for requesting the domain flow program from the memory, and further for translating the program into programming information, a processor fabric for processing the domain flow programming information and a crossbar for sending tokens and the programming information to the processor fabric.
    Type: Grant
    Filed: May 18, 2009
    Date of Patent: April 1, 2014
    Assignee: Stillwater Supercomputing, Inc.
    Inventor: Erwinus Theodorus Leonardus Omtzigt
  • Patent number: 8667255
    Abstract: A post-silicon testing apparatus, method, and computer program product provide for runtime coverage measurement methodology to measure the architectural events in hardware. Measurement of all architectural events discernable from the instructions and architectural state changes are tracked and recorded. A mechanism to ensure capturing of maskable events is also provided. A feedback driven test-generation approach is enabled by the runtime coverage measurement. The runtime coverage measurement system presents a live view of the comprehensive architectural event coverage to the user/tester. The methodology can be implemented on an operating system environment and also as a standalone/bare-metal tool.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: March 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sangram Alapati, Jayakumar N Sankarannair, Varun Mallikarjunan, Prathiba Kumar, Satish Kumar Sadasivam
  • Patent number: 8667250
    Abstract: A computer processor includes a decoder for decoding machine instructions and an execution unit for executing those instructions. The decoder and the execution unit are capable of decoding and executing vector instructions that include one or more format conversion indicators. For instance, the processor may be capable of executing a vector-load-convert-and-write (VLoadConWr) instruction that provides for loading data from memory to a vector register. The VLoadConWr instruction may include a format conversion indicator to indicate that the data from memory should be converted from a first format to a second format before the data is loaded into the vector register. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 26, 2007
    Date of Patent: March 4, 2014
    Assignee: Intel Corporation
    Inventors: Eric Sprangle, Robert D. Cavin, Anwar Rohillah, Douglas M. Carmean