发明名称 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.
申请公布号 US9104501(B2) 申请公布日期 2015.08.11
申请号 US201213707621 申请日期 2012.12.07
申请人 International Business Machines Corporation 发明人 Jea Tsai-Yang;Lepera William P.;Xue HanHong;Zhang Zhi
分类号 G06F9/46;G06F9/52 主分类号 G06F9/46
代理机构 Patterson & Sheridan, LLP 代理人 Patterson & Sheridan, LLP
主权项 1. A method for synchronizing a plurality of tasks of a job, comprising: allocating, using a first one of the plurality of tasks and one or more computer processors, a shared memory region for the plurality of tasks, wherein the plurality of tasks are executed in parallel on a given compute node; storing, using the first one of the plurality of tasks, a register ID in the shared memory region that discloses a location of a barrier register, wherein the barrier register is separate from the shared memory region; retrieving the register ID from the shared memory region; discovering the barrier register using the retrieved register ID, wherein retrieving the register ID and discovering the barrier register is performed by a second one of the plurality of tasks; and synchronizing the plurality of tasks using the barrier register to ensure that each of the plurality of tasks have completed, wherein the first one of the plurality of tasks is a leader task and the second one of the plurality of tasks is a follower task, and wherein the shared memory region is accessible by the leader and the follower tasks.
地址 Armonk NY US