type barrier =
| ASP
| BSP
| SSP
| PSP
val set : 'a -> 'b -> unit
val worker_num : unit -> int
val start : ?barrier:barrier -> string -> string -> unit
val register_barrier : (param_context Stdlib.ref -> int * string list) -> unit
val register_schedule : ('a list -> ('a * ('b * 'c) list) list) -> unit
val register_pull : (('a * 'b) list -> ('a * 'c) list) -> unit
val register_push : ('a -> ('b * 'c) list -> ('b * 'c) list) -> unit