Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Новые принципы и модели вычислений






1.... Новые принципы вычислений. 1

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

1.2 Параллельные вычисления при помощи модели актеров. 1

1.3 Распределенные вычисления. 2

2.... Модели вычислений. 4

2.1 Понятие модели вычислений. 4

2.2 Модели Тьюринга. 4

2.3 λ -исчисление. 5

 

1 Новые принципы вычислений

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

В общем плане под параллельными вычислениями понимаются процессы обработки данных, в которых одновременно могут выполняться несколько операций компьютерной системы. Достижение параллелизма возможно только при выполнении следующих требований к архитектурным принципам построения вычислительной среды:

· независимость функционирования отдельных устройств ЭВМ;

· избыточность элементов вычислительной системы, осуществляемая в следующих основных формах:

· использование специализированных устройств, таких, например, как отдельные процессоры для целочисленной и вещественной арифметики;

· дублирование устройств ЭВМ, например, несколько однотипных обрабатывающих процессоров или несколько устройств оперативной памяти.

При рассмотрении проблемы организации параллельных вычислений следует различать следующие возможные режимы выполнения независимых частей программы:

· многозадачный режим (режим разделения времени), при котором для выполнения нескольких процессов используется единственный процессор. Данный режим является псевдопараллельным, когда активным (исполняемым) может быть один, единственный процесс, а все остальные процессы находятся в состоянии ожидания своей очереди/

· параллельное выполнение, когда в один и тот же момент может выполняться несколько команд обработки данных;

· распределенные вычисления; данный термин обычно применяют для указания параллельной обработки данных, при которой используется несколько обрабатывающих устройств, достаточно удаленных друг от друга, в которых передача данных по линиям связи приводит к существенным временным задержкам.

Дополнительной формой обеспечения параллелизма может служить конвейерная реализация обрабатывающих устройств, при которой выполнение операций в устройствах представляется в виде исполнения последовательности составляющих операцию подкоманд.

1.2 Параллельные вычисления при помощи модели актеров

Модель параллелизма, основанная на потоках операционной системы, имеет ряд принципиальных недостатков, которые усложняют написание корректных и масштабируемых параллельных программ.

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

Во-вторых, в операционных системах Windows слишком велики издержки на запуск потока ОС, что делает непрактичным или невозможным разбиение программы на большое количества параллельно исполняющихся элементов.

В 1973 году Карл Хьюитт с коллегами выпустили работу " A Universal Modular Actor Formalism for Artificial Intelligence", в которой представили резюме многолетней работы исследователей из MIT.

В такой архитектуре вычисления реализуются набором актеров, каждый из которых:

1. Имеет идентификатор, по которому он может быть опознан и адресован другими актерами.

2. Умеет общаться с другими актерами путем посылки и получения сообщений, причем для набора отправленных сообщений гарантируется только сам факт их доставки адресатам, но не порядок их получения.

3. Реализует свое поведение в реакциях на поступающие сообщения.

4. Имеет недоступное для внешнего мира состояние, которое может влиять на его поведение.

5. В ответ на некоторое сообщение может выполнить произвольную комбинацию следующих действий: а) изменить свое состояние, б) изменить логику обработки последующих сообщений, в) послать одно или несколько асинхронных сообщений, г) создать одного или нескольких новых актеров, д) завершить свою работу.

Как можно видеть, модель актеров очень похожа на модель объектов в объектно-ориентированном программировании: а) программа представляется в виде набора однородных взаимодействующих сущностей, б) состояние каждой сущности инкапсулировано внутри и доступно только теми способами, которые разрешит владелец, в) в процессе выполнения программы поведение сущностей может меняться.

Модель актеров отлично подходит для создания распределенных систем, с помощью примитивов посылки и принятия сообщений абстрагируя программиста от необходимости обнаруживать удаленные процессы, сериализовывать данные, выполнять RPC-вызовы и контролировать их надежность.

1.3 Распределенные вычисления

Современные научные исследования крайне «прожорливо» относятся к вычислительным ресурсам, вынуждая ученых прибегать к использованию дорогостоящих суперкомпьютеров и кластерных сетей. Однако каждый час работы подобных вычислительных систем расписан на многие месяцы вперед.

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

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

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

Нередко уступая профессиональным кластерным системам в удельной производительности на единичный процессор, персональные компьютеры, особенно с установленными мощными видеокартами, а также ноутбуки и сервера участников распределенных вычислений берут числом: их армия растет стремительными темпами, тогда как запуск новых суперкомпьютеров – событие редкое, попадающее в выпуски новостей.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.