update producer-consume model