Потребление ресурсов
Источниками потребления ресурсов являются потоки событий. Характеристиками потребления являются временной интервал между событиями в потоке ресурсов (регулярность запросов в рамках потока) и объем потребления ресурса при каждом запросе. Согласно одной из тактик, для того чтобы сократить задержку, следует уменьшить количество ресурсов, необходимых для обработки потока событий. Достижению этой цели служат несколько методов. ♦ Повышение вычислительной эффективности. На одном из этапов обработки события или сообщения применяется тот или иной алгоритм. Чем эффективнее алгоритмы на важнейших участках, тем меньше задержка. В некоторых случаях события могут выбирать между несколькими ресурсами. К примеру, промежуточные данные, с одной стороны, хранятся в репозитарии, а с другой, в зависимости от временных и пространственных ресурсов, могут регенерироваться. Эта тактика чаще всего задействуется в отношении процессоров, однако в применении к другим ресурсам — например, к диску — она не менее эффективна. ♦ Сокращение издержек вычислений. В отсутствие запросов на ресурс потребность в обработке уменьшается. В главе 17 мы покажем, что по сравнению с удаленным вызовом методов (Remote Method Invocation, RMI) Java-классы предъявляют более мягкие требования относительно передачи информации. Применение посредников (играющих важную роль в контексте реализации модифицируемости) повышает уровень потребления ресурсов при обработке потоков событий; соответственно, отказ от. посредничества способствует уменьшению задержки. Это классический пример компромисса между модифицируемостью и производительностью. В соответствии с другой тактикой для сокращения задержки требуется уменьшить количество обрабатываемых событий. Достижению этой цели служат два метода. + Уменьшение частоты поступления событий. Снижения потребления ресурсов, помимо прочего, можно добиться путем уменьшения частоты опроса переменных среды. Иногда такая возможность появляется после реконструкции системы. В других случаях неоправданно высокая частота опроса применяется для организации между несколькими потоками гармонических периодов. Другими словами, за счет учащенного опроса конкретного потока или потоков событий они синхронизируются. ♦ Управление частотой опроса. Если поступление внешних событий не поддается контролю, следствием уменьшения частоты опроса запросов может быть их сокращение. Ниже приводится ряд других тактик сокращения и контроля ресурсопотребления, предусматривающих регулирование использования ресурсов. ♦ Ограничение времени исполнения для отклика на событие. В некоторых случаях это имеет смысл. К примеру, ограничение количества итераций в итеративных информационно-зависимых алгоритмах приводит именно к такому результату. ♦ Ограничение длины очереди. Имеется в виду установление максимального количества поступающих событий, которые можно помещать в очередь, и, соответственно, ресурсов, задействованных в их обработке.
|