ЖУРНАЛ СТА 4/2020

кону Амдала p = 50%, следовательно, эффективность распа- раллеливания должна быть выше. Экспериментально подби- раем p = 70% (рис. 3). Получив рассчитанную эффективность распараллеливания программного обеспечения на тестируемом процессоре, мож- но оценить производительность этого процессора и подобрать потенциальных кандидатов для проработки системы. Сначала необходимо рассчитать эффективное количество используемых ядер, то есть такое число ядер ЦП, на котором программа выполняется с оптимальной производитель- ностью. Для этого можно опять воспользоваться формулой (1), но при расчётах использовать не суммарное количество физических и виртуальных ядер, а только количество физических ядер. . (2) Здесь efc – эффективное количество ядер, а phc – физическое количество ядер процессора. Исходя из этого, мыможем умно- жить количество эффективных ядер на рабочую частоту каждо- го ЦП f , чтобы узнать, сколько операций с плавающей запятой в секунду ЦПможет выполнить. Такую величину обычно назы- вают флопс (FLOPS – FLoating-point Operations Per Second). . (3) Флопс является внесистемной единицей оценки произво- дительности вычислительных систем. В данном случае не- важно, сколько операций с плавающей запятой за один такт выполняет конкретный процессор: во-первых, при анализе спецификаций на ЦП эта величина отсутствует; во-вторых, исходя из предпосылок применения данного метода, пред- полагается сравнение процессоров одного семейства или архитектуры. Теперь мы можем оценить, какое время T perf потребуется для выполнения на потенциальном процессо- ре такой же операции, которую мы тестировали на предыду- щем этапе. , (4) где min( RT ) – минимальное время выполнения тестируе- мой операции, это значение мы получили во втором столбце табл. 1; cpu 1 – тестируемый ЦП; cpu 2 – сравниваемый ЦП. Давайте проведём экспериментальную оценку. Результаты в табл. 1 были протестированы на процессоре intel core i5 7200. Предположим, что нас не устраивает время сканирования до- кумента в 2,5 с. Рассмотрим, как повлияет на производитель- FLOPS f efc = × T FLOPS FLOPS RT perf cpu cpu = × 1 2 min( ) efc p p phc = − + 1 1 ность, если мы заменим процессор на более старшую модель intel core i7 7500. Для этого проведём расчёты по формулам (2) и (3) для каждого процессора и оценим, насколько увеличит- ся время выполнения операции. У этих процессоров количе- ство эффективных ядер совпадает, различия только в частоте. Тогда получается: . (5) Таким образом, при переходе на core i7 той же архитектуры показатель времени на сканирование документа сократится примерно на 0,3 с. Дальнейшие выводы о том, является ли данная оптимизация приемлемой и стоит ли она переплаты за чуть более мощный процессор, должен сделать архитектор системы. В ЫВОДЫ Необходимо сделать важные замечания. Данный способ оценки предполагает, что сравниваемые процессоры имеют схожую архитектуру. Если вы заинтересованы в ЦП, который использует совершенно другую архитектуру, всё равно можно применять этот метод для определения относительной раз- ницы в производительности между несколькими различны- ми моделями ЦП одного семейства, но, скорее всего, он не будет точно отражать фактическую производительность. Так- же существуют другие ограничения использования данного метода. Например, следует помнить, что закон Амдала при- меним только в том случае, если узким местом системы яв- ляется процессор. Если задача не ограничивается ресурсами процессора, вы обнаружите, что дальнейшее увеличение ко- личества ядер перестанет влиять на прирост производитель- ности. Если производительность видеокарты, ОЗУ или жё- сткого диска не позволяет программе работать быстрее, до- бавление большего количества ядер ЦП никогда не поможет, даже если программа работает на 100% параллельно. Описанным в статье способом команда проектного офиса пользуется при проведении первичной оценки требуемого оборудования. Полученная оценка, конечно же, не даёт точ- ных результатов, но позволяет формализованными методами рассчитать и обосновать спецификацию предлагаемой систе- мы. Мы планируем частично автоматизировать данный про- цесс. Ведь можно собирать статистику по используемым кон- кретным приложением ресурсам системы, делать простейшие расчёты на основе описанного метода (данные о технических характеристиках различных платформ можно выгрузить из от- крытых баз) и на основе расчётов реализовать систему приня- тия решений, которая будет рекомендовать использование определённого процессора для достижения требуемой про- изводительности. ● Л ИТЕРАТУРА 1. Gustafson J.L. Amdahl’s Law // Encyclopedia of Parallel Computing. – Boston : Springer, 2011. 2. Batch M. Estimating CPU performance Using Amdahls Law. – USA : PugetSystems, 2015. 3. Popov G., Mastorakis N., Mladenov V. Calculation of the Acceleration of Parallel Programs as Function of the Number of Threads // Latest Trends on Computers. – 2014. – Vol. 2. Автор – сотрудник фирмы ПРОСОФТ Телефон: (495) 234-0636 E-mail: info@prosoft.ru T perf = = × 3 1 3 5 2 5 2 21 , , , , В ЗАПИСНУЮ КНИЖК У ИНЖЕ Н Е РА СТА 4/2020 90 www.cta.ru Рис. 3. График расчётного фактического ускорения и ускорения по закону Амдала при p = 70% Прирост производительности Количество ядер Вычисленный прирост Прирост, рассчитанный по закону Амдала 2,5 2 1,5 0,5 0 1 1 2 3 4

RkJQdWJsaXNoZXIy MTQ4NjUy