Я намагаюся оптимізувати MPI-додаток із сильно асинхронною схемою зв'язку. Кожен ранг має перелік речей, які потрібно обчислити, і надсилає повідомлення за необхідності, якщо входи або виходи знаходяться в іншому рангу. Крім того, кожен ранг є потоковим (наразі з однією комунікаційною ниткою та 5 робітниками).
Я інструментував код з таймерами навколо різних критичних частин коду, що дає мені список трійки (початок, кінець, тип) для кожного потоку. Накреслений очевидним чином, з часом, як горизонтальна вісь, ранг і нитка як вертикальна, і колір, що вказує, що кожна нитка зараз робить, я отримую подібне зображення для 16 рангів з 6 нитками / рангом:
Моє запитання: які ще способи візуалізації цих даних можуть допомогти вирішити проблеми з ефективністю? Хтось має улюблений тип сюжету, який він використовує під час профілювання асинхронних програм?
Цей набір даних обмежений тим, що він не знає структури потоку даних, але я хотів би отримати якомога більше інформації про нього, перш ніж намагатися зібрати щось складніше.
Незжаті зображення тут в разі , якщо хто -то хоче , щоб озирнутися (це не вдалося завантажити через нормальний маршрут). На жаль, Firefox не приймає його, хоча я вважаю, що він дійсний, можливо, тому що він занадто великий.