Created by: xjqbest
(1) support filelist size < trainer num
(2) pull dense when stop, to make sure local dense params are same as pserver, so save paddle model will save dense model same as pserver
(3) enable QueueDataset train same filelist for serveral times
dataset = fluid.DatasetFactory().create_dataset("QueueDataset")
dataset.set_pipe_command("cat")
dataset.set_use_var(slots_vars)
dataset.set_filelist(["a", "b"])
for i in range(100):
exe.train_from_dataset(fluid.default_main_program(), dataset)