Выпущена [2] первая стабильная версия 1.0 открытой платформы Fabric Engine [3], предназначенной для оптимизации производительности и запуска скриптовых языков в полноценном многопотоковом режиме. Платформа распространяется [4] под лицензией AGPL v3.0 [5]. Данный релиз доступен для Windows, Mac OS X и Linux, также платформа может использоваться и на клиентской стороне - непосредственно в браузерах (поддерживаются Firefox и Chrome), равно как и в облачном окружении.
Разработчики подчеркивают, что Fabric Engine никак не связан с кешированием или идеями предкомпилирования – это полностью динамическая среда, где все структуры данных, графы, переменные и код вычисляется и исполняется непосредственно во время каждого запуска. Fabric Engine может быть интегрирован практически с любым языком программирования, на данный момент в платформе уже поддерживаются языки JavaScript и Python, а в самое ближайшее время сюда добавятся Ruby и PHP.
Для подготовки приложений к запуску на платформе используется собственный язык KL [6], для генерации и трансляции в который используются возможности пакета компиляторов LLVM [7], что теоретически делает эту платформу кроссплатформенной. KL – это строго типизированный язык похожий на Си, который использует динамическую компиляцию в машинный код всегда для текущей для каждого проекта архитектуры, что позволяет достигать максимальной производительности именно для данного оборудования.
Таким образом, запуская в рамках этой платформы своё готовое приложение на скриптовом языке - на выходе будет получено современное и хорошо оптимизированное многопоточное приложение, которое будет эффективно использовать для вычислений не только все доступные CPU, но и даже GPU, если они физически доступны в текущей системе. Кроме того KL позволяет использовать [8] унифицированную систему файловых операций, которая позволяет использовать как традиционный подход, не требующий какой-то специальной адаптации, так и специализированный, - создающий хорошо защищенные и безопасные файловые хранилища.
Согласно внутреннему тестированию [9] компании-разработчика, приложения основанные на Fabric Engine показывают производительность сопоставимую с нативными приложениями написанными на C++. По мнению компании, такой уровень производительности превращает традиционные скриптовые языки во вполне подходящий выбор для их применения в высокопроизводительных вычислительных задачах (HPC).
Ссылки:
[1] http://htfl.ru/cat-news-novosti-po
[2] /out.php?link=http://fabricengine.com/2012/03/v1-0-is-launched/
[3] /out.php?link=http://fabricengine.com/
[4] /out.php?link=https://github.com/fabric-engine/PublicStable/
[5] /out.php?link=http://fabricengine.com/2012/03/agpl-v3-0/
[6] /out.php?link=http://documentation.fabric-engine.com/1.0.22-release/FabricEngine-KLProgrammingGuide.html
[7] http://htfl.ru/news/llvm-30
[8] /out.php?link=http://fabricengine.com/2012/01/fabric-engine-to-provide-powerful-unified-file-io-system/
[9] /out.php?link=http://fabricengine.com/technology/benchmarks/