Locality methodology

Материал из Алговики
Версия от 15:04, 9 сентября 2014; VadimVV (обсуждение | вклад) (Новая страница: «# <span style="color:red">Описание локальности алгоритма</span> # Описание локальности реализации алг…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
  1. Описание локальности алгоритма
  2. Описание локальности реализации алгоритма
    1. Качественное (словесное) описание пространственной и временной локальности
      1. Построить график профиля обращений в память.
      2. Выполнить визуальный анализ структур профиля обращений (при необходимости масштабировать график для проведения более подробного анализа). На различных шагах масштабирования привести выводы/предположения о пространственной и временной локальности, которые можно сделать на данном шаге.
        1. В результате должно сложиться понимание о структуре профиля с точностью до отдельных обращений.
        2. Особое внимание стоит обратить на выделение характерных фрагментов профиля: итераций, циклов, переборов элементов массивов, случайному доступу и т.д.
        3. При масштабировании необходимо на предыдущем графике профиля отобразить его фрагмент, который будет масштабироваться.
      3. После проведения визуального анализа сделать общие выводы о пространственной/временной локальности (если он не были сделаны ранее).
  3. Количественная оценка локальности
    1. Посчитать daps и cvg.
    2. Построить графики со сравнением каждой из оценок с реализациями других, типовых алгоритмов (например, Линпак, БПФ, перемножение матриц и т.д.)
      1. По возможности проанализировать положение изучаемой реализации в ранжировании относительно типовых программ. Особенно интересно анализ результатов по сравнению со схожими реализациями (например, сравнение классического и блочного перемножения матриц; рекурсивной и нерекурсивной реализаций; двух реализаций, среди которых одна является значительной частью другого).