Intel представил River Trail, расширение к JavaScript для параллельного программирования

19 сентября 2011 года

Компания Intel представила новый открытый проект River Trail, в рамках которого разработано расширение для языка программирования JavaScript, позволяющее задействовать технику параллельного программирования для создания высокопроизводительных web-приложений. Ключевой особенностью нового проекта является обеспечение возможности значительного повышения производительности приложений без ухода от стандартных web-технологий, используя только специальный набор расширений к JavaScript. Процесс разработки с использованием River Trail мало чем отличается от создания обычных JavaScript-приложений.

В настоящий момент представлен рабочий прототип River Trail, выполненный в виде дополнения к Firefox с реализацией поддержки параллельного программирования на JavaScript, основанной на плотном задействовании распараллеливания на многоядерных CPU и использовании векторных инструкций SSE/AVX. Для обращения к функциям параллельного программирования подготовлена специальная JavaScript-библиотека, реализующая уровень абстракции ParallelArray для параллельной обработки структур данных. Разработчику предоставляются средства для создания новых объектов с типом ParallelArray или преобразования в ParallelArray обычных массивов, включая пиксельные карты Canvas. В дальнейшем, при работе с массивами ParallelArray можно использовать методы параллельного программирования, такие как map/reduce, комбинирование значений и фильтрация. Все операции синхронизации и работы с блокировками выполняются автоматически. River Trail включает в себя модифицированный компилятор, преобразующий конструкции с ParallelArray в промежуточное представление на OpenCL с дальнейшей компиляцией в инструкции SSE или параллельные инструкции GPU.

Использование стандартного JavaScript позволяет комбинировать выполнение функций, требующих интенсивных вычислений, со стандартными техниками HTML5, такими как Canvas и WebGL, что позволяет добиться более высокой скорости формирования 2D и 3D графики. River Trail гармонично дополняет WebGL, который предоставляет возможности по формированию полноценной 3D-графики, но мало чем может помочь в ситуациях, требующих интенсивных вычислений при формировании поведения объектов графической сцены.

В качестве примера потенциальных возможностей River Trail приводится демонстрационное приложение, производящее симуляцию физических процессов для сцены из 4000 объектов. При использовании только традиционных JavaScript-технологий, скорость отрисовки сцены составляет примерно 3 кадра в секунду, при использовании River Trail производительность приложения удалось поднять до 45 кадров в секунду.

По мнению разработчиков проекта, River Trail позволит приблизить к нативным программам возможности работающих внутри браузера web-приложений, которые станет реальным использовать в таких требующих интенсивных вычислений областях, как обработка фотографий, редактирование видео, симуляция физических процессов и создание современных 3D-игр. Из альтернативных проектов, нацеленных на создание высокопроизводительных приложений, работающих внутри браузера, можно отметить WebCL - JavaScript-интерфейс к стандарту OpenCL (Open Computing Language), определяющему расширения для параллельного программирования, и развиваемый компанией Google проект Native Client, позволяющий выполнять в окне web-браузера написанные на C и С++ приложения, ограниченные в специальном изолированном окружении.

Разработка River Trail является внутренним проектом Intel, тем не менее интерес к данному проекту уже продемонстрировали разработчики из сообщества Mozilla. В частности, Брэндон Эйх ( Brendan Eich), создатель языка JavaScript, занимающий пост технического директора Mozilla Corporation, заявил, что он намерен добиться включения River Trail в состав набора спецификаций ECMAScript.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Intel представил River Trail, расширение к JavaScript для параллельного программирования», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.