Typically, the corresponding implementation in GASPI would assume the form:
while (barrier() != complete) work();
If such an implementation is not possible (e.g. because work() cannot be divided into subparts), we advise the use of a dedicated thread in order to achieve the required progress for the collective.