Андрей Милковский – Новый рассвет. Перелом (страница 17)
– Оскар должен быть в этой комнате, когда вы окончательно решите, как выглядит Q-PreFilter и система логов. Я приглашаю его на следующее обсуждение.
Он сделал глоток кофе и добавил:
– А теперь давайте посмотрим на это глазами людей, которые будут этим пользоваться. Архитектура – это не только блоки и линии. Это ещё и то, как Алексей в три часа ночи поймёт, куда смотреть, если что-то пойдёт не так.
Чертёж Aegis-β-2 они открыли как отдельный документ. Без формул, но с ясно обозначенными слоями.
Черновой описательный чертёж Aegis-β-2 (extract)
1. Основная структура:
– Центральная камера для образца (объём до X см³), окружённая тремя концентрическими рамами катушек.
– Внутренний слой катушек отвечает за формирование основного поля (диапазон частот f_base ± Δf).
– Средний слой – корректирующий, компенсирующий локальные неоднородности и дрейф.
– Внешний слой – экранирующий, минимизирующим влияние внешних полей.
2. Q-модули (расширение β → β-2):
– Дополнительные синхро-модули, привязанные к центральному Q-Beacon:
• обеспечивают временную метку для каждого импульса/ответа с точностью до микросекунд;
• осуществляют первичную пороговую фильтрацию по амплитуде и спектру (отбрасывают шумовые участки ниже заданного порога).
– Встроенные датчики температуры и вибрации для мониторинга стабильности работы блока.
3. Интерфейс с алгоритмическим уровнем:
– Формат выходных данных стандартизирован:
• сырые данные (по запросу);
• предварительно фильтрованные (по умолчанию для Palingenesis v0.4);
• диагностические (для анализа сбоев и дрейфов).
Примечание:
Конфигурация β-2 рассчитана на возможность дальнейшей модернизации под режимы MR без полной перестройки аппаратуры (резерв по мощности и по каналам связи).
– Кто-нибудь, кроме вас троих, поймёт это с первого раза? – спросила Ханна, появившись в дверях, когда они дочитали.
– Мы надеемся, что да, – ответил Джас. – Но если нет – будем рисовать картинки.
– Я бы попросила, – сказала она, подходя ближе, – чтобы в «интерфейсе с алгоритмическим уровнем» сразу были учтены две вещи.
Она показала на раздел 3:
– Во-первых, чтобы было чётко понятно, какой канал используется для эксперимента, а какой – только для диагностики. Во-вторых, чтобы существовал физический способ «разорвать» подачу импульсов – не только через софт.
– Ты про аппаратный стоп, – понял Джас.
– Да, – кивнула Ханна. – В кодексе, который мы приняли на прошлой неделе, были прописаны стоп-процедуры. Теперь нужно, чтобы архитектура тоже их знала.
Дмитрий улыбнулся:
– Это тот редкий случай, когда всё действительно складывается в систему.
Когда пришёл Оскар, спор между Самиром и Джасом уже оформился в набор конкретных пунктов. Он вошёл в лабораторию, как всегда, в худи и с наушниками на шее, но в этот раз – с официальным бейджем сотрудника.
– Меня вызывали? – спросил он, оглядывая схему на экране. – Вы решили, что пора добавить немного паранойи в архитектуру?
– Паранойя – это то, что мы теперь называем «архитектурой безопасности», – ответил Дмитрий. – Нам нужно, чтобы данные, которые бегут через Aegis, Q-модули и Palingenesis, были не только красивыми, но и отслеживаемыми.
Самир кратко изложил идею Q-PreFilter и трёх уровней. Оскар слушал, покачивая ногой, как человек, для которого сложные схемы – привычный ландшафт.
– То есть, – подвёл он, – у вас будет:
– железный слой, который уже что-то отбрасывает;
– небольшой промежуточный мозг, который структурирует поток;
– и большой софт-мозг, который делает магию.
Он перевёл взгляд на Самира:
– И ты хочешь, чтобы я помог сделать так, чтобы мы потом понимали, что именно прошло через каждый из этих слоёв?
– Да, – ответал Самир. – Мне не нужны чудеса. Мне нужны трассировки.
Оскар сел за свободный терминал и быстро вывел свою версию архитектуры:
Technical Memo – Q-Logging Architecture (draft)
Автор: O. Holz, совместно с S. Ahmed
– минимальные, но неизменяемые записи о каждом импульсе и ответе: временная метка от Q-Beacon, ID канала, базовые амплитуды.
– пишутся напрямую с Aegis-β-2 на защищённый модуль, недоступный для перезаписи из Palingenesis.
– записи о том, какие участки данных были отброшены пороговыми фильтрами (шум) и по каким критериям.
– связываются с RawLog через общий ID события и временную метку.
– записи о том, какие алгоритмические решения были приняты (обнаружение паттернов, «эхо», расчёты корреляций).
– содержат ссылки на соответствующие записи в RawLog и PreFilterLog.
– обеспечить возможность задним числом восстановить путь любого результата: что было на входе, что отсеялось, что интерпретировал алгоритм.
– Если мы это сделаем, – сказал Оскар, – то в случае аномалий или, не дай бог, инцидентов, мы сможем честно ответить на три вопроса:
1) Это было в железе?
2) Это появилось в префильтре?
3) Это нарисовал софт?
Он усмехнулся:
– И у Маши будет меньше поводов говорить, что мы всё прячем.
– А у нас – больше работы, – пробурчал Джас. – Но ладно. Если это поможет потом не объяснять на слушаниях, что «логов как раз за это число нет», я готов потерпеть.
Самир чувствовал приятное ощущение, которое редко бывает в больших проектах: как будто кусочки из разных голов начали встать в один рисунок. Aegis-β-2, Q-PreFilter, Palingenesis v0.4, логирование – всё это складывалось в нечто, что уже можно было назвать архитектурой, а не набором идей.
Спор о том, где на самом деле «бутылочное горлышко», продолжился, но из плоскости общих фраз перешёл в плоскость конкретных чисел.