Здравствуйте, Аноним, Вы писали:
А>Что можете посоветовать почитать по алгоритмам планирования заданий в распределённых системах? Спасибо.
Каких именно "заданий"? Это может быть все что угодно: от планировщиков событий до Гугловского распределенного map-reduce.
Sapienti sat!
Re[2]: Распределённые системы.
От:
Аноним
Дата:
27.11.07 08:20
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Что можете посоветовать почитать по алгоритмам планирования заданий в распределённых системах? Спасибо. C>Каких именно "заданий"? Это может быть все что угодно: от планировщиков событий до Гугловского распределенного map-reduce.
Пример — есть что-то, что получает бесконечный поток заданий. Это что-то должно распределять их по другим машинам системы, при этом учитывать нагрузку на эти машины, т.е. делать балансировку, следить за тем, чтобы задания ни в коем случае не были потеряны в случае сбоя какой-либо машины. В идеале этого что-то должно быть больше одного.
Здравствуйте, Аноним, Вы писали:
А>>>Что можете посоветовать почитать по алгоритмам планирования заданий в распределённых системах? Спасибо. C>>Каких именно "заданий"? Это может быть все что угодно: от планировщиков событий до Гугловского распределенного map-reduce.
А>Пример — есть что-то, что получает бесконечный поток заданий. Это что-то должно распределять их по другим машинам системы, при этом учитывать нагрузку на эти машины, т.е. делать балансировку, следить за тем, чтобы задания ни в коем случае не были потеряны в случае сбоя какой-либо машины. В идеале этого что-то должно быть больше одного.
Здравствуйте, Satellite13, Вы писали:
S>Поищи в гуугле GreadGane
Извиняйте, фигню написал, вот http://www.gridgain.com/
Re[5]: Распределённые системы.
От:
Аноним
Дата:
27.11.07 15:52
Оценка:
Здравствуйте, Satellite13, Вы писали:
S>Здравствуйте, Satellite13, Вы писали:
S>>Поищи в гуугле GreadGane S>Извиняйте, фигню написал, вот http://www.gridgain.com/
Спасибо, посмотрел. Но меня больше интересуют сами алгоритмы планирования, а не реализация.
Здравствуйте, <Аноним>, Вы писали:
А>Пример — есть что-то, что получает бесконечный поток заданий. Это что-то должно распределять их по другим машинам системы, при этом учитывать нагрузку на эти машины, т.е. делать балансировку, следить за тем, чтобы задания ни в коем случае не были потеряны в случае сбоя какой-либо машины. В идеале этого что-то должно быть больше одного.
Получаешь задание.
Складываешь его в базу данных.
В отдельном потоке выгребаешь необработанные задания из базы (но не удаляешь, а помечаешь что их отправили на обработку тогдато) и раскидываешь их по машинам которые будут их обсчитывать.
Также нужно переодически смотреть на задания в работе на тему не отвалилась ли обрабатывающие машины.
Ответ пишешь в туже базу и помечаешь задание как обработанное.
Ждешь когда за ответом придут.
Это примерная схема обработки неких запросов в вакууме.
Болие конкретно можно сказать если ты раскажешь что ты хочешь сделать.
А вобще на тему можно почитать чегонибудь из Танебаума.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[4]: Распределённые системы.
От:
Аноним
Дата:
27.11.07 18:06
Оценка:
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, <Аноним>, Вы писали:
А>>Пример — есть что-то, что получает бесконечный поток заданий. Это что-то должно распределять их по другим машинам системы, при этом учитывать нагрузку на эти машины, т.е. делать балансировку, следить за тем, чтобы задания ни в коем случае не были потеряны в случае сбоя какой-либо машины. В идеале этого что-то должно быть больше одного. WH>Получаешь задание. WH>Складываешь его в базу данных. WH>В отдельном потоке выгребаешь необработанные задания из базы (но не удаляешь, а помечаешь что их отправили на обработку тогдато) и раскидываешь их по машинам которые будут их обсчитывать. WH>Также нужно переодически смотреть на задания в работе на тему не отвалилась ли обрабатывающие машины. WH>Ответ пишешь в туже базу и помечаешь задание как обработанное. WH>Ждешь когда за ответом придут.
WH>Это примерная схема обработки неких запросов в вакууме. WH>Болие конкретно можно сказать если ты раскажешь что ты хочешь сделать.
WH>А вобще на тему можно почитать чегонибудь из Танебаума.
Спасибо. Несколько примечаний:
1. Примерно о такой схеме я и думал, только вместо СУБД — несколько очередей сообщений.
2. Язык разработки — Erlang, поэтому можно использовать все его возможности применительно к такому случаю.
3. Скорость поступления запросов в систему 50 — 250 в секунду. Я не знаю, сможет-ли СУБД обработать такой поток?
4. Скорость обработки одного запроса — от долей секунды до минуты.
5. Таненбаума читал, нашёл кое-что полезное, правда не там, где должно быть.
Здравствуйте, <Аноним>, Вы писали:
А>Спасибо. Несколько примечаний: А>1. Примерно о такой схеме я и думал, только вместо СУБД — несколько очередей сообщений.
А какже "следить за тем, чтобы задания ни в коем случае не были потеряны в случае сбоя какой-либо машины."?
ИМХО только БД с гарантированным ACID это обеспечивает.
Причем если нужна гарантия практически 100%ной сохранности то задания нужно сохранять как минимум на 2 машины (лучше если они будут стоять в разных датацентрах).
Аппаратные рейды слишком не надежны.
А>2. Язык разработки — Erlang, поэтому можно использовать все его возможности применительно к такому случаю.
Пофигу какой язык.
На общую архитектуру в данном случае это повлияет мало.
Я подобные вещи делаю на С++ и http запросах.
Все прекрасно работает.
Да на болие подходящем инструменте былобы проще но не сильно.
А>3. Скорость поступления запросов в систему 50 — 250 в секунду. Я не знаю, сможет-ли СУБД обработать такой поток?
Это зависит от много чего.
Вероятно будет нужен кластер между машинами которого запросы раскидываются тупо round-robin'ом.
Короче пока не постреляешь не узнаешь.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Аноним 207 wrote: > 3. Скорость поступления запросов в систему 50 — 250 в секунду. Я не > знаю, сможет-ли СУБД обработать такой поток?
Mnesia в Erlang'е — сможет.
> 4. Скорость обработки одного запроса — от долей секунды до минуты. > 5. Таненбаума читал, нашёл кое-что полезное, правда не там, где должно быть.
Еще можно почитать про MPI, хотя на 50 сообщениях в секунду и обычной БД
должно хватить.
Здравствуйте, Аноним, Вы писали:
А>Добрый день.
А>Что можете посоветовать почитать по алгоритмам планирования заданий в распределённых системах? Спасибо.
в теорию расписаний заглядывал? это все равно что онлайн распределение задач по исполнителям.
Re[2]: Распределённые системы.
От:
Аноним
Дата:
28.11.07 11:20
Оценка:
Здравствуйте, ilnar, Вы писали:
I>Здравствуйте, Аноним, Вы писали:
А>>Добрый день.
А>>Что можете посоветовать почитать по алгоритмам планирования заданий в распределённых системах? Спасибо.
I>в теорию расписаний заглядывал? это все равно что онлайн распределение задач по исполнителям.
Спасибо. Вроде как то, что надо. Только мало информации в гугле нахожу.