Некоторые особенности работы с большими графами в современных информационных системах:
- Метод разбиения. 1 При разбиении по рёбрам вершины равномерно распределяются между подграфами, а при разбиении по вершинам — рёбра равномерно распределяются между подграфами. 1
- Программная модель. 1 В подграф-центричной модели центром внимания является подграф, поэтому можно использовать привычные алгоритмы, но с учётом синхронизации промежуточных результатов между подграфами. 1 В вершинно-центричной модели центром внимания является вершина, а алгоритмы составляются из доступных ей данных: рёбер, весов, значений вершины и т. д.. 1
- Модель исполнения. 1 Процесс вычисления результата на графах является итеративным, поэтому нужно определять, когда запускать следующую итерацию. 1
- Синхронизация. 1 После запуска алгоритма на подграфах необходимо собрать результаты со всех подграфов для финальной агрегации. 1 Синхронизация может осуществляться через разделяемую память или обмен сообщениями. 1
Для параллельной обработки больших графов могут применяться программные модели MapReduce, Pregel, Charm++ и Grappa, используемые для работы как в частных облаках, так и на высокопроизводительных кластерных системах. 2