Многоядерные процессоры в промышленной автоматике

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

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

По мере того, как потери и неэффективность достигали неприемлемого уровня, стал необходимым новый, свежий подход к проектированию чипов. Отсюда появление многоядерных процессоров (MCPs, multi-core processors) – определяемых как два или более независимых рабочих ядер, помещенных в одном кремниевом чипе. Как бывает в большинстве случаев технологического прогресса, для получения всей выгоды необходимо некоторое изменениев этом случае соответствующая подготовка программного обеспечения.

Компания Intel, главный производитель многоядерных процессоров (MCPs), видит внедрение этих компонентов в сферу промышленности благодаря умениям фирм, занимающихся автоматикой, которые используют технологию на основе компьютеров PC для быстрой адаптации к определенным потребностям клиента. По мнению Яна Джлварри, руководителя отдела стратегического маркетинга промышленной автоматики компании Intel, такой подход позволяет наиболее простым способом адаптировать систему автоматики и интегрировать определенную функциональность, нежели специальные аппаратные решения.

 

Интегрирование функций

Многоядерные процессорыДжилварри подчеркнул, что многоядерные процессоры в сочетании с технологией виртуализации дают возможность создать архитектуру на одной платформе, которая может интегрировать функции, встречающиеся в разных управляющих устройствах, таких, как программируемые контроллеры и логические PLC, контроллеры автоматики приводов, а также интерфейсы «человекмашина» (HMI). – Многоядерные процессоры компании Intel могут использоваться для консолидации на одной плате разнообразных функций, включающих предохранения, управление, визуализацию, а также безопасность сети. Кроме того, обычно такая консолидация может достигаться при минимальных изменениях программного обеспечениязаявил он.

? Среди многих применений многоядерные процессоры идеальны для введения автоматики привода и логической системы машины в одном процессореобъяснил Джилварри. Это контрастирует с долго сохранявшимся убеждением производителей и поставщиков машин, что лучше всего решать эти машинные проблемы раздельнобудь то исполнение с одним контроллером для каждой оси движения, обслуживающим также часть логической системы машины, центральным программируемым логическим контроллером PLC с контроллером движения для каждой оси или центральным программируемым логическим контроллером PLC для логической системы и центральным контроллером движения для всех осей машины.

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

­– В случае всех этих решений возможности логической системы ограничивают показатели машины. Также сложная коммуникация между логической системой и системой движения ограничивают гибкость машины и требуют огромных усилий для проведения тонкой диагностики, – констатировал Джилварри. – Это случаи, в которых многоядерная технология позволяет исключить программируемые логические контроллеры PLC, а также интегрировать системы движения, логическую систему и другие функциональные системы в одну систему управления.

Предложение многоядерных процессоров компании Intel включает две модели из новейшего семейства процессоров Atom, а также процессор Core 2 Duo (каждый с двумя ядрами); процессор Core 2 Quad с четырьмя ядрами и некоторые процессоры поколения Core i7 с шестью ядрами.

 

Возможности на один ватт мощности

Более эффективное использование мощности чипаэто одна из нескольких выгод, которую многоядерные процессоры принесли  в сферу промышленности. Вместо наращивания частоты процессора с целью увеличения возможностей при уменьшении отдачи потребляемой мощности, многоядерные процессоры создали новое направление развития, которое Кэйси Уэльтсин, руководитель отдела продаж программного обеспечения National Instruments (NI) называет «увеличение возможностей на один ватт мощности». Потребляемая мощность стала серьезной проблемой при проектировании традиционных (одноядерных) чипов. – Много процессоров на одном чипе дают возможность параллельно производить вычисления при потреблении мощности, растущем при изменении числа ядер линейно, а не по экспонентеконстатировал Уэльтсин.

Дополнительные расчетные ядра дают более интегрированные системы  автоматики, которые могут иметь б?льшую функциональность. Такая возросшая мощность расчетов позволяет пользователям многоядерных процессоров применять более сложные алгоритмы управления для реализации большего числа задач и дает возможность более эффективно использовать потребляемую мощность при выполнении расчетовобъяснил Уэльтсин. Современные алгоритмы программного обеспечения позволяют проводить процесс быстрее, позволяя сэкономить на энергии или на других эксплуатационных расходах.

