r"""A barrier wait for all group member. Args: key: group key to match each other. size: group size.
(self, key, size)
| 265 | return self.proxy.check_remote_tracer(key) |
| 266 | |
| 267 | def group_barrier(self, key, size): |
| 268 | r"""A barrier wait for all group member. |
| 269 | |
| 270 | Args: |
| 271 | key: group key to match each other. |
| 272 | size: group size. |
| 273 | """ |
| 274 | # FIXME: group_barrier is not idempotent |
| 275 | while True: |
| 276 | try: |
| 277 | self.proxy.group_barrier(key, size) |
| 278 | return |
| 279 | except: |
| 280 | time.sleep(0.5) |
| 281 | |
| 282 | def user_set(self, key, val): |
| 283 | r"""Set user defined key-value pairs across processes.""" |