Early-bird communication is a communication/computation overlap technique that combines fine-grained communication with partitioned communication to improve application run-time. Communication is divided among the compute threads such that each individual thread can initiate transmission of its portion of the data as soon as it is complete rather than waiting for all of the threads. However, the benefit of early-bird communication depends on the completion timing of the individual threads. In this paper, we measure and evaluate the potential overlap, the idle time each thread experiences between finishing their computation and the final thread finishing. These measurements help us understand whether a given application could benefit from early-bird communication. We present our technique for gathering this data and evaluate data collected from three proxy applications: MiniFE, MiniMD, and MiniQMC. To characterize the behavior of these workloads, we study the thread timings at both a macro level, i.e., across all threads across all runs of an application, and a micro level, i.e., within a single process of a single run. We observe that these applications exhibit significantly different behavior. While MiniFE and MiniQMC appear to be well-suited for early-bird communication because of their wider thread distribution and more frequent laggard threads, the behavior of MiniMD may limit its ability to leverage early-bird communication.
翻译:早起通信是一种通信/计算重叠技术,它将精细的通信与分割的通信相结合,以改善应用程序运行时间。通信被分配在计算线程之间,以便每个单独的线程在完成数据的部分后就可以开始传输,而不必等待所有线程全部完成。然而,早起通信的受益取决于各个线程的完成时间。在本文中,我们测量和评估了潜在的重叠,每个线程在完成计算和最后一个线程完成之间的空闲时间。这些测量结果有助于我们了解是否可以从早起通信中获益。我们提出了一种收集这些数据的技术,并评估了从三个代理应用程序(MiniFE、MiniMD 和 MiniQMC)收集的数据。为了表征这些工作负载的行为,我们研究了线程定时的宏观水平,即跨越应用程序的所有运行的所有线程,和微观水平,即在单个运行的单个进程内部。我们观察到,这些应用展示了显著不同的行为。尽管 MiniFE 和 MiniQMC 似乎非常适合于早起通信,因为它们具有更广泛的线程分布和更频繁的滞后线程,但 MiniMD 的行为可能会限制其利用早起通信的能力。