Relaxation of synchronization for iterative convergent computations
AssigneeInternational Business Machines Corporation
InventorsLakshminarayanan Renganarayana, Vijayalakshmi Srinivasan
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsLakshminarayanan Renganarayana, Vijayalakshmi Srinivasan
Estimating the term…
Systems and methods are disclosed that allow atomic updates to global data to be at least partially eliminated to reduce synchronization overhead in parallel computing. A compiler analyzes the data to be processed to selectively permit unsynchronized data transfer for at least one type of data. A programmer may provide a hint to expressly identify the type of data that are candidates for unsynchronized data transfer. In one embodiment, the synchronization overhead is reducible by generating an application program that selectively substitutes codes for unsynchronized data transfer for a subset of codes for synchronized data transfer. In another embodiment, the synchronization overhead is reducible by employing a combination of software and hardware by using relaxation data registers and decoders that collectively convert a subset of commands for synchronized data transfer into commands for unsynchronized data transfer.
A method of relaxing synchronization in a parallel computing system, said method comprising:
A method of relaxing synchronization in a parallel computing system, said method comprising:
A method of relaxing synchronization in parallel computing, said method comprising:
A system for parallel computing, said system comprising a plurality of processors configured to run an application in a parallel computing mode, said application running multiple processing threads in parallel, at least one thread performing iterative convergent computations in an iterative loop, wherein at least one of said plurality of processors includes relaxation data registers and a decoder that is configured to either convert a command for synchronized data access in the application program into a command for unsynchronized data access or transmit said command for synchronized data access unmodified based on contents of data stored in said relaxation data registers, wherein said at least one command for unsynchronized data access substitutes an atomic operation applied to a variable in an iterative loop with a non-atomic operation.
At least one non-transitory machine readable data storage medium embodying a plurality of programs, said plurality of programs comprising:
Dependencies are inferred from the claim text.