multithreading - noma/ham GitHub Wiki

Multi-threading and thread-safeness

HAM

HAM is thread-safe after initialisation. All shared state (like the handler-address vector) is read-only after initialisation. There are no locks or other serialisation points.

HAM-Offload

On the host side, multiple threads can use HAM-Offload, as long as they offload to different target processes (i.e. nodes). In other words, the user must ensure mutually exclusive access to the same offload target. Inside offloaded code, there are no restrictions. So any threading framework may be used to achieve parallelism.