Многоядерный процессор имеет больше возможностей, чем одна операционная система (ОС) с одним контроллером. Способность осуществлять функции в реальном времени, управлять в режиме детерминированности, а также выполнять универсальные задачи операционной системы (интерфейс «человекмашина» – HMI, доступ в сеть и т.п.) представляют собой реальные достоинства во многих системах промышленной автоматики. Кроме того, пользователи могут планировать, как использовать ядра, то есть определять, какое ядро (ядра) какую ОС или определенный контур управления будет обслуживать. – Разработчики, чтобы удовлетворить эту потребность, традиционно полагались на отдельные элементы оборудования. Теперь многоядерные процессоры в сочетании с технологией виртуализации приводят к снижению затрат на аппаратуру и дают экономию местазаметил Уэльтсин. Многоядерные процессоры имеют большой потенциал промышленного применения.

Заглядывая в будущее, фирма Beckhoff Automation видит возможность применения многоядерных процессоров в своих продуктах с промышленными компьютерами PC (IPC), замечает выгоды многофункциональности, которую дают дополнительные ядра. По мнению Кори МакЭйти, директора технического маркетинга компании Beckhoff; эта фирма ввела понятие «научная автоматизация» для определения способа, каким инженеры могут использовать дополнительные ядра в многофункциональных  IPC для выполнения многих параллельных задач.

Как свидетельствует опыт компании Beckhoff, многоядерные IPC могут уменьшить общее потребление мощности и вследствие этого уменьшить «термический след» машины. Дополнительной выгодой является уменьшение пространства, необходимого для компьютерного оборудования. – При меньшем «термическом следе» производители машин могут уменьшить размер шкафа с аппаратурой управления или отказаться от охлаждающих устройств в этом шкафуотметил МакЭйти.

Многоядерные IPC с точки зрения управления дают наибольшие выгоды производителям машин, стремящимся усовершенствовать машины и исключить избыточные компоненты управленияперечисляет МакЭйти. Многоядерные процессоры, с точки зрения интерфейса оператора, представляют собой иной случайкак это было представлено в развитии темы, выложенной в Сети.

Возможность приписывания отдельных ядер процессора к отдельным задачам автоматизации отразилась в новой программной платформе TwinCAT 3 компании Beckhoff, введение которой планируется на 2011 год (см. рисунок). ­– Увязывание многоядерных IPC с пакетом программного обеспечения позволяет пользователю разумно использовать отдельные ядра, имеющиеся в многоядерном процессоре и получать много преимуществдобавил МакЭйти. – Компьютер IPC стал мощным инструментом, выполняющим работу четырех обычных устройств, использующим одну программную платформу и одну сеть (EtherCAT) при значительно меньшем количестве кабелей и меньших потребностях в программном обеспечении.

Фирма Freescale Semiconductor видит в применении многоядерных процессоров способ увеличить возможности, при одновременном уменьшении числа чипов, размера платы и потребляемой мощности в таких промышленных применениях, как программируемые логические контроллеры, приводы двигателей и робототехника. – Многоядерные процессоры могут усложнить проектирование программного обеспечения и решение температурных проблем, а также увеличить  затратыпредостерегла Александра Допплинджер, представитель глобального сегмента по вопросам автоматизации предприятий и приводов компании Freescale. Она пояснила, что меньшее потребление мощности не обязательно упрощает решение температурных проблем при проектировании по причине производства многоядерных процессоров по другой технологии, в которой имеют место меньшие размеры. – Физические процессы отвода такого же количества тепла с меньшей поверхности  платы процессора зачастую могут быть связаны с использованием  более дорогого материала или  более сложной геометрии теплоотводящего элемента, – добавила Допплинджер.

Важно иметь в виду, что обычно многоядерные процессоры работают на более низких частотах, и два или четыре ядра обычно не дают двукратно или четырехкратно увеличенных возможностей. – Однако многоядерные архитектуры могут гораздо больше влиять на увеличение возможностей при меньших затратах и меньшей потребляемой мощности, чем традиционные одноядерные архитектурыконстатирует Допплинджер. В качестве примера она привела коммуникативный процессор компании Freescale, представленный на рынке под фирменным названием QorIQ P4080, который использует восемь ядер с частотой 1,5 ГГц на одном чипе и позволяет выполнять более 20 000 миллионов команд в секунду (MIPS – milion instructions per second) – в то время как потребление мощности составляет менее 30 Вт. Одноядерный процессор предыдущего поколения  позволял выполнять только 3000 MIPS при таком же уровне потребляемой мощности.

