PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 24 ноя 17 8:47

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 21 авг 07 16:51 
Не в сети

Зарегистрирован: 18 июн 07 13:13
Сообщения: 47
Откуда: Москва
В дополнение посмотрите спецификацию на MPI-2
Возможно Вам это будет полезно.

Вот вам ссылка (на русском)

http://skif.bas-net.by/bsuir/mpi-2-std/

Напомню что в HPC MPI популярен не потому что он уж очень удобен
а потому что он очень эффективен (по сравнению с другими интерфейсами) ... само собой ImHO


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 авг 07 10:38 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Serge A. Suchkov писал(а):
В дополнение посмотрите спецификацию на MPI-2
Возможно Вам это будет полезно.

Вот вам ссылка (на русском)

http://skif.bas-net.by/bsuir/mpi-2-std/


Спасибо, посмотрю.

Дмитрий Вьюков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 апр 08 20:56 
Не в сети

Зарегистрирован: 16 апр 08 20:41
Сообщения: 4
Надо сначала написать требования к либу, как минимум.
Многое прояснится, а если повезёт, то и код писать не придётся. :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 апр 08 21:25 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Давид писал(а):
Надо сначала написать требования к либу, как минимум.
Многое прояснится, а если повезёт, то и код писать не придётся. :D



Хммм... Что бы написать требования в либе, надо понять, что нужно...


Дмитрий Вьюков


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 апр 08 21:44 
Не в сети

Зарегистрирован: 16 апр 08 20:41
Сообщения: 4
Дмитрий, я бы посмотрел boost.MPI - удачный пример врапперов для MPI.
Ведь посмотрите какая штука с boost-ом.
Появился python bind, затем - lua bind,
теперь всерьёз обсуждается обобщение - language bind
для всяких скриптовых языков.
Возможно boost.MPI станет частью какого-нибудь boost.Parallel.
Связь какая-то улавливается с Вашими намереними?
------------
boost.interprocess тоже забавная вещь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 апр 08 22:14 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Давид писал(а):
Дмитрий, я бы посмотрел boost.MPI - удачный пример врапперов для MPI.
Ведь посмотрите какая штука с boost-ом.
Появился python bind, затем - lua bind,
теперь всерьёз обсуждается обобщение - language bind
для всяких скриптовых языков.
Возможно boost.MPI станет частью какого-нибудь boost.Parallel.
Связь какая-то улавливается с Вашими намереними?
------------
boost.interprocess тоже забавная вещь.



АФАИК, MPI - это максимально низкоуровневый интерфейс. Это то же самое, что и POSIX pthreads. Глядя на них, нет никакой возможности понять, что в итоге нужно пользователям.

Мои намерения - фреймворк для программирования вычислительных задач, серверного ПО, клиентского ПО и стенд-алоне приложений для commodity аппаратного обеспечения.
Прообразами... плохое слово... фреймворки, на которые я глядел, можно назвать sobjectizer (http://sobjectizer.sourceforge.net/), Erlang, Cilk, Intel TBB и др. Хотелось бы ещё услышать мнение людей из HPC. Интерфейс OpenMP поглядеть-то я могу. Но я не знаю, почему он такой и каким бы он мог бы быть при других стечениях обстоятельств...


Дмитрий Вьюков


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 апр 08 14:20 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 869
Откуда: НИВЦ МГУ
Цитата:
Глядя на них, нет никакой возможности понять, что в итоге нужно пользователям.


Глядя на инструмент вообще невозможно понять что нужно мастеру :) Скорее надо идти от обратного.

Цитата:
Мои намерения - фреймворк для программирования вычислительных задач, серверного ПО, клиентского ПО и стенд-алоне приложений для commodity аппаратного обеспечения.


Всё-в-одном-и-поэтому-ужасно-работает?

Цитата:
Прообразами... плохое слово... фреймворки, на которые я глядел, можно назвать sobjectizer (http://sobjectizer.sourceforge.net/), Erlang, Cilk, Intel TBB и др.


Erlang и Cilk - это вообще не фреймворки, а языки... Чем они принципиально отличаются от использования MPI - не совсем понятно в данном контексте.
TBB - уже скорее фреймворк. Вы хотите сделать что-то похожее или принципиально отличное? На что всё-таки "прицел" разрабатываемого инструмента?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 апр 08 15:28 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Serg_Zhum писал(а):
Цитата:
Глядя на них, нет никакой возможности понять, что в итоге нужно пользователям.


Глядя на инструмент вообще невозможно понять что нужно мастеру :) Скорее надо идти от обратного.



