Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VOPROSY_Kolesnikov.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
613.39 Кб
Скачать
  1. Грід системи

Грид-вычисления ( англ. grid - Решетка, сеть) - это форма распределенных вычислений, в которой "виртуальный суперкомпьютер "представлен в виде кластеров соединенных с помощью сети, слабосвязанних, гетерогенных компьютеров, работающих вместе для выполнения огромного числа задач (операций, работ). Эта технология применяется для решения научных, математических задач, требующих значительных вычислительных ресурсов. Грид-вычисления используются также в коммерческой инфраструктуре для решения таких трудоемких задач, как экономическое прогнозирование, сейсмоаналіз, разработка и изучение свойств новых лекарств. Грид с точки зрения сетевой организации представляет собой согласованную, открытую и стандартизированную среду, которая обеспечивает гибкое, безопасное, скоординированное разделение вычислительных ресурсов и ресурсов хранения информации, которые являются частью этой среды, в рамках одной виртуальной организации. Грид является географически распределенной инфраструктурой, объединяющей множество ресурсов разных типов (процессоры, долговременная и оперативная память, хранилища и базы данных, сети), доступ к которым пользователь может получить из любой точки, независимо от места их расположения.

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

В настоящее время выделяют три основные типы грид-систем:

1. Добровольные гриды - гриды на основе использования добровольно предоставляемого свободного ресурса персональных компьютеров;

2. Научные гриды - хорошо распаралелені приложения программируются специальным образом (например, с использованием Globus Toolkit);

3. Гриды на основе выделения вычислительных ресурсов по требованию (коммерческий грид, англ. enterprise grid ) - Обычные коммерческие приложения работают на виртуальном компьютере, который, в свою очередь, состоит из нескольких физических компьютеров, объединенных с помощью грид-технологий.

  1. Критичні секції в OpenMp програмах

С помощью директив critical (critical ... end critical) оформляется критическая секция программы.

#pragma omp critical [(<имя_критической_секции>)]

В каждый момент времени в критической секции может находиться не более одной нити. Если критическая секция уже выполняется какой-либо нитью, то все другие нити, выполнившие директиву для секции с данным именем, будут заблокированы, пока вошедшая нить не закончит выполнение данной критической секции. Как только работавшая нить выйдет из критической секции, одна из заблокированных на входе нитей войдет в неё. Если на входе в критическую секцию стояло несколько нитей, то случайным образом выбирается одна из них, а остальные заблокированные нити продолжают ожидание. Все неименованные критические секции условно ассоциируются с одним и тем же именем. Все критические секции, имеющие одно и тоже имя, рассматриваются единой секцией, даже если находятся в разных параллельных областях. Побочные входы и выходы из критической секции запрещены. С директивой critical порядок вывода результатов может быть произвольным, но это всегда будет на-бор одних и тех же чисел от 0 до OMP_NUM_THREADS-1.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]