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

В ВЕДЕНИЕ В своей повседневной работе команда проектного офиса ПРОСОФТ сталкивается с новыми проектами, требующими проработки программно-аппаратной структуры. При прора- ботке архитектуры систем возникает много проблем и огра- ничений, связанных, например, с подбором оборудования для размещения в металлической стойке, турникете или тер- минале, которое бы соответствовало ряду требований: ● технические требования заказчика; ● форм-фактор, который позволил бы конструкторам не только разместить оборудование в ограниченном про- странстве, но и соблюсти эргономические требования; ● наличие современного интерфейса связи оборудования с вычислителем; ● наличие SDK (Software Development Kit – комплект средств разработки ПО) или API (Application Programming Interface – интерфейс прикладного программирования) для интеграции в проприетарное программное обеспечение. Можно сказать, что не все производители серьёзно отно- сятся к этому пункту и в составе своей продукции предо- ставляют только закрытое пользовательское приложение, отсекая какие-либо возможности сторонней программной интеграции, а ведь интеграция оборудования в сторонние системы открывает дополнительный рынок сбыта, который вполне мог бы окупить затраты на разработку и описание внешнего API; ● наличие вычислителя или просто компьютера, удовлетво- ряющего требованиям по производительности работы в ре- жиме 24/7/365 и имеющего пассивное охлаждение. Это важный момент, поскольку использование вентиляторов в таких системах приводит к скоплению пыли и, как след- ствие, к увеличению частоты и сложности обслуживания. При проработке архитектуры систем почти все эти требо- вания носят детерминированный характер, и от архитектора системы или инженера требуется подобрать удачную комби- нацию всех технических характеристик. Однако в процессе проектирования остаётся одна трудно формализуемая харак- теристика, которую сложно рассчитать и предсказать, – это производительность компьютера. Как определить, какой про- цессор необходимо выбрать? Сколько оперативной памяти требуется? А ведь в 99% случаев на стадии проектирования структуры аппаратных средств и составления спецификаций у нас нет информации о том, насколько ресурсоёмким будет используемое программное обеспечение. Будет ли, к примеру, без заметных задержек работать система видеораспознавания? О ПРЕДЕЛЕНИЕ УЗКИХ МЕСТ В этом вопросе всегда приходится балансировать, выбирая между производительной платформой и ценой. Не всегда бюджет проекта позволяет заказать ЦП intel core i7 или i9 по- следних поколений и 16 ГБ оперативной памяти и не беспо- коиться о том, что для установленного ПО может оказаться недостаточно ресурсов. Возникает вопрос, как найти опти- мальное соотношение производительности и цены. Давайте разбираться. Как правило, относительную оценку производительности компьютера выполняют по характери- стикам оперативной памяти, центрального и графического процессоров (ЦП и ГП). При оценке требуемого размера оперативной памяти обыч- но ограничиваются ручным тестированием ПО, используя диспетчер задач, чтобы определить среднее необходимое ко- личество оперативной памяти при работе наиболее ресур- соёмких задач. При подборе ЦП необходимо обратить внимание на две ос- новные характеристики, которые обусловливают его относи- тельную производительность: 1) частота, определяющая количество операций в секунду на одном ядре; 2) количество физических ядер в пределах одного процессора. Данные характеристики не учитывают различий в архитек- туре (AMD против Intel, Haswel против Kaby Lake и т.д.), тем не менее при сравнении двух процессоров они являются ос- новными параметрами, которые определяют относительную производительность процессора. Если программное обес- печение, которое планируется использовать в системе, задей- ствует только одно ядро процессора, то частота процессора является хорошим и достаточно точным показателем про- изводительности. Однако если программное обеспечение может использовать несколько ядер, то произвести оценку производительности процессора становится затруднительно, поскольку практиче- ски любое приложение не будет максимально эффективно за- действовать все ядра. Возникает вопрос оценки эффективности распараллеливания вычислений используемым ПО. О ЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ ПРОЦЕССОРА ДЛЯ ОПРЕДЕЛЁННОГО ПРИЛОЖЕНИЯ Существует несколько различных способов расчёта эффек- тивности распараллеливания вычислений. В данной статье воспользуемся законом Амдала [1–3], который иллюстриру- ет ограничение роста производительности системы с уве- личением количества вычислителей. Возвращаясь к нашей задаче, можно сказать, что из данно- го закона следует, что при увеличении количества ядер про- цессора будет наблюдаться замедление прироста производи- тельности при низкой эффективности использования всех ядер одновременно. Если вы знаете эффективность распа- раллеливания, можно математически рассчитать точку, в ко- торой производительность при использовании меньшего чис- ла ядер, работающих на более высокой частоте, выше, чем В ЗАПИСНУЮ КНИЖКУ ИНЖЕНЕРА Один из методов выбора процессора для вычислительной системы Алексей Коченгин СТА 4/2020 88 www.cta.ru

RkJQdWJsaXNoZXIy MTQ4NjUy