Patent application number | Description | Published |
20090285459 | FINGERPRINT REPRESENTATION USING GRADIENT HISTOGRAMS - Techniques for generating a gradient characterization for a first fingerprint image are provided. One or more fingerprint feature points are selected from the first fingerprint image. A region is obtained for each of the one or more selected fingerprint feature points. The region is a representation of an area proximate a given fingerprint feature point. Each of the obtained regions is divided into a plurality of sub-regions. A histogram is generated for each of the plurality of sub-regions. For each of the one or more selected fingerprint feature points, the one or more generated histograms are combined into a concatenated histogram. The concatenated histogram is used for identification purposes. | 11-19-2009 |
20090310830 | Anonymous and Revocable Fingerprint Recognition - A biometric representation of a fingerprint from which the original biometric cannot be recovered (privacy) and which can be canceled and reissued. For example, based on an individual's token, the representation can be scrambled uniquely to the individual. From the scrambled biometric representation it is not feasible to reconstruct the biometric and if the representation is compromised, a new one is easily issued. In another aspect, if a biometric can be represented by some other one-dimensional structure, a distance or similarity measure is defined to compare biometrics. Verification decisions can be made based on the distance between or similarity of biometrics. | 12-17-2009 |
20100100674 | MANAGING A REGION CACHE - A method, system, and computer program product are provided for managing a cache. A region to be stored within the cache is received. The cache includes multiple regions and each of the regions is defined by memory ranges having a starting index and an ending index. The region that has been received is stored in the cache in accordance with a cache invariant. The cache invariant guarantees that at any given point in time the regions in the cache are stored in a given order and none of the regions are completely contained within any other of the regions. | 04-22-2010 |
20110145791 | TECHNIQUES FOR DEBUGGING CODE DURING RUNTIME - A technique for debugging code during runtime includes providing, from an outside process, a trigger to a daemon. In this case, the trigger is associated with a registered callback function. The trigger is then provided, from the daemon, to one or more designated tasks of a job. The registered callback function (that is associated with the trigger) is then executed by the one or more designated tasks. Execution results of the executed registered callback function are then returned (from the one or more designated tasks) to the daemon. | 06-16-2011 |
20120023304 | FLOW CONTROL FOR RELIABLE MESSAGE PASSING - A message flow controller limits a process from passing a new message in a reliable message passing layer from a source node to at least one destination node while a total number of in-flight messages for the process meets a first level limit. The message flow controller limits the new message from passing from the source node to a particular destination node from among a plurality of destination nodes while a total number of in-flight messages to the particular destination node meets a second level limit. Responsive to the total number of in-flight messages to the particular destination node not meeting the second level limit, the message flow controller only sends a new packet from among at least one packet for the new message to the particular destination node while a total number of in-flight packets for the new message is less than a third level limit. | 01-26-2012 |
20130151789 | MANAGING A REGION CACHE - A method, system or computer usable program product for managing a cache region including receiving a new region to be stored within the cache, the cache including multiple regions defined by one or more ranges having a starting index and an ending index, and storing the new region in the cache in accordance with a cache invariant, the cache invariant ensuring that regions in the cache are not overlapping and that the regions are stored in a specified order. | 06-13-2013 |
20130152101 | PREPARING PARALLEL TASKS TO USE A SYNCHRONIZATION REGISTER - A job may be divided into multiple tasks that may execute in parallel on one or more compute nodes. The tasks executing on the same compute node may be coordinated using barrier synchronization. However, to perform barrier synchronization, the tasks use (or attach) to a barrier synchronization register which establishes a common checkpoint for each of the tasks. A leader task may use a shared memory region to publish to follower tasks the location of the barrier synchronization register—i.e., a barrier synchronization register ID. The follower tasks may then monitor the shared memory to determine the barrier synchronization register ID. The leader task may also use a count to ensure all the tasks attach to the BSR. This advantageously avoids any task-to-task communication which may reduce overhead and improve performance. | 06-13-2013 |
20130152103 | PREPARING PARALLEL TASKS TO USE A SYNCHRONIZATION REGISTER - A job may be divided into multiple tasks that may execute in parallel on one or more compute nodes. The tasks executing on the same compute node may be coordinated using barrier synchronization. However, to perform barrier synchronization, the tasks use (or attach) to a barrier synchronization register which establishes a common checkpoint for each of the tasks. A leader task may use a shared memory region to publish to follower tasks the location of the barrier synchronization register—i.e., a barrier synchronization register ID. The follower tasks may then monitor the shared memory to determine the barrier synchronization register ID. The leader task may also use a count to ensure all the tasks attach to the BSR. This advantageously avoids any task-to-task communication which may reduce overhead and improve performance. | 06-13-2013 |
20130173738 | Administering Globally Accessible Memory Space In A Distributed Computing System - In a distributed computing system that includes compute nodes that include computer memory, globally accessible memory space is administered by: for each compute node: mapping a memory region of a predefined size beginning at a predefined address; executing one or more memory management operations within the memory region, including, for each memory management operation executed within the memory region: executing the operation collectively by all compute nodes, where the operation includes a specification of one or more parameters and the parameters are the same across all compute nodes; receiving, by each compute node from a deterministic memory management module in response to the memory management operation, a return value, where the return value is the same across all compute nodes; entering, by each compute node after local completion of the memory management operation, a barrier; and when all compute nodes have entered the barrier, resuming execution. | 07-04-2013 |
20130173740 | ADMINISTERING GLOBALLY ACCESSIBLE MEMORY SPACE IN A DISTRIBUTED COMPUTING SYSTEM - In a distributed computing system that includes compute nodes that include computer memory, globally accessible memory space is administered by: for each compute node: mapping a memory region of a predefined size beginning at a predefined address; executing one or more memory management operations within the memory region, including, for each memory management operation executed within the memory region: executing the operation collectively by all compute nodes, where the operation includes a specification of one or more parameters and the parameters are the same across all compute nodes; receiving, by each compute node from a deterministic memory management module in response to the memory management operation, a return value, where the return value is the same across all compute nodes; entering, by each compute node after local completion of the memory management operation, a barrier; and when all compute nodes have entered the barrier, resuming execution. | 07-04-2013 |
20130232262 | FLOW CONTROL FOR RELIABLE MESSAGE PASSING - A message flow controller limits a process from passing a new message in a reliable message passing layer from a source node to at least one destination node while a total number of in-flight messages for the process meets a first level limit. The message flow controller limits the new message from passing from the source node to a particular destination node from among a plurality of destination nodes while a total number of in-flight messages to the particular destination node meets a second level limit. Responsive to the total number of in-flight messages to the particular destination node not meeting the second level limit, the message flow controller only sends a new packet from among at least one packet for the new message to the particular destination node while a total number of in-flight packets for the new message is less than a third level limit. | 09-05-2013 |
20130247069 | Creating A Checkpoint Of A Parallel Application Executing In A Parallel Computer That Supports Computer Hardware Accelerated Barrier Operations - In a parallel computer executing a parallel application, where the parallel computer includes a number of compute nodes, with each compute node including one or more computer processors, the parallel application including a number of processes, and one or more of the processes executing a barrier operation, creating a checkpoint of a parallel application includes: maintaining, by each computer processor, global barrier operation state information, the global barrier operation state information includes an aggregation of each process's barrier operation state information; invoking, for each process of the parallel application, a checkpoint handler; saving, by each process's checkpoint handler as part of a checkpoint for the parallel application, the process's barrier operation state information; and exiting, by each process, the checkpoint handler. | 09-19-2013 |
20140089601 | MANAGING A REGION CACHE - A method for managing a cache region including receiving a new region to be stored within the cache, the cache including multiple regions defined by one or more ranges having a starting index and an ending index, and storing the new region in the cache in accordance with a cache invariant, the cache invariant ensuring that regions in the cache are not overlapping and that the regions are stored in a specified order. | 03-27-2014 |
20140280432 | Responding To A Timeout Of A Message In A Parallel Computer - Methods, apparatuses, and computer program products for responding to a timeout of a message in a parallel computer are provided. The parallel computer includes a plurality of compute nodes operatively coupled for data communications over one or more data communications networks. Each compute node includes one or more tasks. Embodiments include a first task of a first node sending a message to a second task on a second node. Embodiments also include the first task sending to the second node a command via a parallel operating environment (POE) in response to a timeout of the message. The command instructs the second node to perform a timeout motivated operation. | 09-18-2014 |
20140282557 | Responding To A Timeout Of A Message In A Parallel Computer - Methods, apparatuses, and computer program products for responding to a timeout of a message in a parallel computer are provided. The parallel computer includes a plurality of compute nodes operatively coupled for data communications over one or more data communications networks. Each compute node includes one or more tasks. Embodiments include a first task of a first node sending a message to a second task on a second node. Embodiments also include the first task sending to the second node a command via a parallel operating environment (POE) in response to a timeout of the message. The command instructs the second node to perform a timeout motivated operation. | 09-18-2014 |
20140282612 | Acknowledging Incoming Messages - Acknowledging incoming messages, including: determining, by an acknowledgement dispatching module, whether an incoming message has been received in an active message queue; responsive to determining that the incoming message has been received in the active message queue, resetting, by the acknowledgement dispatching module, an acknowledgment iteration counter; incrementing, by the acknowledgement dispatching module, the acknowledgment iteration counter; determining, by the acknowledgement dispatching module, whether the acknowledgment iteration counter has reached a predetermined threshold; and responsive to determining that the acknowledgment iteration counter has reached the predetermined threshold, processing, by the acknowledgement dispatching module, all messages in the active message queue. | 09-18-2014 |
20140282613 | Acknowledging Incoming Messages - Acknowledging incoming messages, including: determining, by an acknowledgement dispatching module, whether an incoming message has been received in an active message queue; responsive to determining that the incoming message has been received in the active message queue, resetting, by the acknowledgement dispatching module, an acknowledgment iteration counter; incrementing, by the acknowledgement dispatching module, the acknowledgment iteration counter; determining, by the acknowledgement dispatching module, whether the acknowledgment iteration counter has reached a predetermined threshold; and responsive to determining that the acknowledgment iteration counter has reached the predetermined threshold, processing, by the acknowledgement dispatching module, all messages in the active message queue. | 09-18-2014 |
20150081862 | ADMINISTERING GROUP IDENTIFIERS OF PROCESSES IN A PARALLEL COMPUTER - Administering group identifiers of processes in a parallel computer includes each process in a set of processes, receiving from a compute node of the plurality of compute nodes, a request to establish the set of processes as an operational group including receiving a list of process identifiers for each process of the set of processes. Embodiments also include each process generating without communication amongst the processes, a unique group identifier in dependence upon the list of process identifiers. | 03-19-2015 |