banner
Центр новостей
Премиальное качество, бюджетные цены.

Система для хранения облака

Jul 06, 2023

Изображения для загрузки на веб-сайте офиса новостей MIT предоставляются некоммерческим организациям, прессе и широкой публике в соответствии с некоммерческой лицензией Creative Commons «С указанием авторства». Вы не можете изменять предоставленные изображения, кроме как обрезать их до нужного размера. При воспроизведении изображений необходимо использовать кредитную линию; если оно не указано ниже, укажите авторство изображений в «MIT».

Предыдущее изображение Следующее изображение

Облачные игры, подразумевающие возможность играть в видеоигры удаленно из облака, стали свидетелями беспрецедентного роста во время блокировок и нехватки игрового оборудования, которые произошли в разгар пандемии Covid-19. Сегодня растущая индустрия охватывает глобальный рынок стоимостью 6 миллиардов долларов и более 23 миллионов игроков по всему миру.

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

Вдохновленные этой проблемой, ученые из MIT и Microsoft Research применили уникальный подход к синхронизации потоков, передаваемых на два устройства. Их система под названием Ekho добавляет неслышимые последовательности белого шума к игровому звуку, передаваемому с облачного сервера. Затем он прослушивает эти последовательности в аудио, записанном контроллером проигрывателя.

Ekho использует несоответствие между этими шумовыми последовательностями для непрерывного измерения и компенсации задержки между потоками.

В реальных сеансах облачных игр исследователи показали, что Ekho очень надежен. Большую часть времени система может поддерживать синхронизацию потоков с точностью менее 10 миллисекунд друг от друга. Другие методы синхронизации приводили к постоянным задержкам более 50 миллисекунд.

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

«Иногда все, что нужно, чтобы найти хорошее решение, — это подумать за пределами того, что было для вас определено. Все сообщество зациклилось на том, как решить эту проблему с помощью синхронизации через сеть. Синхронизация двух потоков путем прослушивания звука в комнате звучала безумно, но оказалась очень хорошим решением», — говорит Пуя Хамаданян, аспирантка электротехники и информатики (EECS) и ведущий автор статьи, описывающей Ekho.

К Хамаданяну в статье присоединился Дуг Галлатин, разработчик программного обеспечения из Microsoft; Мохаммад Ализаде, доцент кафедры электротехники и информатики и член Лаборатории компьютерных наук и искусственного интеллекта (CSAIL); и старший автор Кришна Чинталапуди, главный исследователь Microsoft Research. Доклад будет представлен на конференции ACM SIGCOMM.

Вне часов

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

«Если бы контроллер и экран могли смотреть на свои часы и одновременно видеть одно и то же, то мы могли бы синхронизировать всё с часами. Но многочисленные теоретические работы по синхронизации часов показывают, что существуют определенные границы, которые невозможно преодолеть», — говорит Хамаданян.

Многие подходы пытаются синхронизировать часы с помощью обмена сообщениями «пинг-понг», когда устройство отправляет сообщение «пинг-понг» на сервер, который отправляет сообщение «пинг-понг» обратно. Устройство подсчитывает, сколько времени потребуется на возврат сообщения, и сокращает это значение вдвое, чтобы рассчитать задержку в сети.