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

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

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

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

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

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

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

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

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

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

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

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

Первая полоса
Тайны древней звезды по соседству изучили, «подслушав ее песню»
Космос
Baidu делает ИИ для перевода звуков животных в человеческую речь
Наука
Оказалось, ИИ врет чаще при одном условии: как этого избежать
Новости
Суперкомпьютер Маска сжирает электричество как 300 000 домов: люди протестуют
Новости
Посмотрите, как робот стремительно отбивает подачи в настольном теннисе
Новости
Физики исполнили мечту алхимиков: свинец в коллайдере превратили в золото
Наука
Создано музыкальное приложение для реабилитации после инсульта
Наука
«Эффект аккордеона» превращает жесткий графен в эластичный материал
Наука
ИИ восстановил имя автора свитка, который пережил последний день Помпеи
Наука
Частный лунный модуль вышел на орбиту спутника после двух месяцев полета
Космос
Предок тираннозавра «иммигрировал» в Америку из Азии, считают ученые
Наука
Обновленный Gemini 2.5 Pro от Google возглавил рейтинг ИИ для разработчиков
Новости
Ученые решили проблему, которая мешала запуску термоядерных реакторов почти 70 лет
Наука
Китайское «супероружие» для подводных диверсий оказалось не таким, как считалось
Новости
Отключение мобильного интернета в Москве: какие последствия для бизнеса
Новости
Киберполиция назвала новые схемы мошенников: как они воруют аккаунты на «Госуслугах»
Новости
Хокинг предсказал гибель Земли: оказалось, НАСА сочло угрозу реальной
Наука
Создатель Ethereum признал свои ошибки и решил изменить криптовалюту
Новости
«Ред ОС 8» заработала на Arm-платформах — теперь и на «Байкале»
Новости
Компания Цукерберга использовала уязвимость подростков для рекламы
Новости