Алгоритмы для жизни: Простые способы принимать верные решения (Гриффитс, Кристиан) - страница 197

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

Что касается раздувания буфера сетей, это долгая и непростая история, но кончается она хорошо, учитывая, что усилиями аппаратного обеспечения и производителей операционных систем фундаментальные изменения в сетевых очередях все же внедряются. Появилось и предложение создать новый закрытый канал для протокола TCP, первое подобное изменение за многие годы: ECN («явное уведомление о перегрузке»). Полное освобождение интернета от раздувания буфера повлечет все эти изменения и потребует многолетнего терпения. «Это болото в долгосрочной перспективе», – говорит Геттис.

Но тем не менее будущее без раздувания буфера выглядит многообещающе. С учетом их врожденной медлительности, буферы слабы в большинстве процессов, требующих взаимодействия. Когда мы говорим по Skype, например, мы предпочитаем сигнал с небольшими помехами, но в режиме реального времени, а не четкую запись того, что звонящий сказал три секунды назад. И лишь 50-миллисекундная задержка определяет, окажется геймер «убитым» или поразит противника сам. По сути, компьютерные игры так чувствительны к промедлениям, что самые почетные награды в этом мире разыгрываются при личном присутствии игроков. Они прилетают с разных концов планеты, чтобы побороться в сети, созданной в пределах одной комнаты. То же верно и для любых других процессов, где важна синхронность. «Если вы хотите помузицировать с друзьями, для вас важны каждые 10 миллисекунд, – отмечает Геттис, говоря о целом наборе новых приложений и бизнесов, которые могли бы стремительно развиваться, воспользовавшись интерактивным потенциалом незначительных промедлений. – Главное обобщение, к которому я пришел, состоит в том, что инженеры должны рассматривать время как гражданина первого класса». Стюарт Чешир из Apple согласен: работу с промедлением пора поставить в приоритет в среде сетевых инженеров. Он потрясен тем, что компании, рекламирующие быстрый интернет, подразумевают лишь высокую скорость пропускания информации, но не низкий уровень задержек. Он проводит параллель с «Боингом-737» и «Боингом-747». Оба летят на скорости 5000 миль в час; первый может перевезти 120 пассажиров, второй – втрое больше. Так «что же, вы сказали бы, что "Боинг-747" в три раза быстрее "Боинга-737"? Конечно, нет», – восклицает Чешир. Вместительность иногда имеет значение: для передачи больших файлов скорость – ключевое качество. Для межчеловеческих приложений тем не менее короткие сроки выполнения задач зачастую гораздо важнее, и что нам на самом деле нужно, так это «Конкорды». Сокращение промедлений и задержек – один из основных фронтов исследовательских работ среди сетевых инженеров, и будет интересно посмотреть на их результаты.