Ббк 32. 973-018 г рецензент канд физ мат наук, Ф. А. Мурзин


Норма – параллельные вычисления


Download 278.16 Kb.
bet60/68
Sana12.10.2023
Hajmi278.16 Kb.
#1700499
TuriКурс лекций
1   ...   56   57   58   59   60   61   62   63   ...   68
Bog'liq
FIT-Gor-PP3

Нормапараллельные вычисления


Система поддержки параллельного программирования для решения задач вычислительной математики.

MPI и Open MP – средства распараллеливания программ


Появляются популярные системы MPI и Open MP, обеспечивающие эффективность параллельного программирования в рамках языков Fortran и

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

mpC – синхронизация семейств процессоров


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

Java, C#, Scala, F# – библиотеки управления синхронизацией


В новых системах программирования для языков Java, C#, Scala, F# и т.д. существенно повысилась результативность системных решений в области работы с памятью, компиляции, манипулирования комплектами функций и классами объектов, выделение которых по существу обусловлено результатами теоретических работ в области системного статического анализа, основу которых все в большей мере составляет функциональный подход. Получили значительное развитие методы декомпозиции программ в рамках объектно-, субъектно- и аспектно- ориентированных подходов к определению систем программирования на базе многократно используемых компонент. Для современных областей программирования и проектирования характерна интеграция средств и методов из разных парадигм, что может привести к профессиональной консолидации программистского корпуса.
Изучаются средства организации параллельных процессов средствами языка функционального программирования F# с библиотеками .Net. На этом языке рассматривается возможность реорганизация программ, что поддержано в языке специальными средствами типа Quotation – доступ к внутреннему представлению программ в виде структуры данных. Анализируется вклад типизации данных в построение эффективных программ. Использование модифицируемой и защищенной памяти. Прикладные аспекты работы с информацией, отражающей специфику области приложения программ (measure).
C# дает возможность встраивать функциональные построения в контекст привычных императивных программ. Рассматривается стыковка программ на новых языках с производственными системами, разрабатываемыми на базе библиотек .Net. Возможность оперирования деревом разбора программы и ее исполнимым кодом. Вопросы защиты программ и данных. Управление дисциплиной доступа к памяти и представление запросов к базам данных.

Download 278.16 Kb.

Do'stlaringiz bilan baham:
1   ...   56   57   58   59   60   61   62   63   ...   68




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling