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

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

Лаборатория информатики и искусственного интеллекта (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 получит стеклянный корпус и беспроводную зарядкуiPhone 8 получит стеклянный корпус и беспроводную зарядку
1
62
Анонсирован бюджетный смартфон Alcatel 3X Plus на Android 11: цены и описаниеАнонсирован бюджетный смартфон Alcatel 3X Plus на Android 11: цены и описание
1
40
Пользователи iPhone 12 столкнулись с перебоями в работе беспроводной зарядкиПользователи iPhone 12 столкнулись с перебоями в работе беспроводной зарядки
0
16
Обзор смартфона Huawei Nova 2 PlusОбзор смартфона Huawei Nova 2 Plus
0
5
Школьные годы мобильные – смартфон стал помощником в учебеШкольные годы мобильные – смартфон стал помощником в учебе
0
2
Huawei представила ультрабюджетные смартфоны и планшетHuawei представила ультрабюджетные смартфоны и планшет
0
1
Huawei представила безрамочные смартфоны Mate 10 и Mate 10 ProHuawei представила безрамочные смартфоны Mate 10 и Mate 10 Pro
0
7
Представлен рейтинг сервисов для эффективной работы бизнеса в новогодние праздникиПредставлен рейтинг сервисов для эффективной работы бизнеса в новогодние праздники
0
3
Технологии помогают: эксперты рекомендовали пользоваться бесконтактными заправками при поездках на автоТехнологии помогают: эксперты рекомендовали пользоваться бесконтактными заправками при поездках на авто
0
3
Почта России упростила оформление и отслеживание при массовых отправках на сайтеПочта России упростила оформление и отслеживание при массовых отправках на сайте
0
12