Терминология «хозяин-раб» была воспринята многими как оскорбительная и была удалена из Python, языка кодирования, распространенного в машинном обучении, и Github, платформы для разработки программного обеспечения. Однако она сохраняется в одной из самых обширных вычислительных инфраструктур в мире. Spanner от Google – названный так потому, что охватывает всю планету, – это массивная, глобально распределенная, синхронно реплицируемая база данных. Это инфраструктура, которая поддерживает Gmail, поиск Google, рекламу и все распределенные сервисы Google.
Функционируя по всему миру, Spanner синхронизирует время на миллионах серверов в сотнях центров обработки данных. В каждом центре есть «хозяин», который постоянно получает GPS-время. Но поскольку серверы опрашивали различные задающие генераторы, существовала небольшая задержка в сети. Как Как устранили эту неопределенность? Ответ заключался в создании нового сетевого протокола – запатентованной формы, – чтобы все серверы могли синхронизироваться независимо от того, в какой точке планеты они находятся. Google без иронии назвал этот новый протокол TrueTime.
TrueTime функционирует путем установления доверительных отношений между локальными часами центров обработки данных, чтобы они могли решать, с какими коллегами синхронизироваться. Благодаря достаточно большому количеству надежных часов, – включая GPS-приемники и атомные часы, которые обеспечивают чрезвычайно высокую степень точности, – и достаточно низким уровням сетевой задержки, TrueTime позволяет набору серверов гарантировать определенную последовательность событий в глобальной сети[173].
Самое замечательное в этой системе – это то, как TrueTime справляется с неопределенностью при наличии дрейфа на отдельных серверах. «Если неопределенность велика, Spanner замедляется, чтобы ее переждать», – объясняют исследователи Google[174]. Это воплощает фантазию о замедлении времени, о его перемещении по своему усмотрению и о приведении планеты