Именно.


Serg_Zhum писал(а):
Цитата:
Мои намерения - фреймворк для программирования вычислительных задач, серверного ПО, клиентского ПО и стенд-алоне приложений для commodity аппаратного обеспечения.


Всё-в-одном-и-поэтому-ужасно-работает?



Рабочий протитип уже есть. И он работает прекрасно.
Никакая open-source технология не может так работать, потому что по-крайней мере в public domain сейчас нет алгоритмов, которые я использую.


Serg_Zhum писал(а):
Цитата:
Прообразами... плохое слово... фреймворки, на которые я глядел, можно назвать sobjectizer (http://sobjectizer.sourceforge.net/), Erlang, Cilk, Intel TBB и др.


Erlang и Cilk - это вообще не фреймворки, а языки... Чем они принципиально отличаются от использования MPI - не совсем понятно в данном контексте.
TBB - уже скорее фреймворк. Вы хотите сделать что-то похожее или принципиально отличное? На что всё-таки "прицел" разрабатываемого инструмента?

[/quote]


Как правильно назвать их все вместе?

Похоже. На что похоже больше всего... не знаю... Наверное на Erlang...
Основная идея - совместить высокую производительность, масштабируемость, автоматическое распараллеливание таких вещей как Cilk и OpenMP с удобством и расширенными возможностями (приоритезация элементов работы, возможность задавать FIFO порядок обработки для групп элементов работы, поддержка паттерна запрос-ответ и т.д.) таких вещей как Erlang и SObjectizer.
АФАИК, таких вещей сейчас нет. Есть либо производительные/масштабируемые вещи, нацеленные на HPC. Либо feature-rich вещи, нацеленные на "прикладную" разработку. В итоге и те, и те не пригодны для многих задач.


Дмитрий Вьюков


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 12:52 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 869
Откуда: НИВЦ МГУ
Цитата:
Как правильно назвать их все вместе?


Как назвать вместе огурцы, вилку и рукомойник?

Цитата:
Похоже. На что похоже больше всего... не знаю... Наверное на Erlang...
Основная идея - совместить высокую производительность, масштабируемость, автоматическое распараллеливание таких вещей как Cilk и OpenMP с удобством и расширенными возможностями (приоритезация элементов работы, возможность задавать FIFO порядок обработки для групп элементов работы, поддержка паттерна запрос-ответ и т.д.) таких вещей как Erlang и SObjectizer.


Э... Поясните, пожалуйста, Вы хотите, чтобы мы все угадали, что же такое Вы сделали и кому оно нужно?
Изначально (см. первый пост) это позиционировалось как параллельная библиотека с неопределённым интерфейсом и вопрос был "что бы такого сюда добавить и хорошо ли написаны прототипы"? По функциональности до сих пор непонятно, что же такое оно умеет и насколько хорошо. Фразы о совмещении TBB и Erlang скорее пугают, чем привлекают...

Определитесь же что именно Вы делаете :) А как определитесь - задавайте КОНКРЕТНЫЕ а не абстрактные вопросы (или получите абстрактные ответы) или представляйте свой продукт на суд общественности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 13:30 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Serg_Zhum писал(а):

Э... Поясните, пожалуйста, Вы хотите, чтобы мы все угадали, что же такое Вы сделали и кому оно нужно?
Изначально (см. первый пост) это позиционировалось как параллельная библиотека с неопределённым интерфейсом и вопрос был "что бы такого сюда добавить и хорошо ли написаны прототипы"? По функциональности до сих пор непонятно, что же такое оно умеет и насколько хорошо. Фразы о совмещении TBB и Erlang скорее пугают, чем привлекают...

Определитесь же что именно Вы делаете :) А как определитесь - задавайте КОНКРЕТНЫЕ а не абстрактные вопросы (или получите абстрактные ответы) или представляйте свой продукт на суд общественности.