Операционные системы тоже представляют собой важный аспект применения многоядерного процессора. Допплинджер заметила, что в некоторых случаях одно ядро, предназначенное для выполнения решений, связанных с управлением сложным процессом в реальном времени является адекватным решением. – Однако такие операционные системы, как Enea OSE Multicore Real-Time Operating System спроектированы для оптимального распределения программных команд между многоядерными процессорами, такими, как QorIQ компании Freescale, таким образом, как если бы алгоритм выполнялся на одном ядрезаметила Допплинджер. Аналогично такие функции, которые реализуются контроллером безопасности, часто осуществляются отдельными специальными процессорами (подробнее на эту тему говорится в сети).

 

Разное программное обеспечение, программирование

Переход на многоядерные процессоры не является эволюционным шагом. По мнению Уэльтсина из компании National Instruments, он требует от разработчиков программного обеспечения иного мышления, нежели было в прошлом. – Разработчикам приходится сосредотачиваться на вопросах параллельности процессов и сознательно делить разрабатываемые приложения на разнообразные сюжеты, чтобы иметь выигрыш. На сегодня это ключевой вызов для принятия технологии многоядерных процессоровконстатировал Уэльтсин. – Научным сотрудникам, поставщикам устройств и инженерампрограммистам приходится совместно работать над этим вопросом.

Программисты, работая с параллельным кодом, оказываются перед другими вызовами. Прежде всего, механизм связи оперативных памятей с ядрами или архитектура памяти влияет на скорость, с какой код, работающий на этих ядрах, может передавать данные, в силу чего это становится основным вопросом, влияющим на общие возможности приложения. Следующим вызовом становится устранение сбоев и визуализация взаимодействия между линиями, – объяснил Уэльтсин.

Он упомянул о способности программных инструментов решать вопрос оперативной памяти и устранять сбои, но существует потребность внедрения дальнейших инноваций. – В сущности, эти инструменты собирают информацию о зависимостях, определенных в коде, а затем используют эту информацию для  автоматического воспроизведения образца приложения на многоядерных процессорах, – сказал Уэльтсин. Технология, названная «dataflow» (поток данных) освобождает разработчиков от необходимости ручной идентификации параллельных отрезков кода. Технология «dataflow» является частью программного обеспечения LabVIEW компании NI, которое обычно используется в случае применения до восьми ядер процессора. – Кроме того, многие поставщики программных инструментов активно инвестируют в инструменты для устранения сбоев, которые позволяют программистам следить за выполнением отдельных линий, а также визуализировать взаимодействие между линиямипродолжал Уэльтсин.

Процессоры с четырьмя или большим числом ядер легко доступны, а со значительно большим числом ядер находятся в стадии разработки, использующей простоту мультиплицирования оборудования. – Поскольку число ядер на чипе постоянно растет, стремление эффективно использовать доступных ядер будет главным вызовом, а технология виртуализации является многообещающим потенциальным решениемдобавил Уэльтсин. При большом числе ядер, например, 16, отслеживание параллельных частей кода становится действительно трудным. При автоматическом копировании (картографировании) кода приложения на процессорное оборудование (как это происходит в LabVIEW) может помочь умный компилятор, но даже компиляторы имеют ограничения, заметил Уэльтсин.

Джилварри из компании Intel подтвердил, что разработчикам прикладного программного обеспечения придется изменить применяемую архитектуру с целью обеспечения возможности использования дополнительных ядер. Для большинства пользователей это означает увеличение параллельности в коде программного обеспечения. Обычно применяются два метода: многозадачность, более простой способ, а также многолинейность. – Второй способ дает самые лучшие возможности, но требует б?льших усилий, – сказал Джилварри. (Иллюстрация представляет второе поколение процессоров компании Intel – 2nd Generation Intel Core Processors).

Джилварри представил вкратце четыре шага, необходимые для замены линейного прикладного программного обеспечения на многолинейные приложения: анализ, экспликация, использование и оптимизация параллельности. – Многолинейность, если она хорошо проведена, дает наилучшее использование оперативной памяти и позволяет достичь более быстрой работы повторяющихся алгоритмов, – утверждает Джилварри. – Запуск новой линии для повторяющегося процесса будет происходить быстрее, чем запуск нового процесса, поскольку часто нет необходимости изменять сегмент памяти, а нужные команды могут постоянно оставаться в оперативной памяти. (Подробнее на тему многолинейности, многозадачности, а также программных инструментов можно прочитать в сети).

Многоядерные процессоры вводятся в системы автоматики, первоначально в высшем классе контроллеров с системами низшего класса, при ожидаемом росте их применения по мере уменьшения затрат на внедрение и роста опыта пользователей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *