Пакетная обработка на Linux

  1. ospf является внутренним шлюзом, тогда как пограничный межсетевой протокол является внешним шлюзом.

  2. сходимость быстро в ospf, замедлитесь в пограничном межсетевом протоколе.

  3. дизайн - иерархическая сеть, возможная в ospf, полностью пойманном в сети в пограничном межсетевом протоколе.

  4. Алгоритм - ospf использует Алгоритм Dijkstra, пограничный межсетевой протокол использует лучший алгоритм пути.

  5. Протокол - ospf имеет протокол IP, пограничный межсетевой протокол имеет протокол TCP.

  6. Порт - ospf имеет порт 89, пограничный межсетевой протокол имеет порт 179.

  7. тип - Состояние канала в ospf, Вектор тракта в пограничном межсетевом протоколе.

  8. Потребность ресурсов устройства - Память & ЦП, интенсивный в ospf, Зависит от размера таблицы маршрутизации, но масштабируется лучше, чем ospf.

3
задан 12 June 2009 в 13:40
10 ответов

Я настроил некоторый сервис организации очередей. Быстрый Google на "готовом использовать" материал показывает это:

В зависимости от Ваших потребностей Вы могли просто

  • создайте обертку, где пользователи отправляют задания,
  • обертка пишет задание в socket/file/whatever
  • создайте потребителя, который выполняет задание заданием, ожидающим его для окончания
  • потребителя затем регулярно звонит крон (каждые 5 минут или так)
    • конечно, создайте некоторый механизм блокировки так, чтобы только n задания, выполненные за один раз (где n => 1)
  • если больше нет заданий, ничего не делают
  • если существует больше заданий, захватывают следующее и ожидают его для окончания

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

Если бы LDP, как предложено womble я взял бы это. Поддержание такой системы более многочисленным сообществом, конечно, лучше, чем создание Ваших собственных ошибок для трудных других, уже решенных :)

Также сервис организации очередей имеет преимущество отделения ресурсов от фактического перемалывания чисел. Путем предоставления доступа к заданиям доступными по некоторому сетевому соединению можно просто бросить аппаратные средства в (возможную) проблему масштабирования и иметь почти бесконечную масштабируемость.

6
ответ дан 3 December 2019 в 04:36
  • 1
    sqs точно, что я искал. Простая система для заданий организации очередей.Спасибо за помощь. –  Andrew Williams 12 June 2009 в 14:10

Тяжелое решение для веса Вашей проблемы состоит в том, чтобы использовать что-то как Механизм Сетки Sun.

Механизм сетки Sun (SGE). SGE является распределенным программным обеспечением управления ресурсами, и он позволяет ресурсам в кластере/машине (процессорное время, программное обеспечение, лицензии и т.д.) использоваться эффективно.

Вот маленькое учебное руководство о том, как использовать SGE.

5
ответ дан 3 December 2019 в 04:36

Два решения приходят на ум:

  1. Использовать xargs -P управлять максимальными параллельными процессами когда-то.
  2. Создайте Make-файл и икру с make -j.

Они на самом деле оба получены в итоге в этом, ТАК распараллельте более подробно.

Существует возможность, что они не могут быть применимы к структуре Ваших сценариев.

5
ответ дан 3 December 2019 в 04:36

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

3
ответ дан 3 December 2019 в 04:36
  • 1
    Интересная идея, какая-либо документация существует при использовании его как общий пакетный процессор? –  Andrew Williams 12 June 2009 в 13:50
  • 2
    Я haven' t попробовал его lpd, но я попробовал его lpsched (старый планировщик SysV). Там it' s простой, как " принтер backends" все сценарии оболочки (по умолчанию). В очень, очень предыдущее задание, у нас был Rayshade " печать queue" это представило задания и вывело получающиеся изображения в пользовательских корневых каталогах. –  Vatine 12 June 2009 в 16:31

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

Что касается пакета/систем планирования в свободном доступе, два, который приходит на ум, были бы OpenPBS/Torque и SGE.

Отредактированный для добавления: Если Вы когда-либо собираетесь добавить больше мощности переработки в будущем в форме большего количества полей, пакет/система планирования как Torque/OpenPBS/SGE может быть хорошим выбором, поскольку они в основном создаются для управления, вычисляют ресурсы и распределяют рабочие нагрузки им.

4
ответ дан 3 December 2019 в 04:36

Сценарий оболочки, представленный на рассмотрение кроном, мог легко сделать это, он обрабатывает его линию за линией.

0
ответ дан 3 December 2019 в 04:36
  • 1
    Мы действительно выполняем задания через Крон, но проблема, которую мы имеем, - то, что мы не знаем, сколько времени задания будут работать за, иногда it' ll быть 12 миллионами строк и 4 часа и следующий 100k и 15 минут. –  Andrew Williams 12 June 2009 в 13:51
  • 2
    Ohh, извините. Я вмятина вполне понимаю Ваш сценарий затем. Как насчет того, чтобы получить начальный процесс (тот Вы хотите ожидать прежде, чем сделать что-либо еще) записать файл состояния? Приложение пишет " WAIT" в statusfile, когда это запускает и пишет " OK" в файл, когда его успешно сделанный. Задания крона запускают batchscript, который идет для выхода 0 если файл! = хорошо. –  pauska 12 June 2009 в 14:08

От man batch:

пакет выполняет команды, когда уровни системной нагрузки разрешают; другими словами, когда среднее число загрузки опускается ниже 1.5, или значение, указанное в вызове фактического времени отправления.

Я думаю, что это могло бы быть тем, что Вы ищете. Это - часть Debian at пакет.

3
ответ дан 3 December 2019 в 04:36
  • 1
    Да, я посмотрел на пакет, но поскольку Вы упомянули, что он выполняется на среднем числе загрузки. Это было бы проблемой из-за inital этапов наших сценариев, которые делают большое извлечение DB, это - низкий ЦП, но высокая сетевая задача пропускной способности и это doesn' t повышают loadavg выше 0.3. Как часть этого критерии, которыми было бы другое задание, работали одновременно. –  Andrew Williams 12 June 2009 в 14:12

Я использовал бы Крутящий момент, который является обновленной версией FOSS OpenPBS.

0
ответ дан 3 December 2019 в 04:36

wava : планировщик с учетом памяти, который позволяет ставить в очередь пакетные задания (представленные с обещанием максимального использования физической памяти) для выполнения, когда в системе доступно достаточно физической памяти (RSS). system.

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

1
ответ дан 3 December 2019 в 04:36

Мы использовали Control M именно по этой причине с ETL и т.п. (но несколько лет назад). Конечно, это не бесплатный или открытый исходный код, но у него была очень хорошая гибкость с точки зрения пакетной обработки (а-ля если-то-то-то тип потока выполнения)

1
ответ дан 3 December 2019 в 04:36

Теги

Похожие вопросы