Модель программирования

редактировать

A Модель программирования относится к стиль программирования, где исполнение инво ked, сделав так называемые библиотечные вызовы. Примеры включают библиотеку POSIX Threads и Hadoop MapReduce. В обоих случаях модель выполнения отличается от модели базового языка, на котором написан код. Например, язык программирования C не имеет модели выполнения для ввода / вывода или поведения потоков. Но такое поведение можно вызвать из синтаксиса C, сделав то, что кажется вызовом обычной библиотеки C.

Модель программирования отличает от обычной библиотеки то, что поведение вызова нельзя понять с точки зрения языка, на котором написана программа. Например, поведение вызовов к библиотеке потоков POSIX не может быть понимается с точки зрения языка C. Причина в том, что вызов вызывает модель выполнения, отличную от модели выполнения языка. Этот вызов модели внешнего исполнения является определяющей характеристикой модели программирования, в отличие от языка программирования.

В параллельных вычислениях модель выполнения часто должна раскрывать функции оборудования для достижения высокой производительности. Большое количество различий в параллельном оборудовании вызывает одновременную потребность в таком же большом количестве моделей параллельного выполнения. Непрактично создавать новый язык для каждой модели выполнения, поэтому обычной практикой является обращение к поведению модели параллельного выполнения через API. Таким образом, большая часть усилий по программированию выполняется с помощью моделей параллельного программирования, а не параллельных языков. К сожалению, терминология таких моделей программирования имеет тенденцию фокусироваться на деталях аппаратного обеспечения, которое вдохновило модель выполнения, и в этом замкнутом мире формируется ошибочное убеждение, что модель программирования предназначена только для случая, когда модель выполнения близко соответствует модели выполнения. аппаратные особенности.

Ссылки
Последняя правка сделана 2021-06-02 07:49:49
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте