Parallel and multicore in mobile devices

Введение(Рассказ про то, что мобильные девайсы покоряют мир и все больше и больше используются людьми. Выделение тенденции на то, что люди начинают хранить свою информацию не локально, а в интернете и хотят иметь к ней постоянный доступ.)

история возникновения многоядерности(вспоминание про закон Мура. Картинки с графиками роста производительности. Описание появления многоядерности. выделение мысли, что процессоры для мобильных устройств повторяют развитие настольных.)

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

Приложения(обратить внимание, что приложения становятся все более параллельными. Параллелизм появляется и на уровне ОС.)

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

в стадии разработки

Современного человека все больше и больше окружают мобильные устройства: телефоны, персональные компьютеры, ноутбуки, навигаторы, всевозможные встраиваемые системы. Зачастую каждое из этих устройств имеет несколько вариантов использования, большая часть которых – всевозможные мультимедия приложения. Рассмотрим три наиболее показательных сценария применения мобильных устройств:

Пользователь использует свой мобильный телефон как mp3 плейер через беспроводную стерео гарнитуру, при этом, одновременно с этим он играет в любимую видео игру на этом самом же телефоне. Очевидно, что он ожидает, что музыка и звуки из игры будут выводиться одновременно без каких либо искажений и задержек.

Другой пользователь смотрит видео фильм с flash-карты, установленной в телефон. В это время ему звонит друг. В таком случае, сначала ожидается, что пользователь увидит кто ему звонит, и если подтвердит прием звонка, то воиспроизведение фильма должно быть остановлено, и автоматически продолжено после окончания разговора.

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

Из вариантов использования вытекают следующие ключевые требования:

поддержка QoS,

способность к реагированию на действия пользователя,

продолжительное время работы.

Поддержка QoS для пользователя потребует многопоточную систему. В случае использования одноядерного процессора, даже с поддержкой мультимедиа расширений, возможно он не сможет предоставить необходимый уровень загрузки и обработки данных в реальном времени, потому что вместо параллельной обработки данных, он будет использовать исключительно последовательную обработку с переключением задач. Чтобы удовлетворить требования имитации многозадочности, событий пользовательского интерфейса, одноядерный процессор должен постоянно переключаться между задачами. Данное переключение между задачами неизбежно приведет к потере медиа данных и для пользователя может быть выражено дребежащим звуком, артефактами на экране при просмотре видео или видео-звонке. На рисунке представлена схема работы одноядерного для мобильного устройства, например, телефона.
Из риснука виндно, что с одной стороны процессору довольно часто приходится преключаться между задачами различных типов, которые в свою очередь можно делать параллельно. Так, компания Texas Instruments предложила линейку процессоров OMAP(Open Multimedia Application Platform). Данный процессор на самом деле представляет из себя несколько процессоров, каждый из которых отвечает за определенную функциональность, распараллеливая таким образом независящие задачи (см. рисунок).
Внедрение компонентов, отвечающих за конкретные функции, например, обработку медиа-информации, позволяют реализовать практически все основные требования. Однако, под большим вопросом остается вопрос энергопотребления данного процессора. Безусловно, введение дополнительного числа процессоров увеличивает суммарное энергопотребление, но только в том случае если они все одновременно работают. Введение возможности отключать или переводить бездействующие элементы в режим энергосбережения, когда они не нужны, позволит уменьшить потребление энергии по сравнению с вариантом, когда установлен единственный процессор, обрабатывающий все данные.

Тем не менее, борьба за время работы устройства приводит к тому, что большинство процессоров поддерживают несколько режимов энергосбережения. При этом очевидно, что потребляемая мощность прямо-пропорциональна тактовой частоте процессора, т.е. чем больше частота работы процессора, тем больше энергии он потребляет и тем меньше время жизни устройства, в котором он установлен. Но данная формула работает только в случае если не обращать внимание на наличие режимов энергосбережния. Так в http://www.thg.ru/howto/core_2_duo_e7200_atom_230/index.html показано, что в режиме энергосбережения настольный процессор практически не уступает мобильному, имея при этом большую производительность. Но зачем мобильному устройству многоядерный вычислительный процессор? Большинство из пользователей мобильных устройств практически всегда пользуются настольными компьютерами и хотят перенести часть приложений с настольного компьютера на мобильный. Большинство современных приложений являются многопоточными и потенциально могут работать быстрее на нескольких вычислительных ядрах процессора. При этом, время работы процессора в пиковом режиме существенно меньше, что уменьшает энергопотребление.

Ссылки

http://www.thg.ru/howto/core_2_duo_e7200_atom_230/index.html

http://www.3dnews.ru/news/nokia_lider_zelenogo_reitinga_grinpis/

http://focus.ti.com/pdfs/wtbu/TI_omap2420.pdf