Аннотация:Выпускная работа решает задачу организации «рабочего места» ученого при работе с суперкомпьютерами. Предполагается, что взаимодействие с суперкомпьютером происходит не напрямую, а через некоторый сервер, который агрегирует данные и может передавать их самостоятельно непосредственно на сам суперкомпьютер. Пользователь может инициировать длительные обмены данными, где длительность обмена может многократно превышать время сеанса работы пользовательского компьютера, тем самым необходимы «докачки» после повторного включения. В том числе пользователь может приоретизировать свои потоки передач данных, делая что-то более срочным по отношению к другому.
В работе представлены несколько алгоритмов разделения потоков передачи данных по приоритетам. Для проверки алгоритмов произведено специальное нагрузочное тестирование, где с 14 компьютеров одновременно с выставленными ограничениями на пропускную способность велась передача данных. Показано преимущество алгоритма основанного на изменении размеров фрагментов («по кадрам передачи» в работе), перед алгоритмом разделения времени («по времени передачи» в работе).
Алгоритмы реализованы в программной системе, имеющей клиент-серверную архитектуру. Сервер осуществляет прием/передачу файлов через FTP протокол, где реализован специальный режим передач, когда файлы дробятся на фрагменты; здесь решается проблема асинхронного взаимодействия со многими клиентами, так, чтобы минимизировать простой на операциях ввода/вывода операционной системы. Сервер написан на языке программирования Python. Со стороны клиента реализован графический пользовательский интерфейс.