|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vovanius Uryvaeff 2:5020/175.2 16 Oct 2002 18:54:08 To : Alexey Krasnov Subject : Сортировка "наоборот" -------------------------------------------------------------------------------- Sun Oct 13 2002 20:04, Alexey Krasnov wrote to Andrew Ezhguroff: AK> Здравствуй. AK> Andrew Ezhguroff => Alexey Krasnov, 12 Октябрь 2002 года, 19:21: AE>> Как я понимаю, устройств достаточно мало (раз байтовый адрес)? Hу так AE>> организуй отдельные очереди для каждого устройства: AE>> loop {бесконечный цикл} AE>> for текущая_очередь:=1 to максимальный_номер_очереди do AE>> if не_пусто(очереди[текущая_очередь]) then AE>> отправка_сообщения(очереди[текущая_очередь]) AE>> end if AE>> end for AE>> end loop AK> Хм. При явном превосходстве количества сообщений в одной из очередей AK> желательно конечно обращаться к ней почаще, перемешивая ее с сообщениями AK> из других. То есть, опять-таки встает вопрос выбора последовательности AK> опросов с наиболее "гладким" распределением. Для каждой очереди можно посчитать коэффициент K=N*T, где N - число сообщений в очереди, T - время на обработку пакета в денной очереди, и посылать каждый раз из той очереди, кде К окажется наибольшим, и устройство свободно. (если T одинаково, то его можно считать 1) Тогда в случае 1 1 1 1 1 2 3 4 5 пакеты будут посланы в порядке 1 2 1 3 1 4 1 5 1 а если, например T1 = 1, T2 = 2 и почередь 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 1 1 2 1 1 2 пауза 2 пауза 2 сможете найти пример, в котором такая стратегия неоптимальна? EMail send to vovanius<yxo>xakep.ru, please. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33006b5f643d.html, оценка из 5, голосов 10
|