Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005).pdf), страница 10
Описание файла
PDF-файл из архива "Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005).pdf", который расположен в категории "". Всё это находится в предмете "суперкомпьютерное моделирование и технологии" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 10 страницы из PDF
3. Схема распараллеливания третьего модуляпрограммного комплексаВ рамках третьей задачи предлагается оценить полученный в результате распараллеливания ПК. Анализ доступных источников оценкикачества ПО, а также моделей ISO 9126, МакКола, Боема [2] из предлагаемого множества критериев таких как: надежность, уровень оптимизации, производительность, уровень распараллеливания, функциональность, переносимость, удобство использования и др.
позволил выделить агрегированные компоненты первого иерархического уровня: надежность, уровень оптимизации, производительность, эффективностьраспараллеливания в соответствии с рис. 4.Эффективность кода ПКНадежностьУровеньоптимизацииПроизводительностьЭффективностьраспараллеливанияРис. 4. Компонентный уровень иерархической системы критериевИнтегральный критерий эффективность кода ПК рассчитываетсяпо формуле:С = Σγi*Х i,(1)где γi – весовой коэффициент компоненты; Хi – нормированные значения компонент.45Нормированные значения рассчитываются как отношение фактически достигнутого уровня критерия к его потенциальному уровню.Нормировкой достигается возможность суммирования всех критериевкак безразмерных и приведение их к диапазону [0, ..., 1].
Надежностьпрограммного обеспечения гораздо важнее других его характеристик,например, времени исполнения, и хотя абсолютная надежность современного программного обеспечения, по-видимому, недостижима, досих пор не существует общепринятой меры надежности компьютерныхпрограмм [3]. В рамках нашей задачи определим надежность как способность программного кода безотказно выполнять определенныефункции при заданных условиях с ожидаемой точностью.
Детализируякомпоненту надежности в соответствии с [4], получим, что второй иерархический уровень включает в себя следующие критерии:– минимизация ошибок переполнения буфера как следствие неправильной организации работы с памятью. Подавляющее большинствопричин некорректной работы приложений по статистике BUGTRAQсвязано с такими ошибками;– минимизация ошибок синхронизации потоков в многопоточныхприложениях, т.к. обычно проблема кроется в использовании некорректных механизмов синхронизации потоков;– погрешность вычисления, т.к.
код программы, как последовательный, так и параллельный, должен выдавать верный результат стребуемой точностью. Погрешность вычисления предлагается рассчитывать как среднеквадратическое отклонение от математическое ожидания (СКО).На количество ошибок переполнения буфера влияют по возрастающей: использование индикатора завершения строки/файла, не использование динамических переменных и структурных исключений,язык разработки, не контролирующий ошибки переполнения, отсутствие компиляторной проверки выхода за границы массива и др.Критерий минимизация ошибок переполнения буфера Yбуф рассчитывается по формуле:Yбуф = Σβ i*X i /Xбазi,(2)где βi, Xi, Xбазi приведены в табл. 1.
Весовые коэффициенты определены в соответствии с методом экспертных оценок. Обеспечение синхронизации при написании многопоточных программ необходимо дляпредотвращения конкурентных ситуаций, когда несколько потоковпытаются одновременно изменить одну глобальную переменную. Призапуске распараллеленных программ возникают следующие проблемы:46взаимные блокировки параллельных участков; возможность зависанияпараллельных участков; несинхронный доступ или гонки; опасностьиспользования сторонних процедур и библиотек.Таблица 1Механизмы минимизации ошибок переполнения буфераКритерии Обозначениеотсутствия данных в концестроки/файла1/10Вес βiКол-во проверокXiиндикаторов завершенияБазовые Кол-во строковых переменных,Xбазiмассивов, файловИспользова- Наличие струние кучи для ктурных исмассивовключений(SEH)2/103/10Кол-во дина- Кол-во струкмичес-скихтурных исклюмассивовченийОбщее кол-во Общее кол-вопеременных динамическихпеременныхВлияниеязыка разработки4/10FortranC++, Delphi, Java, С#Общее колво языковВ табл.
2 приведена оценка влияния количества критических секций, спин-блокировок и разделяемых переменных в программе и [5] нанадежность кода. Под критической секцией понимается часть программы, исполнение которой может привести к возникновению эффекта гонок. Критерий Минимизация ошибок синхронизации Yсинх рассчитывается по формуле:Yсинх = Σβi *Xi /Xбазi.,(3)где βi, Xi, Xбазi приведены в табл. 2.
Весовые коэффициенты определены в соответствии с методом экспертных оценок.Таблица 2Оценка влияния механизмов синхронизацииВлияние спинВлияние критичеблокировки и циклиских секцийческого опроса1/32/3Вес βiКол-во строк кода, Кол-во спин-блокировокзаключенных в кри- и циклических опросовXiтические секцииБазовые Общее кол-во строк Кол-во синхронизирующих функцийXбазiКритерииВлияние разделяемых переменныхКол-во разделяемых переменныхОбщее кол-вопеременных47Таким образом, проведен анализ схем распараллеливания и детализация компоненты надежность для ПК идентификации ТС трубопроводов.Литература1. Владова А.Ю., Кушнаренко В.М., Кандыба Н.Е., Степанов Е.П.,Владов Ю.Р. Идентификация технического состояния теплоэнергетического оборудования: Монография.
– Оренбург: РИК ГОУ ОГУ, 2004. – 203 с.2. Кулямин В.В., Петренко О.Л. Место тестирования среди методовоценки качества ПО // Тр. ин-та системного программирования, ИСП РАН.Т. 4. 2003.3. Романюк С.Г. Оценка надежности программного обеспечения.НИИСИ РАН, Москва. Открытые системы, #04/1994.4.
Касперски К. ПК: решение проблем. – BHV, 2003. – 560 с.5. Хьюз К., Хьюз Т. Параллельное и распределенное программирование на С++. / Пер. с англ. – М.: Вильямс, 2004. – 672 с.РАСПАРАЛЛЕЛИВАНИЕ УРАВНЕНИЯ КОАГУЛЯЦИИЗ.С. Гаева, А.В. Гасников1ВЦ РАН, МоскваСреди всех физических процессов, влияющих на формированиечастиц осадков в облаках, коагуляция играет важнейшую роль. Исследованию этого процесса посвящена обширная литература.
Наибольшеераспространение получило исследование коагуляционных процессовна основе уравнения Смолуховского (кинетическое уравнение пространственно-однородной коагуляции) [1, 2]:+∞∂f (t , m)= I ( f , f ) = − ∫ K11 (m, m′) f (t , m) f (t , m′)dm′ +∂t01Работа выполнена при финансовой поддержке РФФИ (коды проектов 03-0100624а, 05-01-00942), РФФИофи (код проекта 05-01-08045), РГНФ (код проекта 05-02-02349а); по программе государственной поддержки ведущих научныхшкол (код проекта НШ – 1843.2003.1); при поддержке программы фундаментальных исследований ОМН РАН №3 «Вычислительные и информационныепроблемы решения больших задач» (проект 3.13); при поддержке программыфундаментальных исследований РАН №16 «Математическое моделирование иинтеллектуальные системы» (проект 4.1).48+12m∫ K11(m − m′, m′) f (t, m − m′) f (t, m′)dm′,(1)0f (0, m) = e − m , t ≥ 0, m ≥ 0.(2)Считается, что указанное уравнение моделирует процессы коагуляции,протекающие, например, в облаке (коагуляция капель, агрегация снежинок), в коллоидных растворах, в космических пылевых облаках [3–5].
Функция распределения капель по массе: f (m, t) определяется так,что f (m, t)dm описывает среднюю концентрацию частиц системы, массы которых в момент t лежат в интервале (m, m + dm). Ядро K(m, m′) –известная функция слияния частиц массами m и m′, а ее численноезначение пропорционально частоте слияний таких частиц в единицеобъема системы, т.е. величине, обратной среднему времени жизни частиц с указанными массами.
Конкретный вид ядра получается на основеанализа эмпирического материала. Второй член в правой части уравнения коагуляции описывает рост числа частиц массы m за счет слияниячастиц массами (m – m′) и m′, а первый член – убыль частиц массы mиз-за слияния этих частиц с частицами массы m′. Условие (2) задаетфункцию распределения капель в начальный момент времени.Настоящую модель следует рассматривать как часть большой общей задачи, описания эволюции коагулирующих систем, которая далека от своего завершения и непосредственно связана с нуждами человечества, на пример, перераспределение осадков, осаждение облаков итуманов в окрестности аэропортов, предотвращение града [6].Задача нахождения решения уравнения Смолуховского аналогичнапо своей сложности задаче нахождения решения уравнения Больцманав газовой динамике.
Поэтому зачастую проблемы кинетической теориигазов и кинетической теории коагуляции являются тесно связанными.Численно решать задачу Коши (1), (2) можно, как конечно-разностными методами, так и вариационными [7]. Решение кинетическихуравнений, сопряжено с большими трудностями, обусловленнымисложной структурой коэффициента коагуляции и интегрального оператора.При использовании конечно-разностной схемы мы имеем, что коэффициент пропорциональности между временем, на котором мы следим за облаком, и временем счета без распараллеливания имеет порядок 109. А при распараллеливании, в N раз меньше, где N – число процессоров. Область интегрирования ~(m′ ≈ 10)*(m ≈ 10)*T, шаги49~0,01*0,01*0,01, на каждом шаге ~10 операций с плавающей запятой(flop), т.е.