Модель вычислений — различия между версиями

Материал из ЭНЭ
Перейти к: навигация, поиск
(campbell 1997)
м (стиль, структ.)
Строка 1: Строка 1:
 
'''Модель вычислений''' (''computing model'', ''computational model'', ''model of computation''): [[модель]] вычислительного оборудования, способного исполнять программу (алгоритм). Модели такого рода характеризуются степенью подробности и степенью абстрагированности (отвлечённости) описания от реального оборудования и используются для разработки и исследования программ и алгоритмов.<ref name="fnAHU"/>,<ref name="fnPHM"/>
 
'''Модель вычислений''' (''computing model'', ''computational model'', ''model of computation''): [[модель]] вычислительного оборудования, способного исполнять программу (алгоритм). Модели такого рода характеризуются степенью подробности и степенью абстрагированности (отвлечённости) описания от реального оборудования и используются для разработки и исследования программ и алгоритмов.<ref name="fnAHU"/>,<ref name="fnPHM"/>
  
В случае последовательного вычисления на цифровом оборудовании все вычислительные модели имеют в основе [[архитектура фон Неймана|модель архитектуры фон Неймана]] и различаются лишь уровнем абстрагированности от неё. Примерами таких моделей являются ''равнодоступная адресная машина'' (РАМ), ''равнодоступная адресная машина с хранимой программой'' (РАСП), ''машина Тьюринга''.<ref name="fnAHU">Построение и анализ вычислительных алгоритмов, гл.1.</ref> По причине столь большой схожести общепринятых <u>классификаций</u> моделей последовательного вычисления нет, как отмечено в 1992 году<ref name="fnPHM">A practical hierarchical model of parallel computation.</ref>.
+
== Последовательные вычисления ==
 +
 
 +
В случае последовательного вычисления на цифровом оборудовании все вычислительные модели имеют в основе [[архитектура фон Неймана|модель архитектуры фон Неймана]] и различаются лишь уровнем абстрагированности от неё. Примерами таких моделей являются ''равнодоступная адресная машина'' (РАМ), ''равнодоступная адресная машина с хранимой программой'' (РАСП), ''машина Тьюринга''.<ref name="fnAHU">Построение и анализ вычислительных алгоритмов, гл.1.</ref> Столь большая схожесть моделей последовательного вычисления не позволила выработать для них общепринятые <u>классификации</u> моделей (по замечанию 1992 года)<ref name="fnPHM">A practical hierarchical model of parallel computation.</ref>.
 +
 
 +
== Параллельные вычисления ==
  
 
В случае [[параллельные вычисления|параллельных вычислений]] предложена (1992) классификация моделей параллельных вычислений, определяющая четыре класса (уровня): '''модель машины''', '''модель архитектуры''', '''модель расчёта''', '''модель программирования'''<ref name="fnPHM"/>. Существуют и другие, подобные классификации моделей параллельных вычислений<ref name='Campbell 1997'>Campbell 1997.</ref>.
 
В случае [[параллельные вычисления|параллельных вычислений]] предложена (1992) классификация моделей параллельных вычислений, определяющая четыре класса (уровня): '''модель машины''', '''модель архитектуры''', '''модель расчёта''', '''модель программирования'''<ref name="fnPHM"/>. Существуют и другие, подобные классификации моделей параллельных вычислений<ref name='Campbell 1997'>Campbell 1997.</ref>.
  
== Модель машины ==
+
=== Модель машины ===
 
'''Модель машины''' (''machine model''): модель наинизшего уровня отвлечённости (абстрактности). Рассматривает вычислительное оборудование как собственно оборудование совокупно с операционной системой.<ref name="fnPHM"/>
 
'''Модель машины''' (''machine model''): модель наинизшего уровня отвлечённости (абстрактности). Рассматривает вычислительное оборудование как собственно оборудование совокупно с операционной системой.<ref name="fnPHM"/>
  
 
Например, программирование на ассемблере можно считать использующим этот уровень моделей вычислений.<ref name="fnPHM"/>
 
Например, программирование на ассемблере можно считать использующим этот уровень моделей вычислений.<ref name="fnPHM"/>
  
== Модель архитектуры ==
+
=== Модель архитектуры ===
 
