Added hogwild.rs for supporting concurrent lock-free training & feature translation
Added new flags: --hogwild_training for using hogwild, and --hogwild_threads (default is 16)
Added mutex for "the slow path" and quadrupled the size of the stack buffer in block_ffm.rs, to make heap allocation very rare, visible (a warning will be logged) and synchronized to avoid undefined behavior
using a channel with a max capacity (with a synced sender)
Changes:
hogwild.rs
for supporting concurrent lock-free training & feature translation--hogwild_training
for using hogwild, and--hogwild_threads
(default is 16)block_ffm.rs
, to make heap allocation very rare, visible (a warning will be logged) and synchronized to avoid undefined behavior