Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » О параллелизме с разных сторон

О параллелизме с разных сторон, страница 3

PDF-файл О параллелизме с разных сторон, страница 3 Параллельные системы и параллельные вычисления (5748): Другое - 9 семестр (1 семестр магистратуры)О параллелизме с разных сторон: Параллельные системы и параллельные вычисления - PDF, страница 3 (5748) - СтудИзба2015-08-23СтудИзба

Описание файла

PDF-файл из архива "О параллелизме с разных сторон", который расположен в категории "". Всё это находится в предмете "параллельные системы и параллельные вычисления" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "параллельные системы и параллельные вычисления" в общих файлах.

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Причина – велика степень распараллеливания и, как следствие, слишкомвелико время на управление вычислениями. Здесь мы, конечно, имеем в виду, что длявычисления n! используется приведенная выше рекурсивная функция, а не строится дляПЛЕНАРНЫЕ ДОКЛАДЫ ПЯТОЙ МЕЖДУНАРОДНОЙ КОНФЕРЕНЦИИ«ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ И ЗАДАЧИ УПРАВЛЕНИЯ», МОСКВАPACO ‘2010PLENARY PAPERS OF THE FIFTH INTERNATIONAL CONFERENCE“PARALLEL COMPUTING AND CONTROL PROBLEMS”, MOSCOW48каждого n по соответствующему дереву последовательность, например, векторных командумножения.Как можно «регулировать» в программе степень параллелизма? Общий прием –параметризация, т.е. введение некоторой целочисленой константы, задающей степеньпараллелизма.

Напрамер, для вычисления n! такая программа может быть следующего вида:,Где F(i, j) – ранее описанная функция для вычисления n!, k – параметр, определяющийколичество отрезков разбиения интервала [i – j], на которых выполняется одновременноевычисление произведений, заключенных в них целых чисел. Очевидно, что F(1, k, 1, m) = m!.Аналогичные функции с подобной параметризацией, задающей степеньраспараллеливания, легко строятся для вычисления,, численного интегрированияфункций на отрезке, перемножения матриц (здесь k определяет количество одновременноперемножаемых блоков матриц ) и др.Гораздо сложнее подобная параметризация осуществляется для параллельныхвычислений по сложным рекуррентным зависимостям, рекурсивных функций и др.Глубина и степень распараллеливания всегда ограничены. Например, максимальныйпараллелизм при перемножении матриц A и B достигается, когда все элементырезультирующей матрицы вычисляются одновременно при одновременномвычислении произведений и последующих сложений в приведенной формуле.

Хотя примаксимальном распараллеливании эффект часто негативный и может быть достигнут видеальном случае и, возможно, на компьютерах и компьютерных системах, построенных надругих принципах и элементах.2. Языки и среды параллельного программирования.Введенное в свое время различение Скоттом и Стречи в языках программировнияденотационной и операционной семантик для языков параллельного программированияимеет принципиальное значение.Очевидно, что универсализм языка с позиций представления параллелизмапредполагает возможность отражения в программе любых форм его проявления как назадачном уровне, т.е. данотационными средствами языка, так и на процессном уровнесредствами операционной семантики. Из этого ясно, что если мы, например, ограничиваемсебя на задачном уровне возможностью представления только вектороного параллелизмаили параллелизма ветвей (конструкциями fork и join), а в качестве операционных средтвбудем использовать Multithreading с достаточно большим набором описателей параллельныхпроцессов, то это будет стрельба из пушек по воробьям.

Также бесполезно пытатьсяреализовать с помощью MPI-1 рекурсивные параллельные процессы, которые представленыв программе на FPTL или средствами Multithreading.Ясно также, что средства описания параллельного программирования процессов в MPI1 более слабы, чем в MPI-2 и Multithreading в части порождения и способов взаимодействияпараллельных процессов. За правильность денотата или значения параллельных программ наПЛЕНАРНЫЕ ДОКЛАДЫ ПЯТОЙ МЕЖДУНАРОДНОЙ КОНФЕРЕНЦИИ«ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ И ЗАДАЧИ УПРАВЛЕНИЯ», МОСКВАPACO ‘2010PLENARY PAPERS OF THE FIFTH INTERNATIONAL CONFERENCE“PARALLEL COMPUTING AND CONTROL PROBLEMS”, MOSCOW49процессных языках MPI и Multithreading несет ответственность сам программист, доказывая,по крайней мере самому себе, что программа будет правильно выполнять описанные в нейфункции, обладать однозначностью, не содержать неприятностей, таких как блокировки изацикливание и т.п. [7].Языки с формальной денотационной семантикой по своей сути содержат две языковыемодели: одна задачная, а другая процессная.

