Многопроцессорная реализация программы докинга SOL
И.В.Оферкин, А.В.Сулимов, О.А. Кондакова, В.Б.Сулимов

Данная работа посвящена рассмотрению параллельных вариантов построения сетки потенциалов и докинга одного лиганда, реализованных с использованием MPI. В качестве исходных последовательных алгоритмов были взяты алгоритм построения сетки потенциалов, реализованный в программе SOLGRID, и генетический алгоритм (ГА) докинга, реализованный в программе SOL.
Для алгоритма построения сетки потенциалов был реализован один вариант параллельного аналога. Его основная идея состоит в том, что потенциалы в разных узлах сетки одновременно рассчитываются на разных процессорах. На кластерном суперкомпьютере СКИФ МГУ "Чебышев" эффективность этого параллельного алгоритма составила 70% на 128 ядрах, что в абсолютной величине соответствует нескольким минутам работы программы.
Параллельный докинг одного лиганда реализован иерархически по "двухуровневой" схеме: независимые запуски ГА одновременно выполняются разными группами процессов, и в каждом независимом запуске ГА популяция обрабатывается параллельно процессами соответствующей группы. Было реализовано две параллельных версии докинга одного лиганда. Одно различие между версиями состоит в способе хранения популяции положений лиганда: в первой версии эта популяция хранится распределенно в памяти разных процессов, а во второй версии вся популяция хранится в памяти одного процесса. Другое различие состоит в способе параллельного выполнения независимых запусков ГА. Во второй версии возможно (и используется) переключение выполнения независимых запусков ГА между разными группами процессов с незначительной потерей эффективности, в то время как для первой версии потеря эффективности будет значительной ввиду распределенного хранения популяции. Поэтому для первой версии возникает необходимость планирования распределения независимых запусков ГА по группам процессов. На кластерном суперкомпьютере СКИФ МГУ "Чебышев" эффективность обоих вариантов алгоритмов параллельного докинга одного лиганда быстро спадала до 40% при изменении числа ядер от 1 до 8, затем медленно уменьшалась до 20% на 1024 ядрах для первого варианта и до 30% на 1024 ядрах для второго варианта.
Полученные параллельные версии алгоритмов вычисления сетки потенциалов и докинга одного лиганда могут найти применение при подборе параметров для докинга в новый белок-мишень перед массовым виртуальным скринингом или при исследовании конкретного комплекса лиганда и белка.