发明名称 SIMD parallel computer system, SIMD parallel computing method, and control program
摘要 Uniforming of the processing load is efficiently realized. Each processing element configuring an SIMD parallel computer system includes a data storage module that stores data processed or transferred, a number-of-data-sets storage device that stores number of data sets, and a front data storage device that stores the front data. Each processing element further includes a control processor that compares the number of data sets stored in one processing element with the number of data sets stored in the own processing element, and issues a data distribution leveling instruction that designates an action for updating contents of the data storage module, the number-of-data-sets storage device, and the front data storage device according to a rule determined based on a comparison result of the own processing element and that of the other processing elements and an action for moving the data stored in the one processing element to the own processing element.
申请公布号 US8769244(B2) 申请公布日期 2014.07.01
申请号 US200912922318 申请日期 2009.04.08
申请人 Nec Corporation 发明人 Kyo Shorin
分类号 G06F15/80;G06F9/50;G06F9/38 主分类号 G06F15/80
代理机构 Sughrue Mion, PLLC 代理人 Sughrue Mion, PLLC
主权项 1. An SIMD parallel computer system that performs parallel processing with two or more processing elements coupled in a ring form for different data values under a single instruction stream, wherein each of the processing elements comprises: a data storage module that stores data processed by each of the processing elements; a number-of-data-sets storage device that stores number of data sets of the data; and a data storage device that stores a part of the data stored in the data storage module, the system further comprising a control processor that compares first number-of-data-sets of the data stored in the number-of-data-sets storage device of one processing element out of the two or more processing elements coupled in the ring form with second number-of-data-sets of the data stored in the number-of-data-sets storage device of the own processing element, and issues, to each of the processing elements, a data distribution leveling instruction that designates an action for updating contents of the data stored in the data storage module, the number-of-data-sets storage device, and the data storage device of the own processing element according to a rule that is determined based on a comparison result of the own processing element, and a comparison result of the other processing elements and an action for moving the data stored in the one processing element to the own processing element, wherein the control processor calculates carry flag information in a case where the first number-of-data-sets out of the numbers of data sets to be compared is larger than the second number-of-data-sets, and issues the data distributing leveling instruction according to the rule that is determined by the carry flag information and carry flag information that is obtained by logic-inverting the carry flag information calculated in neighboring another processing element, wherein the control processor calculates carry flag information “1” when the first number-of-data-sets out of the numbers of data sets to be compared is larger than the second number-of-data-sets, and carry flag information “0” when the former is smaller, wherein the control processor further holds following information as the rule: (1) Contents in the number-of-data-sets storage device and the front data storage device of the own processing element are not updated, when the carry flag information in the own processing element is “0” and the carry flag information that is obtained by logic-inverting the carry flag information calculated in neighboring another processing element is “0”;(2) The number of data sets of the number-of-data-sets storage device of the own processing element is decremented by 1, and the content of the front data storage device is updated with next processing data or next transfer data following the front data, when the carry flag information in the own processing element is “0” and the carry flag information that is obtained by logic-inverting the carry flag information calculated in neighboring another processing element is “1”;(3) The number of data sets of the number-of-data-sets storage device of the own processing element is incremented by 1, and the content of the front data storage device is updated with the content of the front data of the processing data or the transfer data of the neighboring processing element, when the carry flag information in the own processing element is “1” and the carry flag information that is obtained by logic-inverting the carry flag information calculated in neighboring another processing element is “0”; and(4) The number of data sets of the number-of-data-sets storage device of the own processing element is not updated, and the content of the front data storage device is updated with the content of the front data of the processing data or the transfer data of the neighboring processing element, when the carry flag information in the own processing element of the own processing element is “1” and the carry flag information that is obtained by logic-inverting the carry flag information calculated in neighboring another processing element is “1”, wherein the control processor issues the data distribution leveling instruction according to the rule.
地址 Tokyo JP