Книга: Алгоритмы для жизни: Простые способы принимать верные решения
Назад: Раздувание буфера: это запаздывание, глупец!
Дальше: 11. Теория игр О чем думают остальные

Лучше никогда, чем поздно

Возьмем базовую проблему одинокого человека… вы нравитесь кому-то, но вам он не нравится. На первый взгляд, это довольно неловкая ситуация. Вам нужно было бы поговорить, это было бы не очень приятно. Так что же делать? Вы нравитесь кому-то, он вам не нравится? Просто сделайте вид, что вы заняты… навсегда.
Азис Ансари
Сейчас – лучше, чем никогда.
Хотя никогда – часто лучше, чем прямо сейчас.
Дзен Питона
У певицы Кэти Перри на 107 % больше подписчиков в Twitter, чем жителей в штате Калифорния. По состоянию на начало 2016 года количество фанатов среди ее подписчиков составляло 81,2 млн (что выводит ее в чемпионы по количеству фолловеров). Это значит, что 99 % ее фанатов никогда не писали ей сообщений. И даже если бы 1 % фанатов, самые преданные, писали ей по одному сообщению в год, общее количество ее сообщений в день было бы равно 2225. Каждый день.
Представим, что Перри была бы обязана отвечать на каждое сообщение от поклонников в порядке их получения. Если бы она могла ответить на 100 сообщений в день, то ожидаемое время получения ответа составило бы десятилетия. Достаточно справедливо будет представить, что большинство фанатов предпочли бы крохотный шанс получить ответ сразу же, чем гарантию на ответ через 10 или 20 лет.
Обратите внимание, что у Перри нет такой проблемы, когда она покидает концертную площадку и должна пробежать через толпы поклонников, ожидающих автограф или несколько слов от звезды. Перри делает все, что может, уходит, и упущенные возможности рассеиваются. Тело заключает в себе собственный контроль потоков. Мы не можем быть в нескольких местах одновременно. На многолюдной вечеринке мы неизбежно участвуем не более чем в 5 % разговоров и не имеем возможности наверстать упущенное.
Мы используем идиому «упавшие мячи» почти исключительно в негативном смысле, подразумевая, что человек был слишком ленив, расслаблен или забывчив. Однако не ловить мяч из тактических соображений – критически важная часть улаживания всех дел в условиях перегрузки.
Подавляющее большинство критических замечаний в адрес современных коммуникаций порицают тот факт, что мы «постоянно на связи». Но проблема не в том, что мы постоянно на связи; как раз нет. Проблема в том, что мы постоянно выступаем буфером. И разница здесь колоссальная. Чувство, что вы должны посмотреть все, что только возможно, в интернете, прочитать все возможные книги, посмотреть все шоу – это раздувание буфера. Вы пропустили эпизод вашего любимого сериала, и вы смотрите его через час, день, 10 лет спустя. Вы отправляетесь в отпуск и возвращаетесь к кипе корреспонденции. Раньше люди приходили, стучали в дверь, ответа не следовало, и они уходили. Сейчас они, по сути, ждут вас, выстраиваясь в очередь, пока вы не придете домой.
Электронная почта была преднамеренно изобретена, чтобы решить проблему с отбрасыванием последнего элемента. Как писал ее изобретатель Рей Томлинсон:
В то время не было хорошего способа оставлять людям сообщения. Телефон работал только по своему основному назначению, но было необходимо, чтобы кто-то взял трубку. И если трубку брал не тот человек, которого вы хотели услышать, это оказывался личный помощник или специальная служба. Таков был механизм, если вы хотели оставить сообщение. Поэтому все зацепились за идею оставлять сообщения на компьютере.
Другими словами, мы хотели иметь систему, которая никогда не будет отказывать отправителю, и, на радость или на беду, мы таковую получили. На самом деле за последние 15 лет движение от коммутации каналов до коммутации пакетов получило широкое распространение. Раньше мы запрашивали выделенные каналы связи с другими, теперь мы направляем им пакеты и ожидаем получения ACK-подтверждений. Раньше мы отклоняли, теперь мы откладываем.
Первоначальное свойство буферов – повышать среднюю пропускную способность до максимальной. Предупреждение праздности и бездействия – вот чем они занимаются. Вы проверяете почту в дороге, в отпуске, в туалете, посреди ночи. Вам никогда не бывает скучно.
Автоответчик в электронной почте, оповещающий, что человек находится в отпуске, сообщает отправителям, что стоит ждать задержки; лучший вариант мог бы вместо этого сообщать отправителю об отбрасывании последнего элемента. Вместо того чтобы предупреждать отправителей об очереди длиннее обычной, можно было бы предупреждать их о том, что все входящие сообщения просто отклоняются. И это необязательно может применяться в случае отпуска: вполне можно представить программу электронной почты, установленной в режиме автоотклонения всех входящих сообщений сверх, например, ста полученных. Эта система не годится для счетов и подобных документов, но не лишена смысла в случае с неформальными приглашениями, например.
Идея переполненного ящика почты или заполненной голосовой почты – уже анахронизм, яркий пример пережитков конца ХХ века и начала 2000-х годов. Но если сети, соединяющие наши новомодные телефоны и компьютеры с их практически безграничной вместимостью, до сих пор намеренно не принимают пакеты, когда те сыплются как из рога изобилия, возможно, стоит задуматься об отбрасывании последнего элемента не как о печальном последствии ограниченной памяти, но как об определенной стратегии, применяемой для нашего блага.
Что касается раздувания буфера сетей, это долгая и непростая история, но кончается она хорошо, учитывая, что усилиями аппаратного обеспечения и производителей операционных систем фундаментальные изменения в сетевых очередях все же внедряются. Появилось и предложение создать новый закрытый канал для протокола TCP, первое подобное изменение за многие годы: ECN («явное уведомление о перегрузке»). Полное освобождение интернета от раздувания буфера повлечет все эти изменения и потребует многолетнего терпения. «Это болото в долгосрочной перспективе», – говорит Геттис.
Но тем не менее будущее без раздувания буфера выглядит многообещающе. С учетом их врожденной медлительности, буферы слабы в большинстве процессов, требующих взаимодействия. Когда мы говорим по Skype, например, мы предпочитаем сигнал с небольшими помехами, но в режиме реального времени, а не четкую запись того, что звонящий сказал три секунды назад. И лишь 50-миллисекундная задержка определяет, окажется геймер «убитым» или поразит противника сам. По сути, компьютерные игры так чувствительны к промедлениям, что самые почетные награды в этом мире разыгрываются при личном присутствии игроков. Они прилетают с разных концов планеты, чтобы побороться в сети, созданной в пределах одной комнаты. То же верно и для любых других процессов, где важна синхронность. «Если вы хотите помузицировать с друзьями, для вас важны каждые 10 миллисекунд, – отмечает Геттис, говоря о целом наборе новых приложений и бизнесов, которые могли бы стремительно развиваться, воспользовавшись интерактивным потенциалом незначительных промедлений. – Главное обобщение, к которому я пришел, состоит в том, что инженеры должны рассматривать время как гражданина первого класса». Стюарт Чешир из Apple согласен: работу с промедлением пора поставить в приоритет в среде сетевых инженеров. Он потрясен тем, что компании, рекламирующие быстрый интернет, подразумевают лишь высокую скорость пропускания информации, но не низкий уровень задержек. Он проводит параллель с «Боингом-737» и «Боингом-747». Оба летят на скорости 5000 миль в час; первый может перевезти 120 пассажиров, второй – втрое больше. Так «что же, вы сказали бы, что "Боинг-747" в три раза быстрее "Боинга-737"? Конечно, нет», – восклицает Чешир. Вместительность иногда имеет значение: для передачи больших файлов скорость – ключевое качество. Для межчеловеческих приложений тем не менее короткие сроки выполнения задач зачастую гораздо важнее, и что нам на самом деле нужно, так это «Конкорды». Сокращение промедлений и задержек – один из основных фронтов исследовательских работ среди сетевых инженеров, и будет интересно посмотреть на их результаты.
Тем временем идут и другие битвы, которые требуют оплаты. Геттис переключил внимание, выйдя за рамки. «Это не подходит тебе? Я сейчас говорю кое с кем, и я займусь этим, как только закончу. Мы здесь заканчиваем – м-м-м, нет, 5 ГГц сейчас работают, канал 2,4 ГГц повис. Это позорная ошибка. Я перезагружу роутер». Кажется, это самый удачный момент, чтобы попрощаться и вернуть наш частотный диапазон к обычному состоянию – к мириадам аддитивно растущих потоков.
Назад: Раздувание буфера: это запаздывание, глупец!
Дальше: 11. Теория игр О чем думают остальные