Реферат: Менеджер управления распределенными вычислениями в локальной сети
· установка таймера на данный счетчик (setTimer);
· запуск таймера (startTimer);
· останов таймера (stopTimer).
Пример: сколько времени данная функция проводит, посылая сообщения?
void foo ()
{
add (fooFlag); // fooFlag является признаком входа в функцию
. . .
sub (fooFlag);
}
sendMessage ()
{
if (fooFlag)
startTimer ();
. . .
if (fooFlag)
stopTimer ();
}
Ресурсы – все интересующие нас объекты параллельной системы (процессоры, каналы, задачи). Ресурсы упорядочены в некоторое количество иерархий. В каждой иерархии представлены объекты определенного типа. На нижнем уровне иерархии находятся конкретные объекты данного типа, существующие на данный момент в системе. На следующем более высоком уровне они собираются по определенному признаку, например в объекты, содержащие их.
Пример иерархии каналов показан на рисунке.
Иерархии ресурсов позволяют определить детализацию собираемой информации о производительности. Каждый более высокий уровень базируется на информации предоставляемой более низким уровнем. В примере с иерархией каналов, на самом нижнем уровне вычисляются метрики конкретных каналов. На уровне процессоров вычисляются общие метрики, такие как усредненные или суммарные значения метрик всех каналов на конкретном процессоре. На самом высоком уровне – всей системы – вычисляются общие метрики для всех каналов в системе.
Кроме иерархии каналов определены иерархии ресурсов процессоров и задач.
Иерархическая организация информации используется при анализе характеристик и производительности параллельных программ в реальном времени.
Для сбора информации используется метод сэмплирования (от английского sampling), т.е. периодического считывания текущих данных. Поступление очередного набора данных назовем сэмплом (sample).
Кольцо служебных каналов. Сбор информации о текущей производительности производится главным процессором (или задачей), называемой диспетчером или менеджером . Для этого используются служебные каналы, которые равноценны определенным ранее каналам. Из возможных структур сети служебных каналов, две из которых показаны на рисунке, выбрано “кольцо”.
При необходимости определенной информации диспетчер посылает запрос по служебному каналу, который не содержит данных. Каждый процессор, принимая запрос, дополняет его своей информацией и посылает дальше по служебному каналу, следующему процессору. В результате прохождения запроса по всем процессорам системы он возвращается к диспетчеру с накопленной информацией.
Целесообразность использования кольца служебных каналов (по сравнению с “веником”):
1. Небольшое общее количество односторонних каналов (N+1 вместо 2N);
2. Как следствие, разгрузка канала обмена диспетчера (нагрузка распределяется между всеми процессорами системы);