Это позволяет, в часности для вычислительныхзадач, разделить аспекты разработки параллельной программы, приблизить языковыесредства к задачной, т.е. проблемной области. При этом, если параллельная программа ссамого начала не связана с описанием процессов, программист может вовсе неинтересоваться тем, как будет выполняться его параллельная программа.Примерами таких двухаспектных языков являются язык граф-схемного потоковогопараллельногопрограммирования[8,9],языкфункциональногопараллельногопрограммирования FPTL [10,11], отчасти параллельный FORTRAN, DVM и др.В языке граф-схемного потокового параллельного программирования на задачномуровне (в его формальной денотационной семантике) реализована принципиально отличнаяот языков последовательного программирования парадигма (см. п.1), основанная напредставлении фрагментов декомпозиции задачи в виде функций (программ модулей) иявном указании (через граф-схему) связей по данным (и только их) между подпрограммами.Как следствие, независимые фрагменты могут выполняться одновременно.

Операционнаясемантика языка, определяющая правила параллельного выполнения граф-схемнойпрограммы, достаточно проста и основана на инициализации выполнения любого еефрагмента по поступавшим на его входы тегированным данным.Реализованная на многомашинных и многопроцессорных системах операционнаясемантика [8,9] в принципе избавляет программиста от необходимости планированияпроцессов выполнения программы и динамического распределения ресурсов компьютернойсостемы.Денотационная семантика параллельного FORTRAN`а, DVM и др.

языков легкопрослеживается в силу их узкого предназначения для описания легко распараллеливаемыхзадач линейной алгебры, где векторизация и распараллеливание «по циклам» – основныемеханизмы отражения параллелизма.В языке FPTL [10,11] используется функциональная нотация для описания методарешения задач, а реализация параллелизма основана на модели асинхронного параллельноговычисления значений функций на КС [11]. Параллелизм в этом языке отражается вфункциональной программе явно через используемые в ней операции композиции функций.В расширении языков HASKELL, ML, последовательных языков с целью задания впрограмме параллелизма используют специальные примитивы задания параллелизма (мыуже говорили о векторных командах, операторах fork-join) или программисту предоставленавозможность по тексту программы вводить комментарии, какие ее фрагменты и какимобразом должны быть распараллелены на стадии компиляции (OpenMP).

MPI иMultithreading – более общие решения этого же плана, претендующие на статус стандартныхсредств описания параллельных процессов.ПЛЕНАРНЫЕ ДОКЛАДЫ ПЯТОЙ МЕЖДУНАРОДНОЙ КОНФЕРЕНЦИИ«ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ И ЗАДАЧИ УПРАВЛЕНИЯ», МОСКВАPACO ‘2010PLENARY PAPERS OF THE FIFTH INTERNATIONAL CONFERENCE“PARALLEL COMPUTING AND CONTROL PROBLEMS”, MOSCOW50Ясно, что «масштаб» использования любого языка программирования определяетсянабором инструментов, которые обычно называют средой программирования и которыеупрощают работу программиста.В [13] мы обсуждали, какие механизмы в процессе перехода от задачи к ее программеносят творческий характер и полностью зависят от искусства программиста и какие из нихможно выполнять с помощью соответствующих программных инструментов.Поиск метода решения задачи, разработка и оптимизация программы и др.

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

Поэтому так важны инструменты прогонок программы на конкретнойКС, сбор и обработка статистических данных, определяющих эффективность ее выполнения,средства оптимизации программы, проверки ее правильности как по содержанию, так и привыполнении (отсутствие тупиков, зацикливаний и т.п.).Не менее важными являются инструменты, поддерживающие технологиюдекомпозиционного программирования (программирование сверху-вниз) и сборочного(снизу-вверх), коллективную разработку программы и др. [2].

Очевидно, все это заставитпересмотреть и существенно расширить те многобразные инструменты поддержкипроцессов программирования, созданные сегодня Microsoft, IBM и др., чтобы их можно былоприменять и в параллельном программировании.3. Реализация параллелизма на компьютерных системах.Помимо собственно обeспечения логического управления процессами параллельноговыполнения программы на КС, предопределенного операционной семантикой языка,управление предполагает наличие в нем механизмов планирования процессов ираспределения для них ресурсов, от чего в большой степени зависит и время выполненияпрограммы, и использование ресурсов [14]. К сожалению, эта задача пока далека отудовлетворительного решения, в связи с чем программист сам заранее должен спланировать(определить приоритеты) выполнения процессов и даже распределить их насоответствующие узлы КС (пример, MPI).В [14] мы изложили наши подходы к созданию методов и программных средств,предназначенных для эффективного управления процессами выполнения параллельныхпрограмм на КС.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5301
Авторов
на СтудИзбе
417
Средний доход
с одного платного файла
Обучение Подробнее