Эффективное Использование Компьютерных Ресурсов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Эффективное Использование Компьютерных Ресурсов



Многие методы компьютерной химии чрезвычайно ресурсоёмки.

Чтобы сделать отдельное вычисление в зависимости от типа вычисления, может потребоваться от секунд до недель. Есть много вычислений, типа ab initio анализа биомолекул, которые не могут быть сделаны на самых больших компьютерах. Аналогично, вычисления могут требовать очень большие количества компьютерной памяти и пространства жесткого диска. Чтобы заканчивать работу в приемлемое время, необходимо понять, какие компоненты вносят вклад в требования компьютерных ресурсов. Идеально, пользователь должен предсказывать заранее, сколько будет необходимо вычислительной мощи.

Часто можно выбирать между эквивалентными путями выполнения того же самого вычисления. Например, многие ab initio программы используют пространство жесткого диска, чтобы сохранить числа, которые однажды вычислены и используются несколько раз в течение вычисления. Это интегралы, которые описывают перекрывание между различными базисными функциями. Вместо вышеупомянутого метода, называемого обычной составной оценкой, можно использовать прямую составную оценку, в которой повторно будут вычислены только те числа, которые необходимы. Направленные составные оценочные алгоритмы, используют меньшее количество пространства диска за счет требования большего количества CPU время, чтобы сделать вычисление. В алгоритме в ядре - записывают все интегралы в памяти RAM, таким образом, сохраняя дисковое пространство, за счет требования компьютера с очень большим количеством памяти. Много программ используют полупрямой алгоритм, который использует некоторое пространство диска и немного большее количество CPU времени, чтобы получить оптимальный баланс обоих.

15.1. СЛОЖНОСТЬ ВРЕМЕНИ (это называют стоимостью расчета – В.К.)

Сложность Времени - обозначения пути, как использование компьютерных ресурсов (CPU время, память, и т.д.) изменяется с изменением размера проблемы. Например, рассмотрим вычисление HF с N орбиталями. В конце вычисления должны быть добавлены еще и орбитальные энергии. Так как есть N орбиталей, будет N действий присоединения. Есть некоторое число действий, которые мы назовем C, которые должны быть сделаны независимо от размера вычисления, типа инициализации переменных и распределения памяти. Стандартное требование матричного алгоритма инверсии N3 действий. Вычисление двухэлектронного кулоновского и обменного интегралов для вычисления HF потребует N4 действий. Таким образом, общая сумма CPU времени, требуемого для вычисления HF, масштабируется как N4 + N3 + N + C. Однако для достаточно большого N, N3, N, и C условия будут мало значащими по сравнению с размером N4 (если N =10, то N3 - 10 % от N4, и для N = 100, N3 - 1 % от N4, и т.д.). Программисты описали этот тип алгоритма как тот, который имеет сложность времени N4 и обозначили - O(N4). Подобный анализ мог быть сделан для использования памяти, использования диска, объема сети, и так далее.

Эти соотношения могут использоваться, чтобы оценить количество CPU времени, пространства диска, или памяти, необходимой, чтобы проводить вычисления. Позвольте нам показать на примере исследователя, химика Джейн, которая хотела бы вычислить некоторое свойство у полимера.

Она сначала исследует литературу, чтобы решить, какой ab initio метод с умеренно большим базисным набором даст желательную точность результатов. Затем она выполняет одноточечные вычисления и оптимизацию геометрии на мономере, которые потребуют соответственно 2 и 20 минут. Так как вычисление масштабируется как N4, оптимизация геометрии для тримера, который имеет три раза больше атомов, будет брать приблизительно 34 * 20 минут или приблизительно 27 часов. Джейн хотела бы моделировать цепи с 15 единицами, которая будет требовать 154 * 20 минут или приблизительно 2 года. Очевидно, использование ab initio метода для оптимизации геометрии - не приемлемо. Джейн тогда мудро решает остановиться на цепи с 10 единицами, оптимизированных методами молекулярной механики, который требует только час для оптимизации. Она получает желательные результаты с одноточечным ab initio вычислением, на которые потребуется 104*2 минуты или 2 недели для большой молекулы. Конечное вычисление все еще довольно большое, но выполнимо, так как Джейн имеет для работы собственную станцию с непрерываемым электропитанием.

