Как определить соотношение вычислений к общению

Учитывая параллельную программу и четко определенное аппаратное обеспечение, как определить отношение вычислений к коммуникации (CCR). Это необходимо для определения степени детализации программ и последующего анализа. Литература описывает этот термин и использует его для определения степени детализации программ, но я не нашел ничего, чтобы оценить CCR, если оно высокое или низкое.

1 ответ

Решение

Чтобы сравнить вычисления и общение, вы должны измерить как единое целое. Вообще я бы использовал меру времени. Затем вы можете обнаружить, что программа имеет соотношение 80:20 (вычислить: общаться)

Хотя можно утверждать, что соотношение 50:50 является высокой ценностью для общения, эти цифры действительно имеют значение только по сравнению с сопоставимыми цифрами для других параллельных программ. Таким образом, если программа A и программа B решают одну и ту же проблему, но A имеет соотношение 80:20, а B - 70:30, вы можете утверждать, что A выполняет больше вычислений, чем B в каждом такте такта. Если они не решают ту же проблему, вы можете сравнить яблоки и апельсины.

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

Если у вас достаточно опыта в этих вопросах, вы обычно можете сделать некоторые обоснованные предположения об отношении к изучению структуры программы, но в конце концов вам придется измерить его, чтобы сделать какие-либо разумные выводы.

Другие вопросы по тегам