design patterns for parallelism i 507147