Ассоциация Multicore Association вырабатывает спецификации для модели программирования, которая позволит снизить сложность кода под современные многоядерные мобильные процессоры для смартфонов, планшетов и различных встраиваемых систем. Ассоциация намерена представить единый набор API для стандартизации коммуникаций, разделения ресурсов, виртуализации процессорных ядер.
Маркус Леви, президент Multicore Association, говорит, что особенность их работы заключается в том, что наборы API и модели разработки будут стандартными для разных мобильных чипов и операционных систем. По его словам, чипмейкеры сейчас пытаются добавлять новые процессоры, сенсоры, различные ускорители и иную электронную начинку для создания энергетически эффективных устройств, обладающих высокой производительностью.
Однако многоядерные чипы создают и ряд трудностей для программистов, создающих приложения, которым приходится распараллеливать код между несколькими процессорными ядрами для их максимально эффективной работы. Такой код нужно эффективно распараллелить, а затем верно синхронизировать, чтобы вычисления выполнялись в определенном порядке и давали верный результат.
Низкоуровневые API позволят программистам создавать приложения на базе многоядерной модели программирования, которая будет применима с одинаковой эффективностью к разным чиповым архитектурам, операционным системам и специализированному аппаратному обеспечению.
На сегодня Multicore Association уже завершила работу над MCAPI (multicore communication API) и MRAPI (multicore resource management API) для коммуникаций и управления ресурсами соответственно. Также была создана рабочая группа для создания новых инструментов и API, связанными с виртуализацией.
"Сейчас в отрасли есть много игроков, кто бы выиграл от установления таких API. Наша основная цель - предоставить всем заинтересованным сторонам требуемую переносимость и универсальность", - говорит Леви.
Он отметил, что ранее были попытки создания универсальных моделей разработки и универсальных API, но все они были пропиетарными и ограничивались узким кругом оборудования.
"Смартфоны могут быть созданы для работы с разными процессорными ядрами, разными операционными системами и каждое ядро может в принципе предоставлять различный функционал", - говорит Колин Уоллс, разработчик программного обеспечения в компании Mentor Graphics, создающей ОС реального времени Nucleus. По его словам, в некоторых устройствах одно процессорное ядро могло бы управлять операционной системой, другое пользовательским интерфейсом и приложениями, третье коммуникационными процессами, связанным с сотовой сетью, четвертое управлять данными и процессами.
"За счет использования MCAPI встроенные устройства могут обойтись без использования собственного внутриядерного кода для коммуникации. Этот код переносим между операционными системами и чипами разных архитектур", - говорит Уоллс.
MCAPI позволяет писать программистам код под многоядерные чипы единократно и использовать его повторно на разных мобильных продуктах, причем таким же образом упрощается работа разработчиков по обновлению программного обеспечения. Свен Бремер, гендиректор PolyCore Software, говорит, что MCAPI будет использоваться в телекоммуникационной инфраструктуре и сервисах передачи данных. Возможно и специализированное использование набора, например в электронных медицинских устройствах, высокопроизводительных вычислительных системах и военном/аэрокосмическом оборудовании.
MCAPI создается для работы в паре с MRAPI, набором API для управления ресурсами, в частности для координации управления энергопотребления и виртуализации на многоядерных чипах. По словам Маркуса Леви, современные чипы содержат функции и возможности для динамического изменения и контроля всех ресурсов. MRAPI предоставляет программистам низкоуровневую поддержку на системном уровне для управления энергопотреблением устройства, работой гипервизора и сообщения о проблемах с аппаратными устройствами.
Например, симметричные многопроцессорные Linux-системы не поддерживают возможность оповещения приложений об изменении доступности ресурсов динамически. Для преодоления этой сложности, MRAPI предлагает набор функций для управления разделяемыми ресурсами и ответа на измененные ресурсы.
"При помощи MRAPI системные разработчики могут писать портативные приложения, масштабирующиеся под конкретные системные состояния, что позволит приложения максимально эффективно использовать аппаратную начинку", - говорит Леви. "Такая организация позволит программистам сконцентрироваться на высокоуровневых функциях приложений".
На сегодня инициативе Multicore Association поддержку уже оказали компании Intel, Freescale Semiconductor, Mentor и Texas Instruments, каждая из которых предложила свои инструменты для отладки и трассировки кода. Также в ассоциацию входят компании IBM, Samsung и Advanced Micro Devices.
Источник: CyberSecurity
|