Некоторые методы, которые используются для оптимизации графовых структур в больших данных:
- Кластеризация и сегментирование. 4 Направлены на более эффективное хранение данных о вершинах в различных уровнях иерархии кэш-памяти целевой архитектуры. 4 Например, в смежных участках памяти хранят информацию о наиболее часто запрашиваемых вершинах графа, после чего участки массивов с информацией о них подгружают в кэш-память. 4
- Выделение виртуальных узлов. 3 Ими заменяют «сгустки» связей. 3 Для этого исходный граф разбивают на кластеры с похожим набором связей, для каждого кластера строят суффиксное дерево со списком вершин-кандидатов для генерации виртуальных узлов, считают потенциальное сжатие для каждого из кандидатов и выбирают наилучший. 3
- Матричное представление графов. 5 Позволяет использовать архитектуру CUDA и, в частности cuBLAS, для параллельных вычислений на уровне примитивов, а также применять средства линейной алгебры и основанные на ней методы прикладной математики. 5