'''Модель архитектуры''' (''architectural model''): модель следующего уровня отвлечённости; описывает обобщённые характеристики (конкретных экземпляров) оборудования и операционной системы.<ref name="fnPHM"/>
 
'''Модель архитектуры''' (''architectural model''): модель следующего уровня отвлечённости; описывает обобщённые характеристики (конкретных экземпляров) оборудования и операционной системы.<ref name="fnPHM"/>
  
 
Например, для последовательных ЭВМ (с одним исполняющим устройством) архитектура описывается [[архитектура фон Неймана|моделью фон Неймана]]. Для параллельного вычислительного оборудования (ПарВМ) описывается топология внутренней сети, но не её аппаратное осуществление, синхронность ПарВМ, соответствие одному из классов Флинна, общая организация рабочей памяти (общая или распределённая).<ref name="fnPHM"/>
 
Например, для последовательных ЭВМ (с одним исполняющим устройством) архитектура описывается [[архитектура фон Неймана|моделью фон Неймана]]. Для параллельного вычислительного оборудования (ПарВМ) описывается топология внутренней сети, но не её аппаратное осуществление, синхронность ПарВМ, соответствие одному из классов Флинна, общая организация рабочей памяти (общая или распределённая).<ref name="fnPHM"/>
  
== Модель расчёта ==
+
=== Модель расчёта ===
 
'''Модель расчёта''' (по-английски, как и модели вычислений вообще, называется ''computational model''или''model of computation''): модель следующего уровня отвлечённости; описывает обобщённые характеристики целого класса вычислительного оборудования, рассматриваемого по его модели архитектуры.<ref name="fnPHM"/>
 
'''Модель расчёта''' (по-английски, как и модели вычислений вообще, называется ''computational model''или''model of computation''): модель следующего уровня отвлечённости; описывает обобщённые характеристики целого класса вычислительного оборудования, рассматриваемого по его модели архитектуры.<ref name="fnPHM"/>
  
 
Например, ''модель РАМ''<ref name="fnAHU"/> это широко распространённая модель для исследования алгоритмов; имеет в своей основе [[архитектура фон Неймана|модель архитектуры фон Неймана]].<ref name="fnPHM"/>
 
Например, ''модель РАМ''<ref name="fnAHU"/> это широко распространённая модель для исследования алгоритмов; имеет в своей основе [[архитектура фон Неймана|модель архитектуры фон Неймана]].<ref name="fnPHM"/>
  
Поскольку модель расчёта используется обычно в теоретической работе, модель такого уровня также называют '''абстрактной''' или '''формальной моделью ''' – имея в виду, что оборудование в ней не описывается даже столь обобщённо, как в модели архитектуры. Соответственно, в отношении последовательных вычислений модели расчёта и архитектуры могут и не различаться, или различаться лишь по наличию на уровне модели расчёта дополнительных характеристик наподобие ''стоимости действия''. Однако, например, модель <u>параллельного</u> расчёта ПРАМ уже не может быть воплощена в реальной архитектуре параллельного вычислительного оборудования, и на реальном оборудовании её работа лишь имитируется.<ref name="fnPHM"/>
+
Поскольку модель расчёта используется обычно в теоретической работе, модель такого уровня также называют '''абстрактной''' или '''формальной моделью''' – имея в виду, что оборудование в ней не описывается даже столь обобщённо, как в модели архитектуры. Соответственно, в отношении последовательных вычислений модели расчёта и архитектуры могут и не различаться, или различаться лишь по наличию на уровне модели расчёта дополнительных характеристик наподобие ''стоимости действия''. Однако, например, модель <u>параллельного</u> расчёта ПРАМ уже не может быть воплощена в реальной архитектуре параллельного вычислительного оборудования, и на реальном оборудовании её работа лишь имитируется.<ref name="fnPHM"/>
  
== Модель программирования ==
+
=== Модель программирования ===
 
'''Модель программирования''' (''programming model''): модель следующего уровня отвлечённости; описывает вычислительное оборудование в понятиях семантики конкретного языка программирования.<ref name="fnPHM"/>
 
'''Модель программирования''' (''programming model''): модель следующего уровня отвлечённости; описывает вычислительное оборудование в понятиях семантики конкретного языка программирования.<ref name="fnPHM"/>
  