Есть много различных алгоритмов, которые могут быть запрограммированы в более или менее эффективной манере, чтобы получить тот же самый по точности результат. Из-за этого, конкретный метод будет иметь слегка различные сложности времени от одной программы до другой. Таблица 15.1 дает некоторые общие расчеты времени. М. - число атомов, L длина одной стороны блока, содержащего молекулы при вычислении, используя периодические граничные условия, число активных пространственных орбиталей и N число орбиталей при вычислении. Таким образом, N может увеличиваться или за счет включения большего количества атомов или использования большего базисного набора.

Вычисления Оптимизации геометрии будет проходить дольше, чем вычисление отдельной энергии. Причины двойные: сначала, должно быть сделано много вычислений, поскольку будет изменена геометрия. Во вторых, каждое повторение требует более длинный порядок времени, чтобы вычислить градиенты энергии. Количество CPU времени, требуемого для оптимизации геометрии, Topt, зависит от числа градусов свободы, обозначенной как D. Градусы свободы (очень смешно! имелись в виду, очевидно, степени свободы – В.К.) - геометрические оптимизируемые переменные, типа длин связей, углов и т.п.. Как общее эмпирическое правило, количество времени для оптимизации геометрии может быть оценено из одноточечной энергии времени CPU, Tsingle, по уравнению Topt = 5* D2 * Tsingle (15.1)

Для ab initio, полуэмпирических или вычислений молекулярной динамики, необходимое количество времени CPU обычно постоянно вызывает большое беспокойство у исследователей. Для очень больших молекул, использование памяти вызывает беспокойство и для вычислений даже молекулярной механикой. Таблица 15.2 - список требования памяти для множества алгоритмов оптимизации геометрии.

Расход времени указывает только, как увеличивается время CPU с большими системами. Даже для малой работы, более сложные алгоритмы будут занимать большее количество CPU времени. Как общее эмпирическое правило, методы с большей сложностью времени будут также требовать большего количества использования пространства диска и памяти. Однако, между пакетами программ имеются значительные различия между количеством памяти, временем CPU, и требуемым пространством диска. Несколько исключений должно быть упомянуто. Алгоритмы HF обычно имеют использование памяти N2, если это не алгоритмы в-ядре, которые имеют использование памяти N4. Вычисления QMC требуют чрезвычайно больших количеств CPU времени, даже для очень малых молекул, но требуют очень небольшой памяти или дискового пространства.

Поскольку оптимизация геометрии, гораздо более отнимающая времени, чем вычисление геометрии, общее правило- использовать различные теоретическое обоснование для проведения оптимизации и вычисления конечного результата. Например, метод ab initio с небольшим базисным набором и минимальной корреляцией может использоваться для оптимизации, а затем для конечного вычисления энергии могут использоваться одноточечные вычисления с большим количеством корреляций и большим базисом. Это было бы обозначено типа MP2/6-31G*//ccsd (t)/cc-pVTZ. В некоторых случаях, чтобы определить геометрию для ab initio вычисления, могут использоваться молекулярная механика или полуэмпирические вычисления,. Молекулярная механика почти всегда используется для поиска конформаций. Одно исключение - колебательные частоты должны быть вычислены с тем же самым теоретическим обоснованием, с которым была оптимизирована геометрия.

Обратите внимание, что много программ теперь оптимизированы для прямой работы, что по сути, превосходит по быстродействию обычные методы. Пример в Таблице 15.3, которая была получена, используя программу Гауссиан 98. Эта программа использует доступную память, так что использование памяти – это только функция очереди выполнения. Пожалуйста, обратите внимание, что Таблица 15.3 дает пример только для одной молекулы, а не средняя или предполагаемая работа.

