Milk: новый язык программирования для работы с большими данными

На проходящей в Хайфе 25-ой Конференции PACT 2016 исследователи МТИ представили новый язык программирования Milk, позволяющий разработчикам более эффективно управлять памятью в программах, которые работают с разрозненными значениями в больших наборах данных. Его производительность, как показали испытания, в 4 раза выше, чем у существующих языков.

Проблема больших наборов данных не в том, что их много, объясняет профессор Саман Амарасингх, а в том, что они «рассредоточены». Современные микрочипы не оптимизированы под рассредоточенные данные. Если алгоритму нужны, скажем, всего 20 книг из двух миллионов хранящихся в базе данных, скорее всего, находящиеся рядом с нужной книгой еще 100 книг окажутся совершенно несвязанными с ней. Таким образом, придется обращаться к памяти за каждой отдельной книгой, а это крайне неэффективно и медленно, пишет MIT News.

Milk добавляет несколько команд в OpenMP, расширение таких языков, как С и Fortran, который облегчает написание кода для многоядерных процессоров. С его помощью программист вставляет пару дополнительных строчек вокруг любой инструкции, которая ищет относительно малое число элементов в большом объеме данных. Затем компилятор Milk решает, как управлять памятью в соответствии с командами.

Создан язык программирования живых клеток

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

«Большинство важных приложений сегодня используют большое количество данных, но, к сожалению, растущий разрыв между производительностью памяти и процессора означает, что они используют аппаратное обеспечение не на полную мощность, — говорит Матей Захария из Стэнфорда. — Milk помогает преодолеть этот разрыв, оптимизировав доступ памяти в обычных структурных компонентах».

Маск: «Мы находимся на грани, нужно поднажать»

Новые технологии и проблемы, возникающие с их внедрением, нередко требуют новых подходов. Хотя языков программирования много, время от времени возникает необходимость в новых. Еще одним примером может служить язык Simit, о котором мы писали в августе, разработанный инженерами МТИ и ускоряющий компьютерное моделирование в 200 раз.

Подписывайтесь
на наши каналы в Telegram

«Хайтек»новостионлайн

«Хайтек»Dailyновости 3 раза в день

Первая полоса
В Китае нашли череп 10-метрового динозавра юрского периода
Наука
Инженеры MIT добились рекордной точности работы кубита: 99,998%
Новости
В 21 регионе России «замедлился интернет»: Роскомнадзор объяснил причину
Новости
Ядерные отходы хотят переработать в материалы для электроники
Новости
«Уэбб» рассмотрел кольца из углерода в двойной звездной системе
Новости
Квантовые инженеры поместили кота Шредингера в компьютерный чип
Наука
Кофе может снизить риск смертности, но только в одном случае
Наука
Этот ядерный двигатель поможет быстрее долететь до Марса: как он работает
Космос
Запуск Falcon 9 завершился успехом: что было на борту миссии
Космос
Прототип Boom Supersonic XB-1 приблизился к звуковому барьеру
Новости
Ученые заглянули внутрь нейтронных звезд, используя квантовую физику
Космос
Квантовые симуляторы: объяснение от ученого
Мнения
Источник в СМИ назвал возможную причину сбоя рунета
Новости
Мошенники начали выдавать себя за начальников в рабочих чатах: как это работает
Новости
Холодные атомы этого металла могут создавать новые состояния материи
Наука
Древние артефакты в Украине раскрыли тайны навигации викингов
Наука
Послушайте, как звучат вспышки на Солнце: данные собрал Solar Orbiter  
Космос
Тяжелый беспилотник на водородных топливных ячейках впервые испытали в Китае
Новости
Ученые создали катализатор, который нарушает законы физики
Наука
Физики обнаружили необычные магнитные свойства в трехслойном графене
Наука