Главная » Просмотр файлов » В.А. Фисун - Переход от эталонного представления языка программирования к конкретному языку (статья)

В.А. Фисун - Переход от эталонного представления языка программирования к конкретному языку (статья) (1127786)

Файл №1127786 В.А. Фисун - Переход от эталонного представления языка программирования к конкретному языку (статья) (В.А. Фисун - Переход от эталонного представления языка программирования к конкретному языку (статья))В.А. Фисун - Переход от эталонного представления языка программирования к конкретному языку (статья) (1127786)2019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

УДК 004.43Переход от эталонного представления языка программированияк конкретному языкуc В.А. Фисун1, 2○1Институт прикладной математики им. М.В. Келдыша РАН, Москва, 125047, Россия2МГТУ им. Н.Э. Баумана, Москва, 105005, РоссияИзложены особенности использования комментариев специального назначенияв алгоритмических языках для адаптации программ к вычислительной среде.Рассмотрены системы параллельного программирования, основанные на использовании спецкомментариев, языки Фортран HPF, Фортран DVM и система OpenMP.Ключевые слова: псевдокомментарии, Алгол, Фортран HPF, Фортран DVM,OpenMP.После появления в 60-х годах прошлого века алгоритмическихязыков высокого уровня — Алгол и Фортран — началась эра всеобщейформализации вычислительных алгоритмов на этих языках.

Особенноудобно это было делать на языке Алгол-60 [1] с его аппаратом рекурсивных процедур, динамических массивов и математическим стилемконструкций языка. Многочисленные периодические журналы выпускали описания программ вычислительных алгоритмов из различныхобластей науки и техники, собирались коллекции избранных алгоритмов в виде пакетов программ и библиотек. Этот фонд алгоритмови программ востребован до сих пор.Описание вычислительного алгоритма на алгоритмическом языке должно быть строгим и не допускать двусмысленного толкования.Эпиграф к описанию языка Алгол-60 гласит: «То, что вообще можетбыть сказано, может быть сказано ясно, а о чем невозможно говорить — о том следует молчать».

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

ФисунВ языках программирования допускается использование комментариев, которые произвольно могут размещаться в любом местепрограммы. Этот аппарат применяется для неформального описанияреализуемого алгоритма, указания ссылок на авторов и т. д. Комментарии служат подсказкой программисту, и они «невидимы» (прозрачны)для транслятора. Однако существует особый вид комментариев, включаемых в тексты программ, — специальные комментарии. Тексты таких комментариев начинаются c зарезервированной комбинации символов, распознаваемой специальными трансляторами, для которыхэти псевдокомментарии являются директивами для исполнения.Специальные комментарии можно применять при подготовке текстов программ для добавления в текст макроопределений, аннотаций,дополнения текста возможностями библиотек, а также для работыс уже существующей программой, например, для получения документации или для верификации программы.

Популярными процедурамина уровне языка публикаций, основанного на спецкомментариях, являются системы автоматического документирования Doxygen, Epydoc,Javadoc, PHPdoc и др. Так, система Doxygen может готовить полнуюдокументацию к программе по ее исходному тексту и набору спецкомментариев. Спецкомментариями могут служить и некоторые другие виды комментариев. В языке Java комментарий TODO помещаетсяв нереализованный участок текста программы как указание о том, чтоданный фрагмент программы отсутствует.

Комментарий FIXME помечает замеченную ошибку, которую можно исправить позднее, а комментарий XXX — критическую ошибку в тексте программы, без исправления которой нельзя продолжать дальнейшую работу.Комментарии специального назначения используются также длярасширения возможностей эталонных языков при учете особенностейконкретной вычислительной среды выполнения программ. Вначалеэто были указания о семантических особенностях программ на эталонном языке, которые невозможно получить анализом текста автоматически. Специальные комментарии в конкретных представлениях языка позволяли трансляторам генерировать более эффективныйобъектный код. Примером одних из первых комментариев для исполнения могут служить спецкомментарии в отечественной системе программирования ТА-2, во входном языке транслятора с языкаАлгол-60 для ЭВМ класса М-20. Этими комментариями можно былопомечать нерекурсивные процедуры программы, задавать максимально возможную длину динамических массивов.Для мультипроцессорных кластеров были предложены комплексы спецкомментариев, включение которых в тексты программ с последовательного языка позволяют трансляторам получать параллельный объектный код.

