Coarrays in the Context of XcalableMP
115
Fig. 6 Blocking and non-blocking PUT communications. (a) 1-variable/blocking. (b) nvariable/blocking. (c) n-variable/non-blocking
The following was found from the results:
• Non-blocking PUT significantly improves the latency of PUT communication.
From 8 B to 8 kB, the latency of non-blocking PUT communication is 4.63 times
faster on average than blocking PUT. Compared to the original PUT, from 8 B
to 8 kB, it performs communication eight times for a period of time 2.11 times
longer, on average. Hiding completion wait behind communication (Fig. 6c)
greatly improves the performance.
• Reduction of synchronization (Fig. 6b) itself does not improve the performance.
Compared to the original blocking PUT, eight-variable blocking PUT has 9.5–
10.1 times larger latency for a data set that is eight times larger.
115
Fig. 6 Blocking and non-blocking PUT communications. (a) 1-variable/blocking. (b) nvariable/blocking. (c) n-variable/non-blocking
The following was found from the results:
• Non-blocking PUT significantly improves the latency of PUT communication.
From 8 B to 8 kB, the latency of non-blocking PUT communication is 4.63 times
faster on average than blocking PUT. Compared to the original PUT, from 8 B
to 8 kB, it performs communication eight times for a period of time 2.11 times
longer, on average. Hiding completion wait behind communication (Fig. 6c)
greatly improves the performance.
• Reduction of synchronization (Fig. 6b) itself does not improve the performance.
Compared to the original blocking PUT, eight-variable blocking PUT has 9.5–
10.1 times larger latency for a data set that is eight times larger.
