Описание картинки

Представлен новый язык программирования для обработки разрозненных данных

программирование
yamobi
Лаборатория информатики и искусственного интеллекта (CSAIL) при Массачусетском технологическом институте представила новый язык программирования под названием Milk. С его помощью существенно упрощается и ускоряется работа с разрозненными фрагментами данных в больших массивах.
Image: mit-parallel-memory_0.jpg
Исследователи отмечают, что современные вычислительные системы не оптимизированы для работы с разрозненными данными. Процесс извлечения информации из оперативной памяти не достаточно быстрый. По этой причине процессоры оснащаются собственной памятью, называемой кэшем. Для того чтобы сократить количество обращений к ОЗУ, процессор считывает память блоками и находит необходимые данные в этих блоках уже в собственном кэше.
Такой подход зарекомендовал себя, когда дело касается вычислительной системы с локальной памятью. Однако если речь идет о сетевой базе данных большого объема, например, хранящей 2 млн фрагментов данных, в которой необходимо найти 20 определенных фрагментов, указанный подход неэффективен. Этой проблемой и озаботились разработчики Milk..
При использовании Milk, когда ядро процессора планирует обратиться к данным в памяти, этого не происходит. Вместо этого оно записывает адрес этих данных в локально хранимый список. Когда списки на всех ядрах достигают определенного размера, они комбинируются. В результате получается один длинный список адресов, к которым необходимо обратиться всем ядрам. Затем адреса в этом списке группируются по расположению в памяти и заново распределяются по ядрам. В результате ядрам не приходится считывать ненужные данные из памяти. 
В ходе тестов, проведенных исследователями, выяснилось, что применение нового языка позволяет в четыре раза ускорить работу с разрозненными данными в больших массивах по сравнению с существующими языками. При этом участники проекта утверждают, что знают, как увеличить скорость еще больше. 
В действительности Milk делает больше, чем простая сортировка адресов между ядрами. Он учитывает наличие кэша нескольких уровней и хранит собственный кэш адресов на тот случай, если некоторые из них потребуются вновь.
Для того чтобы воспользоваться описанными преимуществами, программисту необходимо добавить несколько строк кода ко всем командам обращения к большим массивам данных в своей программе и затем воспользоваться компилятором Milk. Поддерживаются C, Fortran и другие языки программирования, совместимые с технологией OpenMP, через которую осуществляется оптимизация.
Комментарии / 0

More about Digit — discover and read

Никита Светлых / iPhone 8 получит стеклянный корпус и беспроводную зарядку (1)iPhone 8 получит стеклянный корпус и беспроводную зарядку
Иван Кущ / Тест-обзор дешёвого 4G-смартфона Fly Cirrus 11 (1)Тест-обзор дешёвого 4G-смартфона Fly Cirrus 11
Никита Светлых / Анонсирован бюджетный смартфон Alcatel 3X Plus на Android 11: цены и описание (1)Анонсирован бюджетный смартфон Alcatel 3X Plus на Android 11: цены и описание
Никита Светлых / Пользователи iPhone 12 столкнулись с перебоями в работе беспроводной зарядки (0)Пользователи iPhone 12 столкнулись с перебоями в работе беспроводной зарядки
Иван Кущ / Обзор смартфона Huawei Nova 2 Plus (0)Обзор смартфона Huawei Nova 2 Plus
Anonymous / Школьные годы мобильные – смартфон стал помощником в учебе (0)Школьные годы мобильные – смартфон стал помощником в учебе
Anonymous / Huawei представила ультрабюджетные смартфоны и планшет (0)Huawei представила ультрабюджетные смартфоны и планшет
Anonymous / Huawei представила безрамочные смартфоны Mate 10 и Mate 10 Pro (0)Huawei представила безрамочные смартфоны Mate 10 и Mate 10 Pro
Anonymous / Представлен рейтинг сервисов для эффективной работы бизнеса в новогодние праздники (0)Представлен рейтинг сервисов для эффективной работы бизнеса в новогодние праздники
Anonymous / Почта России упростила оформление и отслеживание при массовых отправках на сайте (0)Почта России упростила оформление и отслеживание при массовых отправках на сайте