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

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

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

Комментарии / 0


More about Digit — discover and read

Новый тестовый Новый тестовый
4
Тестовый 123Тестовый 123 🔥 1
14
Аудитория Яндекс Плюса превысила 30 млн человекАудитория Яндекс Плюса превысила 30 млн человек ❤️ 1🔥 1
30
МегаФон и СберМобайл стали партнерами в развитии телеком-сервисовМегаФон и СберМобайл стали партнерами в развитии телеком-сервисов
3
«Яндекс Маркет» начал продавать ноутбуки собственного бренда Lunnen: характеристики и цены«Яндекс Маркет» начал продавать ноутбуки собственного бренда Lunnen: характеристики и цены
0
YouTube приступил к блокировке телеканалов российских регионов: журналисты мигрируют в RutubeYouTube приступил к блокировке телеканалов российских регионов: журналисты мигрируют в Rutube
2
Samsung выпускает фитнес-браслет Galaxy Fit3: особенности, цены и сроки появленияSamsung выпускает фитнес-браслет Galaxy Fit3: особенности, цены и сроки появления
1
Всероссийская Спартакиада: какие телеканалы покажут главные зимние старты годаВсероссийская Спартакиада: какие телеканалы покажут главные зимние старты года
0
В Калининградской области наладят выпуск печатных плат до 7-го класса точностиВ Калининградской области наладят выпуск печатных плат до 7-го класса точности
0
Acer выпустила на российский рынок новые игровые клавиатурыAcer выпустила на российский рынок новые игровые клавиатуры 🔥 1
1