СТОИМОСТЬ РАБОТЫ

Другое важное соображение - количество рабочей силы, необходимой со стороны пользователя. Одно главное различие между различными пакетами программ - выборы разработчика между легкостью использования и эффективности действия. Например, программа Spartan чрезвычайно легка в использовании, но очень высокая цена за этот алгоритм и не всегда наиболее эффективна и доступна. Много пользователей химии начинают с программного обеспечения, которое является очень простым, но когда более сложные проблемы должны быть решены, часто можно легко научиться, чтобы использовать более сложное программное обеспечение, чем купить суперкомпьютер, чтобы решить проблему, которая могла быть сделана на автоматизированном рабочем местом с различным программным обеспечением.

ПАРАЛЛЕЛЬНЫЕ КОМПЬЮТЕРЫ

Массовое производство классов автоматизированных рабочих мест с CPUs намного дешевле, чем традиционные суперкомпьютерные процессоры. Таким образом, большее количество вычислительной мощи за доллар может быть куплено, покупая параллельный суперкомпьютер, который мог бы иметь сотни автоматизированных рабочих мест CPUs.

Программное обеспечение, написанное для компьютеров с отдельными процессорами не будет автоматически использоваться в многочисленных CPUs. В настоящее время, есть компиляторы, которые могут пытаться запараллелить компьютерные алгоритмы, но эти компиляторы обычно неэффективны для сложных компьютерных программ. Пройдет время и такие компиляторы станут настолько хорошими, что любую программу можно будет запараллелить без дополнительной работы, также, как оптимизация компиляторов полностью устранит потребность писать приложения полностью на машинном узле. Пока этот день не пришел, человек, использующий программы компьютерной химии должен понять, как идет работа параллельного программного обеспечения, для того чтобы эффективно делать его или ее работу.

Идеально, если бы вычисление, которое берет час на отдельном CPU, выполнялось за тридцать минут на двух CPUs. Это называется линейной скоростью вверх. Практически, это - невозможно, потому что два вычисления CPU должны делать дополнительную работу, чтобы разделить рабочую нагрузку между этими двумя процессорами и объединить результаты, чтобы получить конечный ответ.

Есть несколько типов алгоритмов, которые дают почти совершенно линейное масштабирование из-за природы алгоритма и количества работы, какие разработчик сделал, чтобы запараллелить код. Много алгоритмов Монте-Карло очень эффективно могут быть запараллелены. Есть также несколько программ, для которых наше гипотетическое вычисление в течение часа потребовало бы 11/ 2 часа на двух-CPU механизмах из-за неэффективного пути, по которым была осуществлена параллелизация. Некоторые из коррелированных ab initio алгоритмов очень трудно эффективно запараллелить. Наиболее запараллеленые программы находятся где-нибудь между этими двумя крайностями. Различные методы в пределах данного пакета программ часто параллелятся с различной эффективностью.

Некоторые пакеты программ могут быть выполнены на кластере объединенных в сеть автоматизированных рабочих мест, как если бы они были единым механизмом мультипроцессора. Однако, ускорение передачи данных поперек сети идет не с такой скоростью как ускоряется при передачи данных между CPUs параллельного компьютера. Некоторые алгоритмы сломают работу, которая будет сделана на очень больших кусках с минимальным количеством связи между процессорами. Они называются large-grained ( большими-зернистыми) алгоритмами, и они работают на кластере автоматизированных рабочих мест также как на параллельном компьютере. Мелкозернистые алгоритмы требуют значительного количества частых связей между CPUs и выполняются медленно на кластере автоматизированных рабочих мест, потому что пределы скорости частоты сети при вычислении больше, чем работа CPUs. Есть также различия в связи, ускорениями между параллельными компьютерами, сделанные различными продавцами, которые могут иногда иметь значительный эффект при быстром выполнении вычислений.



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.214.141 (0.007 с.)