J3/14-252 To: J3 From: John Reid Subject: Miscellaneous changes Date: 2014 October 09 Discussion ---------- The changes proposed here are based on changes suggested in my ballot, see N2031. The reason for each change is given with the edit. The changes to the collectives should be discarded if they are altered as suggested in 14-250 to give an error return if the team contains an image that is not active. Edits to N2007: --------------- [13:5] After "image M" add "since execution last began in this team". Reason. In an earlier execution as a team, an image might have failed temporarily (stalled) because of the failure of another image. [16:17-20+] Swap the text of Note 6.3 with the text of the paragraph in lines 17-20. Reason. The text in the paragraph seems unsuitable to be definitive text. It is the sequence of changes of the value of the event variable that matters, as given in the note. [17:32+] In NOTE 7.1, line 1, after "atomic subroutine" add "without a STAT argument". Reason. I think the intention is for the call to be lightweight and fast if there is no STAT argument but to make a check that all is well with the image if STAT is present. [18:14] After "zero" add "if no image in the current team is detected as failed and STAT_FAILED_IMAGE otherwise". [18:21-22] Delete sentence "If an ... STAT_FAILED_IMAGE." Reason: We need to regard a collective as successful even if it detects failed images, see [18:2-3]. [22:11, 22:16, 22:24, 22:31, 22:33, 22:40, 22:42, 23:11, 23:13, 23:20, 23:22, 23:33, 23:36, 23:40, 23:42 twice, 24:3, 24:5, 24:21, 24:23, 24:30, 24:32] Add "nonfailed" before "images". [22:26, 23:6, 23:28, 24:15] Change "current team of images" to "nonfailed images of the current team". Reason. Consistency with 7.3 para 1. [24:37] Delete ", ERRMSG". [25:6-8] Delete "ERRMSG ... the argument." Reason. None of the other atomic subroutines have an ERRMSG argument. [29:21-22] Change "number of failed images in the team specified, otherwise the result is the number of nonfailed images in the team specified" to "number of images in the team specified that are known to have failed, otherwise the result is the number of images in the team specified that are not known to have failed". Reason. NUM_IMAGES should use the list of failed images that the image has. [31:24] Change "which" to "that". Reason. The STAT value STAT_FAILED_IMAGE just indicates that an image has failed and FAILED_IMAGES only lists the images the executing image already knows have failed. [35:16] Change "3" to "4". [35:21+] Add para: "Execution of a SYNC IMAGES statement performs a synchronization of the image with each of the other {\ul nonfailed} images in the . Executions of SYNC IMAGES statements on images M and T correspond if the number of times image M has executed a SYNC IMAGES statement {\ul in the current team} with T in its image set {\ul since execution last began in this team} is the same as the number of times image T has executed a SYNC IMAGES statement {\ul in the current team} with M in its image set {\ul since execution last began in this team}. The segments that executed before the SYNC IMAGES statement on either image precede the segments that execute after the corresponding SYNC IMAGES statement on the other image." Reason. We need to allow for failed images in SYNC IMAGES in just the same way as in SYNC ALL. Note that both are mentioned in 5.8 at [13:20]. [37:1-] In the entry for EVENT QUERY, Delete ", ERRMSG". Reason. None of the other atomic subroutines have an ERRMSG argument. [39:10] Change "failed ... nonfailed images" to "images in the team specified that are known to have failed or the number that are not known to have failed". [39:15-16] Change "failed ... specified" to "images in the team specified that are known to have failed; otherwise, the result is the number that are not known to have failed". Reason. NUM_IMAGES should use the list of failed images that the image has.