forcing some synchronization between drivers and assemblies in preparation for actual data transfer between components.
moving comm distribution into iteration hierarchy instead of container hierarchy
interim
interim