data parallel push model