在并行系统中,每个进程对其他进程都产生影响,因为它们都竞争诸如cpu缓存、内存、磁盘I/O、网络等多种稀缺资源。
什么方法最适合测量进程之间的干扰?例如,进程A和B都会大量访问磁盘。因此,同时运行它们可能比顺序运行(单个运行时长)要慢,因为瓶颈是硬盘。
如果我不知道一个进程的确切行为(磁盘、内存或CPU密集型),那么分析它的最佳方法是什么?
测量单个运行时间并比较每个并行进程的相对份额?
例如,进程A单独运行平均需要30秒,100%并行运行B需要45秒,20%并行需要35秒,等等?
比较几个指标,如L1和LLC缓存缺失、页面错误等,是否更好?