Наиболее развитой системой спецкомментари2Переход от эталонного языка представления языка программирования. . .ев такого вида принято считать спецдирективы программного обеспечения фирмы CONVEX для кластера SPP1000, который являетсяклассическим примером мультипроцессорной архитектуры вычислителей с общей памятью.

Язык спецдиректив кластера имеет средствадля указания фрагментов программы, допускающих распараллеливание, и синхронизации выполнения параллельных процессов. Кромеобычных правил разделения данных процессов на локальные и глобальные данные в этой системе программирования можно учитыватьархитектурные особенности оперативной памяти cc-NUMA кластера SPP1000. Например, обработку «близкорасположенных» сегментов данных могут выполнять процессы, расположенные на таком жеуровне доступа. С этой проблемой так называемой миграции процессов по ядрам в многоядерных микропроцессорах приходится считаться в современных распределенных вычислениях. Для микропроцессоров фирмы НР кластера SPP1000 трансляторы с языков Фортрани Си учитывают спецдирективы для управления работой кэш памяти,межпроцедурной оптимизации, задания коэффициентов размножениятел циклов и т.

д. Существует даже директива, позволяющая передавать системе программирования указание пользователя о вероятностиперехода по метке в заданном условном операторе программы приее выполнении. Трансляторы CONVEXа в режиме О3 — «Распараллелить!» по тексту последовательных программ и без использованияспецдиректив могут генерировать параллельный объектный код. Конечно, техника ручного управления распараллеливанием последовательных программ позволяет получать более эффективные результаты.Возможность автоматического распараллеливания последовательных программ ограничивается системами программирования длявекторных машин и мультисистем с общей памятью, поэтому длясамых массовых вычислительных кластеров — МРР-систем — были востребованы средства ручной адаптации накопленного фондапоследовательных программ.

Многообразие мультипроцессорных систем и отсутствие языков параллельного программирования вызывалоестественный интерес к использованию для параллельного программирования конкретных расширений алгоритмических языков. Так,для программирования методом передачи сообщений для МРР-систембыли предложены языки Фортран GNS и Си GNS, полученные добавлением средства описания и идентификации параллельных процессов,коммуникационных операторов в основные конструкции эталонныхязыков.Самыми распространенными расширениями эталонных языковдля параллельного программирования, основанными на спецкомментариях, являются языки Фортран HPF, Фортран DVM и система3В.А. ФисунOpenMP (Open Multi-Processing).

Соответствующие комплексы разработаны и используются также для Си-систем программирования.Считается, что такие системы параллельного программирования позволяют использовать фонд последовательных программ, накопленныхна этих языках.Основная концепция системы программирования OpenMP состоитв организации распределенных вычислений на многопроцессорныхсистемах с общей памятью. OpenMP — набор директив, библиотечных процедур и системных переменных, которые предназначены дляпрограммирования многопоточных приложений с помощью спецкомментариев на языках Cи, Cи++ и Фортран. В языке Фортран признаком спецкомментария OpenMP является префикс !$омр, а в Си — директива #pragma omp. Использование специальных ключевых символов omp указывает на то, что эти команды относятся к OpenMP.Таким образом, директивы #pragma для работы с OpenMP имеютследующий формат:#pragma omp <директива>.OpenMP поддерживает директивы private, parallel, for,section, single, master, critical, flush, ordered, atomicи ряд других, которые определяют механизмы распараллеливаниявычислительных работ или задают конструкции синхронизации.

Характеристики

Тип файла PDF

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

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов учебной работы

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