Что именно я делаю, я уже давно определился. И уже несколько раз тут описал.
Самый что ни есть конкретный вопрос был в первом посте. Возможно, конечно, это не показательный топик, но у меня пока складывается впечатление, что в этом форуме не принято отвечать по существу. Извините уж. Очень хотелось бы развеять это впечатление. Большинство ответов либо просто ссылки на известные технологии, либо ответы, которые я читаю как "да ты типа ламер. ты ничего не понимаешь и ничего у тебя не получится. не лезь вообще сюда" :(

Что оно умеет?
Если кратко и касательно "HPC" части, то умеет запустить интерфейс pardo_algo на параллельное исполнение + делать шедулинг/балансинг работы + делать continuations.

Насколько хорошо?
Пока можно считать, что очень хорошо. Будет поддерживать на порядок более мелкую гранулярность, чем Intel TBB.

Конкретный вопрос - удобен ли и функционально полен ли интерфейс pardo_algo? Если нет, то как надо его изменить? Что с барьерной синхронизацией? Имеет ли её встраивать в этот интерфейс? Если да, то в каком виде?

Предполагаемые отличия библиотеки от OpenMP - "С++ интерфейс", расширенные возможности (fork/join алгоритмы и т.д.) (мне OpenMP видится как достаточно минималистичный интерфейс), учёт мнения обитателей форума parallel.ru (желательно).

Отличия от Intel TBB - в принципе, что касается "HPC части", то достаточно схоже. Но опять же - хорош ли интерфейс, предоставляемый TBB?

Плюс к этому - прозрачная интеграция возможностей необходимых для "прикладного" программирования. Плюс - инновационный ран-тайм.

Дмитрий Вьюков


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 15:54 
Не в сети

Зарегистрирован: 18 июн 07 13:13
Сообщения: 47
Откуда: Москва
Возьмите какую нибудь небольшую HPC задачу и попробуйте применить свой интерфейс на ней.

Могу для теста порекомендовать NASA-вский набор бенчмарков NAS PARALLEL BENCHMARK (NPB).
Он содержит Serial, MPI,OpenMP,Java версии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 16:02 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Serge A. Suchkov писал(а):
Возьмите какую нибудь небольшую HPC задачу и попробуйте применить свой интерфейс на ней.

Могу для теста порекомендовать NASA-вский набор бенчмарков NAS PARALLEL BENCHMARK (NPB).
Он содержит Serial, MPI,OpenMP,Java версии.



Я понимаю, что сам вначале могу стать экспертом в HPC, а потом сам спроектировать хорошие интерфейсы. Но я как раз сюда и обращаюсь, что бы этого *не* делать, а что бы получить feedback от текущих экспертов в HPC так сказать out-of-the-box. Сам я занимаюсь смежной, но отличной областью, и, как водится, времени не хватает сделать всё, что хочется, даже в этой области.


Дмитрий Вьюков


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 16:09 
Не в сети

Зарегистрирован: 18 июн 07 13:13
Сообщения: 47
Откуда: Москва
Нельзя не разбираясь в HPC делать чего либо для *HPC* ;)

За то время, что существует эта тема можно было написать 4 реализации вашей библиотеки ;)

Вам уже и ссылки на аналоги приводили и типичные HPC задачи к которым бы вы попытались эту библиотеку применить.

Других вариантов нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 16:37 
Не в сети

Зарегистрирован: 17 авг 07 1:31
Сообщения: 26
Serge A. Suchkov писал(а):
Нельзя не разбираясь в HPC делать чего либо для *HPC* ;)

За то время, что существует эта тема можно было написать 4 реализации вашей библиотеки ;)

Вам уже и ссылки на аналоги приводили и типичные HPC задачи к которым бы вы попытались эту библиотеку применить.

Других вариантов нет.



Хммм... А мне казалось, что форумы как раз для этого и существуют, что бы эксперты в какой-либо области могли поделиться знаниями с неэкспертами по каким-то конкретным вопросам... А для чего тогда форумы???

Почему *не* вариант, что эксперты форума parallel.ru помогут мне спроектировать интерфейс?

К сожалению, этой библиотеке я могу уделять очень ограниченное время, я не могу заниматься ей 24 часа в сутки, 7 дней в неделю. К тому же других вопросов тоже хватает...


Дмитрий Вьюков


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 апр 08 17:32 
Не в сети

Зарегистрирован: 18 июн 07 13:13
Сообщения: 47
Откуда: Москва
Цитата:
Почему *не* вариант, что эксперты форума parallel.ru помогут мне спроектировать интерфейс?

К сожалению, этой библиотеке я могу уделять очень ограниченное время, я не могу заниматься ей 24 часа в сутки, 7 дней в неделю


Наверное по аналогичной причине ;)

Ну и потом просто некий велосипед, оторванный от моей предметной области например мне абсолютно не интересен.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB