Разработана новая технология, которая ускоряет компьютерные программы в 34 раза

Компьютер, девушка
Фото: Unsplash | Пользователь компьютера

Инструмент PaSh "разделяет" софт на части, которые затем запускает на разных процессорах.

Программисты разработали новую компьютерную систему под названием PaSh, которая ускоряет работу софта, сохраняя точность. Об этом пишет портал SciTechDaily.

Технология повышает скорость работы софта в среде программирования Unix, которая активно используется уже около 50 лет. Идея заключается в том, чтобы распараллелить программы — т.е. разбить их на составные части и запустить эти части одновременно на нескольких процессорах. По словам разработчиков, данный метод значительно ускоряет выполнение веб-индексирования, обработку естественного языка, анализ данных и других ресурсоемких задач.

"Эти типы программ используют очень многие, например, аналитики больших данных, биологи, инженеры и экономисты. Теперь они могут автоматически ускорять свои программы, не опасаясь, что получат неверные результаты", — объяснил руководитель проекта Никос Василакис, научный сотрудник Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института.

Ученый добавил, что технология также поможет программистам, которые разрабатывают подобные инструменты. Благодаря новой системе, им не нужно возиться с настройкой и прописывать команды для распараллеливания программ, над которым исследователи работают десятилетиями. Это сложно сделать, ведь одни части кода зависят от других, и если запускать их в неправильном порядке — программа просто не заработает.

Unix завоевала массовую популярность среди разработчиков благодаря тому, что позволяет одному сценарию состоять из функций, написанных на нескольких языках программирования. Разные форматы лучше подходят для конкретных задач или типов данных, и решить проблему бывает намного проще, выбрав правильный язык. В то же время, гибкая структура Unix мешает распараллеливать процессы. В случае программ, которые написаны на одном языке, можно легко изучить структуру и увидеть части, которые можно разделить, в Unix же такой возможности нет.

Чтобы решить проблему, PaSh выполняет предварительную обработку и добавляет отметки в части скрипта (последовательности команд), которые можно распараллелить. Затем PaSh пытается разделить эти части непосредственно в процессе работы программы, когда она задействует каждый компонент. Правильно подбирая время для разделения, инструмент справляется с непредсказуемым поведением программ и ускоряет гораздо больше компонентов, чем другие методы. Это также позволяет сохранить точность получаемых результатов.

"Независимо от преимуществ в производительности, если вы обещаете, что что-то будет работать за секунду, а не за год, но есть шанс получить неправильные результаты, то никто не будет использовать ваш метод", — подчеркнул Василакис.

Если PaSh достигает компонента программы, который не может быть распараллелен (возможно, он зависит от компонента, который еще не запущен), он просто запускает исходную версию и не вызывает ошибки. Пользователям не нужно ничего менять в программе для использования системы — достаточно добавить инструмент в существующую оболочку Unix и заставить скрипты использовать его.

Исследователи протестировали технологию на сотнях программ, от классических до современных, и ни одна из них не "сломалась" в процессе ускорения. PaSh ускорил выполнение скриптов в среднем в шесть раз по сравнению с другими методами, а скорость увеличилась максимум в 34 раза. Он справился даже со сценариями, которые другие технологии не смогли распараллелить.

Теперь Никос Василакис и его команда стремятся разделять части программ не только между процессорами, но и между отдельными компьютерами. Они также хотят улучшить систему аннотаций, что пользователи смогли лучше и удобнее описывать компоненты.

Ранее ученые создали первый в мире односторонний сверхпроводник, который ускорит работу компьютеров в 400 раз. Им удалось получить новый квантовый материал толщиной всего в один атом, который выступил прослойкой между двумя другими сверхпроводниками.

Недавно в США создали революционны чип Prodigy, который способен заменить три компьютерных процессора: центральный, графический и тензорный. Он обладает 128 ядрами с тактовой частотой до 5,7 ГГц.