Версия 08:51, 21 октября 2015

Модель вычислений (computing model, computational model, model of computation): модель вычислительного оборудования, способного исполнять программу (алгоритм). Модели такого рода характеризуются степенью подробности и степенью абстрагированности (отвлечённости) описания от реального оборудования и используются для разработки и исследования программ и алгоритмов.[1],[2]

Последовательные вычисления

В случае последовательного вычисления на цифровом оборудовании все вычислительные модели имеют в основе модель архитектуры фон Неймана и различаются лишь уровнем абстрагированности от неё. Примерами таких моделей являются равнодоступная адресная машина (РАМ), равнодоступная адресная машина с хранимой программой (РАСП), машина Тьюринга.[1] Столь большая схожесть моделей последовательного вычисления не позволила выработать для них общепринятые классификации моделей (по замечанию 1992 года)[2].

Параллельные вычисления

В случае параллельных вычислений предложена (1992) классификация моделей параллельных вычислений, определяющая четыре класса (уровня): модель машины, модель архитектуры, модель расчёта, модель программирования[2]. Существуют и другие, подобные классификации моделей параллельных вычислений[3].

Модель машины

Модель машины (machine model): модель наинизшего уровня отвлечённости (абстрактности). Рассматривает вычислительное оборудование как собственно оборудование совокупно с операционной системой.[2]

Например, программирование на ассемблере можно считать использующим этот уровень моделей вычислений.[2]

Модель архитектуры

Модель архитектуры (architectural model): модель следующего уровня отвлечённости; описывает обобщённые характеристики (конкретных экземпляров) оборудования и операционной системы.[2]

Например, для последовательных ЭВМ (с одним исполняющим устройством) архитектура описывается моделью фон Неймана. Для параллельного вычислительного оборудования (ПарВМ) описывается топология внутренней сети, но не её аппаратное осуществление, синхронность ПарВМ, соответствие одному из классов Флинна, общая организация рабочей памяти (общая или распределённая).[2]

Модель расчёта

Модель расчёта (по-английски, как и модели вычислений вообще, называется computational modelилиmodel of computation): модель следующего уровня отвлечённости; описывает обобщённые характеристики целого класса вычислительного оборудования, рассматриваемого по его модели архитектуры.[2]

Например, модель РАМ[1] это широко распространённая модель для исследования алгоритмов; имеет в своей основе модель архитектуры фон Неймана.[2]

Поскольку модель расчёта используется обычно в теоретической работе, модель такого уровня также называют абстрактной или формальной моделью – имея в виду, что оборудование в ней не описывается даже столь обобщённо, как в модели архитектуры. Соответственно, в отношении последовательных вычислений модели расчёта и архитектуры могут и не различаться, или различаться лишь по наличию на уровне модели расчёта дополнительных характеристик наподобие стоимости действия. Однако, например, модель параллельного расчёта ПРАМ уже не может быть воплощена в реальной архитектуре параллельного вычислительного оборудования, и на реальном оборудовании её работа лишь имитируется.[2]

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

Модель программирования (programming model): модель следующего уровня отвлечённости; описывает вычислительное оборудование в понятиях семантики конкретного языка программирования.[2]

Одно из ключевых различий с моделью расчёта: модель расчёта рассматривает память как последовательность ячеек, а модель программирования – как структуру данных (определённых в языке программирования), возможно сложную.[2]

Ю.Т.

Ссылки и примечания
  1. 1,0 1,1 1,2 Построение и анализ вычислительных алгоритмов, гл.1.
  2. 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 2,11 A practical hierarchical model of parallel computation.
  3. Campbell 1997.

Источники

  • Построение и анализ вычислительных алгоритмов / А. Ахо, Дж. Хопкрофт, Дж. Ульман ; пер. с англ. А.О. Слисенко ; под ред. Ю.В. Матиясевича. – М. : Мир, 1979. – 536 с.
  • A practical hierarchical model of parallel computation: the model / T. Heywood, S. Ranka // J. Parallel Distr. Comp. – 1992. – V. 16, № 3. – P. 212–232.
  • A survey of models of parallel computation : technical report YCS-97-278 / D.K.G. Campbell ; Department of Computer Science; University of York. York, UK : University of York, 1997.