Содержание к диссертации
Введение
Глава I. Анализ вычислительных средств для решения многомерных задач 11
1.1. Классы решаемых многомерных задач 11
1.2.Анализ возможностей суперкомпьютеров различных классов для решения многомерных задач 20
1.3. Исследование возможностей кластеров ЭВМ для решения многомерных задач 25
1.4. Пути повышения производительности кластеров ЭВМ 31
1.5. Выводы 32
Глава 2. Разработка и исследование элементов и устройств кластера ЭВМ на основе многослойной коммутации 34
2.1. Разработка элементов и устройств высокопроизводительного кластера на основе многослойных вычислений 34
2.2. Выбор типа коммутатора для организации кластера 47
2.3. Исследование характеристик разработанной структуры кластера на примере моделирования разработки нефтесодержащего пласта 49
2.4. Выводы 57
Глава 3. Повышение производительности кластеров ЭВМ на основе статического оптимального планирования при обработке многомерных задач 59
3.1. Задачи, методы и проблемы исследования сложных систем 59
3.2. Разработка алгоритма моделирования параллельной обработки задач и методики его применения для статического оптимального планирования 66
3.2.1.Общая характеристика выбранного метода планирования 66
3.2.2. Матричные последовательности (модели) задач 67
3.2.3. Расчет основных параметров параллельной обработки задачи на основе ее матричной групповой модели 72
3.2.4.Методика применения алгоритма для статического оптимального планирования параллельной обработки задач 80
3.3.Применение алгоритма для повышения производительности кластера на основе многослойной коммутации при решении задачи моделирования разработки нефтесодержащих пластов 81
3.4. Выводы 82
Глава 4. Программная реализация и экспериментальное исследование характеристик элементов и устройств разработанного кластера при решении задачи моделирования разработки нефтесодержащего пласта 84
4.1 . Задача моделирования разработки нефтесодержащего пласта 84
4.2. Выбор программно-технических средств 92
4.3.Разработка модели программной реализации основных алгоритмов системы 102
4.4.Разработка и описание программы моделирования основных алгоритмов системы 106
4.5. Руководство пользователя 109
4.6. Выводы 124
Заключение 125
Библиографический список использованных источников 129
Приложение 1. VHDL описание коммутатора 139
Приложение 2. Акты об использовании результатов кандидатской диссертации 150
- Исследование возможностей кластеров ЭВМ для решения многомерных задач
- Исследование характеристик разработанной структуры кластера на примере моделирования разработки нефтесодержащего пласта
- Задача моделирования разработки нефтесодержащего пласта
- Руководство пользователя
Введение к работе
Актуальность темы. Повышение производительности вычислительной техники имеет определяющее значение для развития фундаментальной науки, техники, производства и обороноспособности страны. Создание объектов с высокими техническими показателями требует разработки качественных многофакторных моделей, что невозможно без высокопроизводительных ЭВМ, поэтому проблема повышения их производительности является наиболее существенной и актуальной.
Постоянно возрастающая сложность моделируемых многомерных объектов требует от ЭВМ всё большей производительности. Недостаточная производительность современных универсальных ЭВМ не позволяет принимать эффективные решения в отношении сложных многомерных объектов за приемлемое время.
При достигнутом уровне технологий, структурных и программных решений производительность процессоров можно считать практически постоянной, близкой к теоретическому пределу, поэтому повышение производительности вычислителей идёт по пути объединения процессоров, однопроцессорных и многопроцессорных ЭВМ в разнообразные параллельные вычислители и повышения эффективности использования вычислительных ресурсов.
На современном этапе развития параллельных вычислителей остро стоит проблема повышения их производительности при увеличении числа процессоров. Возрастающая сложность управления параллельной обработкой данных для многомерных задач, обусловленная большим количеством разнообразных операторов и логических связей между ними, а также неадекватностью структуры параллельного вычислителя структуре обрабатываемых задач, приводит к увеличению времени обменных операций, простою процессоров и резкому падению реальной производительности параллельного вычислителя по сравнению с теоретической. В этих условиях резко возрастает значение структурных и программных методов повышения производительности параллельных вычислителей. Комплексный подход к повышению производительности параллельных вычислителей на основе структурных и программных методов является в настоящее время одним из перспективных направлений развития информационных технологий.
Актуальность темы исследований определяется важностью
комплексного решения проблем разработки высокопроизводительных
параллельных вычислителей, ориентированных на решение многомерных
задач. Работа выполнялась в рамках исследований по
высокопроизводительным проблемно-ориентированным системам
структурного моделирования, проводимых на кафедре Вычислительной
техники Таганрогского технологического института Южного Федерального университета.
Цель работы. Целью работы является разработка и исследование элементов и устройств вычислительной техники и программных методов для повышения производительности параллельных вычислителей.
Основные задачи исследования. Достижение поставленной цели предполагает решение следующих основных задач:
Анализ проблем построения высокопроизводительных параллельных вычислителей и определение путей их решения на основе разработки элементов и устройств вычислительной техники.
Синтез масштабируемой структуры высокопроизводительного параллельного вычислителя на основе комплексной разработки элементов и устройств вычислительной техники.
3.Разработка алгоритма моделирования параллельного решения задач и методики его применения для статического оптимального планирования.
Объект исследования. Объектом исследования являются элементы, устройства и методы организации высокопроизводительных параллельных вычислителей.
Методы исследования. Для решения поставленных задач и достижения намеченной цели были использованы основы теории вычислительных машин, теории матриц и графов, теории алгоритмов, численных методов и параллельных вычислений. Экспериментальные исследования проводились на разработанной практической системе моделирования.
Достоверность и обоснованность полученных в работе результатов подтверждается корректностью исходных посылок, а также корректностью применения математического аппарата, численными расчетами, результатами проведённых экспериментальных исследований, внедрением научных и практических результатов диссертационной работы.
Научная новизна диссертационной работы. Научная новизна работы состоит в следующем:
l.Ha базе кластера универсальных ЭВМ и параллельного вычислителя SMP-структуры (симметричный мультипроцессор) синтезирована масштабируемая структура кластера с использованием многослойной коммутации, отличающаяся от существующих структур кластеров универсальных ЭВМ наличием нескольких слоев акселераторов, что позволяет повысить производительность кластера при параллельном решении многомерных задач.
2. Предложен коммутатор, структурно объединяющий несколько многослойных коммутаторов, отличающийся от аналогов тем, что обеспечивает взаимодействие акселераторов разных слоев и повышение
производительности кластера при решении сложных по структуре многомерных задач.
Синтезирован алгоритм матрично-группового моделирования параллельного решения сложных по структуре задач, отличающийся от известных алгоритмов моделирования параллельных процессов совмещением одновременно процессов вычисления и обмена, что позволяет на основе результатов моделирования повысить производительность кластера путем выполнения операций обмена на фоне процессов вычислений.
Разработана методика применения алгоритма матрично-группового моделирования для оптимального статического планирования параллельного решения задач со сложной структурой, которая отличается от известных методик учетом процессов обмена, что позволяет повысить эффективность планирования и производительность кластера.
Практическая значимость полученных результатов.
Практическая значимость полученных результатов заключается в инновационном способе создания параллельного вьгаислителя. Структура кластера с использованием многослойной коммутации, позволяет наращивать производительность кластера с помощью увеличения числа акселераторов и количества универсальных ЭВМ на основе схемы коммутации, структурно объединяющей несколько многослойных коммутаторов. Предложенная схема коммутации позволяет на аппаратном уровне объединить несколько многослойных коммутаторов, что повышает производительность кластера при решении сложных по структуре и плохо распараллеливаемых многомерных задач. При этом синтезированный в диссертации алгоритм матрично-группового моделирования параллельного решения задач позволяет автоматизировать процесс оптимального статического планирования при решении больших по объему и сложных по структуре задач. На данной основе уменьшается время планирования параллельных вычислений и достигается уменьшение времени решения задачи путем выполнения операций обмена на фоне процессов вычислений.
Реализация результатов работы.
Научные и практические результаты диссертационной работы использованы в федеральном Научно-производственном центре ОАО «Марс» (г.Ульяновск), в «ООО АРМСофт» (г.Волгоград), на линейном ледоколе «Капитан Демидов», в учебном процессе на кафедре Автоматизированных систем обработки информации и управления Ижевского государственного технического университета, на факультете Электроники и вычислительной техники Волгоградского государственного технического университета, а также в научно-исследовательских работах и в учебном процессе на кафедре Вычислительной техники Таганрогского
технологического института Южного Федерального университета, что подтверждено соответствующими актами об использовании.
Основные положения и результаты, выносимые на защиту:
Масштабируемая структура кластера на основе многослойной коммутации, позволяющая повысить производительность кластера при параллельном решении задач со сложной структурой, за счет введения специализированных элементов и устройств.
Алгоритм матрично-группового моделирования параллельного решения задач со сложной структурой, который позволяет осуществлять планирование параллельной обработки в статическом режиме с учетом процессов обмена.
3.Методика применения алгоритма матрично-группового моделирования для оптимального статического планирования параллельного решения сложных по структуре задач с учетом процессов обмена для повышения эффективности планирования и производительности кластера.
Структура и объем работы. Результаты работы изложены во введении, четырех главах и заключении. Общий объем диссертации 158 страниц, включая 43 иллюстрации, 16 таблиц, список литературы из 101 наименования и 2 приложения.
Исследование возможностей кластеров ЭВМ для решения многомерных задач
Суперкомпьютеры имеют стратегическое значение. Они позволяют решать «ключевые» задачи в различных областях науки и техники [3,45,76,98]. Их высокая производительность обеспечивается усложнением аппаратных и программных составляющих, созданием компактных специализированных процессоров и увеличением их числа. Разработка, создание, освоение и текущая эксплуатация суперЭВМ требует огромных финансовых средств. Вследствие высокой рыночной стоимости для большинства научно-исследовательских организаций они недоступны.
Альтернативой традиционным суперкомпьютерам стали кластеры ЭВМ, которые значительно дешевле и имеют короткий цикл разработки. Это стало возможным в середине 1990-х годов, когда на рынке появились недорогие и эффективные микропроцессоры и коммуникационные решения. Благодаря оснащению персонального компьютера (ПК) высокоскоростной шиной PCI и быстрой сети Fast Ethernet кластеры стали догонять специализированные МРР-машины по коммуникационным возможностям. Создаваемые из стандартных серийных ПК (SMP-серверов, рабочих станций), на основе серийных сетевых технологий, кластеры ЭВМ обходилась в среднем на два порядка дешевле [24].
Наиболее известны [18] кластеры «первого поколения»:
о Beowulf (1994, NASA Goddard Space Flight center) - 16 процесорный кластер на процессорах Intel 486 DX4/100 МГц; сеть Ethernet. Проект Beowulf дал название целому ряду кластеров и стал основой общего подхода к построению кластеров ЭВМ [70]. о Avalon (1998, Лос-Аламосская национальная лаборатория) Linux- кластер на базе процессоров Alpha 21164А/533 МГц. Первоначально Avalon состоял из 68 процессоров, затем их число увеличилось до 140. Показанная производительность на тесте Linpack - 47,7 Гфлопс, позволила ему занять 114 место в 12-й редакции списка Тор 500 рядом с 152-процессорной системой IBM RS/6000 SP. В том же году кластер получил первую премию в номинации «Наилучшее соотношение цена/производительность» [18].
о AC3 Velocity (1999, Cornell Theory Center) - 256-процессорный кластер на процессорах Pentium Ш Xeon/500 MHz. ВС состоит из 64 SMP-серверов Power Edge от DELL, работающих под управлением Windows NT. Каждый сервер включает четыре процессора. Сетевая технология - cLAN от Giganet. Назначение кластера - проведение биомедицинских исследований [18].
о Кластер общего назначения Санкт - Петербургского государственного университета ( Россия ), содержащий 40 процессоров [24].
Опыт эксплуатации первых кластеров показал перспективность этого направления, но одновременно и недостаток - низкую надёжность, поскольку 25% общего времени работы кластера уходило на его профилактику. Кластеризация перешла на более качественный - профессиональный уровень [18,32].
Бурное развитие кластерных технологий хорошо видно из анализа списка Тор 500: если с 2000 по 2004г., доля кластеров в списке увеличилась с 2,2 до 60,8%, то на июнь 2010 года их доля составляет уже 84,8% [100]. Помимо развития сетевых технологий, быстрый рост производительности кластеров дал быстрый рост производительности выпускаемых массовых процессоров корпораций Intel, AMD и другими. Например кластеры «СКИФ К-500» (2003г., 128 процессоров Intel Хеоп; 423,6 GFLOPS), «СКИФК-1000» (2004; 576 процессоров AMD Opteron; 2,032 TFLOPS), построенные для российско-белорусской суперкомпьютерной программы «СКИФ». В межведомственном суперкомпьютерном центре (МСЦ РАН) установлен кластер МВС 15000 БМ с реальной производительностью более 5,3 TFLOPS, построенный на вычислительных узлах корпорации ШМ на базе процессоров Power PC и системной сети Myrinet [32]. Суперкомпьютер «СКИФ МГУ», введенный в строй в 2008 году, имеет пиковую производительность 60 TFLOPS. Такая производительность позволяет решать стратегические задачи в интересах страны.
Кластерные технологии применяются и в новейших суперкомпьютерных разработках ведущих изготовителей. Например, в суперкомпьютере ШМ Blue Gene/P использованы многие элементы кластерной архитектуры.
Рассмотрим структуры кластеров ЭВМ, применяемых в настоящее время. Кластер состоит из компактных вычислительных узлов (ВУ) на базе стандартных процессоров, соединенных высокоскоростной системной сетью (интерконнектом), а также, как правило, вспомогательной и сервисной сетями. В качестве ВУ чаще всего используются двухпроцессорные SMP-серверы в корпусе одной Ш до 4U, собранные в 19-дюймовые стойки, что позволяет создавать более крупные системы. Каждый ВУ работает под управлением своей копии стандартной ОС, чаще всего Linux. Состав и мощность ВУ в рамках одного кластера могут быть разными, но чаще всего строятся однородные кластеры. Выбор интерконнекта определяется особенностями решаемых задач, располагаемыми финансами, требованиями к маштабируемости и т.п. Находят широкое применение такие технологии интерконнекта, как Gigabit Ethernet, SCI, Myrinet, OsNet, InfiniBand, характеристики которых указаны в таблице 1.1 [ 18, 32].
С каждой технологией интерконнекта связана своя топология. Например, сеть SCI имеет топологию двух- или трехмерного тора и не требует применения коммутаторов, что уменьшает стоимость системы, но, с другой стороны, имеются существенные ограничения по маштабируемости.
Сети Myrinet, OsNet, InfiniBand используют коммутируемую топологию Fat Tree. ВУ кластера соединяются кабелями с коммутаторами нижнего уровня, которые в свою очередь объединяются через коммутаторы верхнего уровня. Такая топология имеет много путей передачи сообщений между узлами и хорошую маштабируемость при любом числе ВУ.
Увеличение числа узлов в кластере всегда связано с проблемой охлаждения. Например, «СКИФ К-1000» потребляет более 89 кВт, но все 288 узлов форм фактора Ш размещены в восьми стойках, поэтому эта проблема требует специального решения. Повышение частоты процессора ведет к росту его производительности, но одновременно увеличивается энергопотребление, поэтому был сделан выбор процессоров умеренного быстродействия с низким энергопотреблением. Такой подход к проектированию Beowulf-кластеров привел к созданию серверов-лезвий (Server blade), а затем и компьютера «Green Destiny», который стал прообразом современных высокопроизводительных кластеров, ознаменовав качественно новый этап в развитии кластерных технологий. Этот компьютер (Bladed Beowulf) не отличался особой производительностью - его достоинство в компактности, низком энергопотреблении и высокой надёжности. Creen Destiny это стойка из десяти шасси RLX System 324 высотой 3U. В каждое шасси упаковывалось 24 лезвия RLX Server Blade. Каждое лезвие было укомплектовано процессором Transmeta ТМ5600/633 МГц, оперативной памятью на 256 Мбайт, диском на 10 Гбайт и тремя контроллерами Fast Etheraet. Шасси высотой 3U могло работать самостоятельно и от аналогичной сборки из серверов Ш оно отличалось тем, что имело в восемь раз более высокую плотность и в шесть раз меньшее энергопотребление. Работы выполнялись в 2000-2002 годах компанией RLX Technologies (ранее RocKetLogix) и Лос-Аламосской Национальной лабораторией под руководством Криса Хиппа и By Чун Фенга.
Исследование характеристик разработанной структуры кластера на примере моделирования разработки нефтесодержащего пласта
Разработанная концептуальная структура кластера может быть взята за основу при создании проблемно-ориентированных систем структурного моделирования. Такая потребность возникает в случае, когда вычислительной мощности отдельной ЭВМ недостаточно для решения задачи за приемлемое для практики время. Для исследования характеристик кластера выделим фрагмент нефтесодержащего пласта с наложенное сеткой узлов (рис.2.11).
Для исследования характеристик разработанной структуры кластера примем следующие исходные данные: число узлов в выбранном фрагменте пласта-49152 (128x32x12), где 128 -число узлов по длине, 32 -по ширине и 12 -по высоте; число временных слоев - В=730 (моделирование осуществляется на период в 30 лет с шагом в 15 суток [30,53]); число итераций в каждом временном слое - И=200; число прогонов модели для выбора оптимального варианта - П=20. На каждой итерации для получения нового значения параметров в каждом узле выполняется 100 эквивалентных операций сложения. При принятых исходных данных объем одной итерации составляет почти 5 млн., а общий объём-1,5-10" операций.
Недостаточная производительность ЭВМ не позволяет выбирать в процессе моделирования оптимальный режим пластового давления в скважинах эксплуатируемого месторождения на весь плановый период. Это приводит к невыполнению плана добычи нефти, неокупаемым эксплуатационным расходам и сокращению срока эксплуатации месторождения.
Задача позволяет два способа параллельной обработки:
1. Один вариант задачи обрабатывается полностью одной ЭВМ, при этом число одновременно обрабатываемых вариантов равно числу ЭВМ кластера. Обмен между ЭВМ в этом случае отсутствует.
2. Один вариант обрабатывается одновременно несколькими ЭВМ, для чего отдельные подобласти трехмерного слоя распределяются по разным ЭВМ пропорционально их производительности с последующим обменом параметрами граничных узлов.
При исследовании эффективности кластера при обработке задачи по второму способу примем кластер однородным. Для передачи данных используем пакет - 12 байт, из которых 8 байт (64 бит) - для передачи номера узла и значения параметра. Время передачи данных для п граничных узлов составляет и-64/С = и-64/107 = и-6,4мкс, где С = 107бит/с пропускная способность одного порта коммутатора. Время на передачу служебной информации объемом 4 байт (32 бит) равно 32-10 7 = 3,2 мкс, что составляет менее 0,5% от времени передачи сообщения и в расчетах не учитывается. Режим обмена - дуплексный.
При расчётах эффективности (п) и ускорения (S) использовались следующие соотношения между параметрами параллельной обработки задач в статическом режиме: J7(N) = S(N)/N; S(N) = Tlu/Tlu(N); TllI(N) = Tcy(N) + To6M(N); T fNJ V iNJ/P ; TO6M(N) = VO6M{N)/C , где N - число вычислителей кластера - ЭВМ (АК); Ти и г, „(TV) - время обработки одной итерации соответственно одним и N вычислителями; 7„(TV) и 7 (TV) - критическое время обработки одной итерации соответственно по процессам счёта и обмена; FCT(TVj и V N) критический объем одной итерации соответственно по процессам счёта и обмена; Р - производительность вычислителя; С- пропускная способность одного порта коммутатора.
Для расчета производительности кластера (Ркл) использовалось соотношение - PKCJI(N) =PS( N ).
Область делилась на N подобластей таким образом, чтобы обеспечить наименьшее значение Тобм. Результаты расчетов представлены в таблицах 2.1 -2.4. Зависимости эффективности и производительности кластера от числа вычислителей и их производительности представлены на рис.2.12 и рис.2.13. Коэффициент К = Р/С , который является важной характеристикой кластера, указан на рис.2.13 вместе с производительностью.
Результаты расчетов позволяют сделать следующий вывод. При увеличении числа вычислителей в слое производительность кластера тем быстрее снижается по отношению к пиковой, чем большее значение имеет коэффициент К =Р/С, т.е. выше производительность вычислителей по отношению к пропускной способности одного порта коммутатора.
При увеличении числа вычислителей в слое критическое время счета уменьшается, а время обмена практически не изменяется, поэтому эффективность обработки падает. Увеличение производительности вычислителей не приводит к линейному росту производительности кластера. Например, производительность кластера из тридцати вычислителей АК№2 (К = 40) составляет только 12% от пиковой. Анализ таблицы 2.3 показывает, что по условиям данной задачи эффективность обработки обеспечивается в пределах (0.84 ц 1) при К 1. Поэтому при обработке по второму способу наращивание вычислительной мощности кластера увеличением числа вычислителей и(или) их производительности должно сопровождаться соответственно повышением пропускной способности интерконнекта кластера до значений С Р, при этом производительность кластера будет близка к пиковой. Для кластера из вычислителей максимальной производительности (АК№2) величину С следует увеличить в 40 раз, т.е. до 400Мбит/с. Такую пропускную способность обеспечивает коммуникационная технология Myrinet (табл.1.1), которая в настоящее время широко используется при построении высокопроизводительных кластеров вследствие умеренной стоимости, высокой скорости, малого времени задержки и возможности объединять компьютеры внутри комнаты и внутри стойки. Коммутаторы имеют 4,8,12 или 16 портов. Технология представляет большие возможности масштабирования кластера путем объединения коммутаторов в 2(3) уровня по топологии Fat п"ее(Толстое дерево). Организация кластера из АК№2 на основе интерконнекта Myrinet позволяет сократить время обработки задачи почти до 20 минут, но повышает его стоимость. Достоинством второго способа является меньший объем требуемой памяти АК, т.к. необходимо обрабатывать данные только одной подобласти, а также сократить число прогонов модели, в случае выбора варианта из нескольких первых. При моделировании задач сплошной среды число узлов сетки может достигать несколько миллионов, и вопрос объема памяти стоит очень остро, т.к. увеличивается стоимость, время выборки данных и размеры АК.
Исследования показали, что кластер для обработки задачи за время не более двух часов может быть реализован без привлечения высокоскоростных коммуникационных технологий при различном числе ЭВМ и слоев АК (Табл. 2.5).
Задача моделирования разработки нефтесодержащего пласта
Решение задачи разработки нефтяного месторождения (РНМ) сводится к моделированию процесса разработки неоднородного нефтесодержащего пласта произвольной формы, дренированного скважинами с заданным режимом работы с целью оптимизации последнего[48]. При этом решается система нелинейных дифференциальных уравнений в частных производных и задача двухфазовой фильтрации несжимаемой жидкости в нефтеносном пласте в системе скважин без учета гравитационных и капиллярных сил, которая может быть сформулирована следующим образом [1]. где U - давление в нефтеносном пласте, тв- водонасыщенность нефтяного пласта, к - гидродинамическая проницаемость среды, к„ и к в - относительные фазовые проницаемости соответственно нефти и воды, цн и цв - вязкость нефти и воды соответственно, m - пористость среды, Н - мощность (толщина) пласта.
Очередной цикл решения начинается с вычисления фазовых проницаемостей по значениям водонасыщенности, полученным на предыдущем цикле, либо по начальному их значению, если выполняется первый цикл вычислений. Расчет фазовых проницаемостей выполняется по эмпирическим зависимостям, в частности, в виде полинома: кн Для этой функции исходными данными служат значения фазовых проницаемостей и ц0. По полученным значениям определяются гидродинамические проводимости между соседними узловыми точками для всего поля области решения задачи по формуле:
Как видно из формулы (4.5), основными операциями, выполняемыми при вычислении, являются умножение и сложение, которые для ускорения выполнения могут быть реализованы аппаратно.
Одним из вариантов аппаратной реализации могут служить программируемые логические интегральные схемы (ПЛИС), которые позволяют расширить уже существующий набор команд специализированной командой, выполняемой аппаратно (рис. 4.1).
Реализация специализированной команды, представленной (4.5), показана на рис.4.2. При этом для повышения скорости вычисления помимо параллельного выполнения используем конвейеризацию, тем более, что она поддерживается библиотекой выполнения операций с плавающей запятой.
Для аппаратной реализации ядра вычислительной функции (4.5) использовалась ПЛИС AlteraStratixIII, разработка и моделирование проводилась в программе AlteraQuartusII. Исходя из ядра функции (4.5), была проведена оценка времени реализации функции при представлении чисел с плавающей запятой (таблица 4.1) и выбрана оптимальная глубина конвейера. Упрощенная структура конвейера показана на рис. 4.3. Так как наиболее трудоёмкой является операция деления, то она была выбрана за основу при определении глубины конвейера и соответственно максимальной частоты работы. Исходя из этого, рассчитаем необходимое количество тактов (рис. 4.3): 33 Т + (7 Т) 3 + 6 Т = 60 Т.
Рассчитаем, что для вычисления одного значения при частоте 268 МГц потребуется 223,8 не, однако для каждого последующего значения потребуется всего 3,73 не. (Учитывая, что одна операция это 5 умножений, 5 сложений и 1 деление с плавающей запятой.)
Исходя из этого, было реализовано и промоделировано ядро вычислительной функции (рис.4.4)
Как видно дополнительно для выравнивания были реализованы элементы задержки соответственно на 6 и 7 тактов.
Задача РНМ имеет высокую вычислительную стоимость. Например, для области на 262 144 (64х64х64)точек, время расчета на ПЭВМ АМД - 64 заняло около 30-часов. Основное машинное время (до 90%) на каждом шаге затрачивается на расчет поля давлений в неоднородном нефтесодержащем пласте, т.е. на решение линейной краевой задачи с произвольно заданными в пространстве граничными условиями первого, второго или третьего рода и произвольной конфигурацией границы неоднородной области. Эти особенности задачи вызывают повышенные требования к величине относительной точности получаемых величин (р 1(Г6 4-Ю"7) для обеспечения условий соблюдения материального баланса и устойчивости решения во времени. Решение задачи РНМ численными методами осложняется еще и тем, что при увеличении размерности задач РНМ резко возрастают требования к вычислительной мощности и точности используемых ЭВМ[1,48]. В реальных моделях размерность ноля составляет (1000x1000x100)м3 и, следовательно, задача не может быть решена на одном компьютере за приемлемое время, тем более при моделировании в реальном времени. Ниже приводятся результаты эксперимента поставленного для ограниченной области и с ограничением точности решения.
Руководство пользователя
На ней располагаются: панель управления (содержащая 6 кнопок, комбобокс и трекбар) и 3 закладки.
Панель управления функционально делится на две части. Первая, показанная на рис. 4.10 отвечает за работу программы в сети (поиск компьютеров в сети, запуск и останов вычислений, очистка результатов). Вторая, представленная на рис. 4.11, отвечает за очистку матриц при локальных вычислениях, а также управляет режимом и объемом отображения данных на закладке Вычисления/График.
Как видно из рис.4.9 программа содержит 3 закладки: Локальная сеть, Вычисления и Локальное тестирование алгоритма.
На панели управления программы содержится 6 кнопок:
- Поиск;
- Запуск вычислений;
- Остановка вычислений;
- Очистка данных;
- Запуск локальных вычислений;
- Перенос результатов в таблицу.
При запуске программы она автоматически по настройкам файла Settings.ini определяет наличие в сети компьютеров с установленным таким же ПО и регистрирует их у себя. Структуру вычислительной сети можно посмотреть, нажав на кнопку Поиск. В результате на закладке Локальная сеть будут отображаться ПК входящие в кластер. Свой ПК будет белым. Список IP адресов ПК входящий в кластер отобразится в правом нижнем углу, как показано на рис. 4.12.
Запуск и останов вычислений осуществляется соответствующими кнопками.
Для отображения результатов вычислений или текущих данных какого-либо шага предназначена закладка Вычисления (рис.4.13). Она содержит две подзакладки: Таблица (табличная форма отображения результата) и График (графическое представление данных).
Для проверки и тестирования алгоритма в программе предусмотрена закладка Локальное тестирование алгоритма (рис.4.14). Она содержит 5 подзакладок для соответственно Исходной матрицы (U0), Матрицы ДУ (дифференциальных уравнений), Матрицы Ui (текущая), Матрицы Ui+1 (вычисляемая), а также Параметры среды G.
Как видно из рис.4.14 справа расположена панель управления. Она функционально состоит из трёх частей:
- Инициализация;
- Пошаговое выполнение;
- Автоматический просчет.
Для выполнения вычислений необходимо нажать последовательно кнопки, показанные на рис.4.15, т.е. выполнить инициализацию исходных матриц и осуществить формирование матрицы дифференциальных уравнений.
При этом данные будут отображаться в соответствующих ячейках матрицы и их можно задавать в ручном режиме вводя значения с клавиатуры.
Для очистки исходной матрицы предназначена кнопка "Очистка". Результат действия представлен на рис.4.16.
Результатом нажатия на кнопку "Задать параметры среды" будет сформированная матрица G, представленная на рис. 4.17.
Далее возможно выполнение алгоритма по шагам. Для этого предназначены кнопки, показанные на рис. 4.20.
Перед выполнением шагов необходимо нажать кнопку "Шаг О (Инициализация)", а далее нажимая кнопку "Шаг" выполнять подбор решения системы дифференциальных уравнений или, если необходимо контролировать алгоритм и наглядно продемонстрировать его работу, нажимать последовательно кнопки: "Шаг 1 (і+1)", "Шаг 2 (сору)" и "Просмотр".
Перед нажатием на кнопку "Старт" необходимо задать параметр "Стоп Eps" - точность вычислений. От неё будет зависеть количество итераций и скорость вычислений.
Автоматический режим запускается кнопкой "Старт". В полях Текущая Eps и Итерация выводятся соответственно текущее максимальное значение погрешности и номер итерации с указанием вычисляемого на данный момент слоя, как показано на рис. 4.22.
При этом можно использовать показанные на рис.4.11 элементы управления отображением.
Для выбора варианта отображения данных предусмотрены точки и треугольники (рис.4.24).
В результате вычислений будут формироваться слои (см. рис. 425), за отображение которых отвечает трэкбар. Изменяя его можно наблюдать слои в динамике, как показано на рис. 4.26.
Таким образом, по результатам программного моделирования можно определить число процессоров (Nonm) для параллельной обработки, применительно к решаемой задаче и используемой технике.
Время параллельной обработки задачи кластером при различном числе ЭВМ (АК) кластера указано в таблице 4.6.