2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Push vs Pull
Сообщение15.11.2015, 22:48 
Аватара пользователя


07/02/12
1403
Питер
В паттернах проектирования ПО часто применяются так называемые push- и pull- модели последовательной обработки данных. Под последовательной обработкой данных понимаются цепи обработки информации, в которых каждое звено делает свою работу и передает данные следующему в цепочке.
Push-модель подразумевает вызовы в сторону, сонаправленную с передачей данных. Pull-модель подразумевает вызовы в противоположную сторону. Говоря другими словами, в Push модели каждое звено вызывает следующее, как только у него готовы данные на выход. В Pull модели каждое звено вызывает предыдущее, как только ему нужна следующая порция данных.
Бывают также и звенья-переходники. pull в push конвертируется очень просто и такие модули, как правило легче реализовать. push в pull конвертируется сложнее всего, нуждается в буферизации и обработки underflow-случаев.
Нюансы в построении той или иной архитектуры возникают в первую очередь при необходимости блокировать вызовы. В pull модели, как правило, всвязи с недостатком данных в первом звене (например при приеме по сети). В push модели, как правило, всвязи с невозможностью принять данные в последнем звене (например, при передаче по сети).
Также архитектура усложняется проблемой выделения буферов под output-данные на каждом звене - при обработке большого кол-ва данных необходимо минимизировать дополнительные холостые копирования данных.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group