Модель программирования
Модель программирования — это модель выполнения , связанная с API или определенным шаблоном кода. В этом стиле фактически задействованы две модели выполнения: модель выполнения базового языка программирования и модель выполнения модели программирования. Примером является Spark , где Java — базовый язык, а Spark — модель программирования. Выполнение может быть основано на вызовах библиотеки . Другие примеры включают библиотеку POSIX Threads Hadoop и MapReduce . [1] В обоих случаях модель выполнения модели программирования отличается от модели базового языка, на котором написан код. Например, язык программирования C не имеет поведения в своей модели выполнения для ввода/вывода или поведения потока. Но такое поведение можно вызвать из синтаксиса C, выполнив то, что выглядит как вызов обычной библиотеки C.
Что отличает модель программирования от обычной библиотеки, так это то, что поведение вызова невозможно понять с точки зрения языка, на котором написана программа. Например, поведение вызовов библиотеки потоков POSIX нельзя понять с точки зрения языка C. язык. Причина в том, что вызов вызывает модель выполнения, отличную от модели выполнения языка. Этот вызов внешней модели выполнения является определяющей характеристикой модели программирования , программирования в отличие от языка .
При параллельных вычислениях модель выполнения часто должна раскрывать особенности аппаратного обеспечения для достижения высокой производительности. Большое количество вариаций в параллельном оборудовании вызывает одновременную потребность в таком же большом количестве моделей параллельного выполнения. Непрактично создавать новый язык для каждой модели выполнения, поэтому обычной практикой является вызов поведения модели параллельного выполнения через API. Таким образом, большая часть усилий по программированию выполняется с помощью моделей параллельного программирования, а не параллельных языков. Терминология, связанная с такими моделями программирования, имеет тенденцию сосредотачиваться на деталях аппаратного обеспечения, которые вдохновили модель выполнения, и в этом замкнутом мире формируется ошибочное мнение, что модель программирования предназначена только для случая, когда модель исполнения тесно связана с функциями оборудования. . [2]
Ссылки [ править ]
- ^ ИБМ. «Что такое MapReduce» . ИБМ . Проверено 19 апреля 2020 г.
- ^ Суперкомпьютерный центр Барселоны. «Модель суперскалярного программирования COMP» .