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

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

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

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

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

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

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

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

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

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

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

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

Первая полоса
Китай отправляет миссию на обратную сторону Луны: как смотреть онлайн
Космос
ИИ нашел асимметрию материи и антиматерии на Большом адронном коллайдере
Наука
TikTok вернулся в Россию? Что известно прямо сейчас
Новости
В Японии разработали устройство 6G, которое передает данные со скоростью 100 Гбит/с
Новости
Климатологи объяснили формирование в Антарктиде полыньи размером с Чехию
Наука
Частые кризисы повысили способность человечества выживать
Наука
Физики наблюдали кота Шредингера — превращение атомов из частиц в волну
Наука
Найдена самая глубокая дыра в мире
Наука
«Вышка» заряжает карьеру в IT
Технологии
Ученые создали клей, который работает как паутина Человека-паука (почти)
Наука
Новый препарат может обратить диабет вспять
Наука
На Марсе участились полярные сияния: что это значит
Космос
Форма известной туманности оказалась совсем не такой, как считали ученые
Наука
Исламский «Экскалибур» нашли в Испании: ему больше 1000 лет
Наука
«Человеческие нейронные сети потребляют около 20 Вт, а искусственные — сотни ватт»
Технологии
Ученые преодолели одно из ключевых препятствий для термоядерной энергетики
Наука
Телескоп «Джеймс Уэбб» показал детали космической Конской Головы
Космос
Ученые выяснили, как парниковые газы влияют на распространение болезней
COVID-19
Найдены доказательства необычной силы магнитного поля Земли в прошлом
Наука
Посмотрите, как быстро робот-гуманоид управляется с домашними задачами
Новости