реклама
Бургер менюБургер меню

Андрей Милковский – Новый рассвет. Перелом (страница 17)

18

– Оскар должен быть в этой комнате, когда вы окончательно решите, как выглядит 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

Уровень 1: RawLog (железо)

– минимальные, но неизменяемые записи о каждом импульсе и ответе: временная метка от Q-Beacon, ID канала, базовые амплитуды.

– пишутся напрямую с Aegis-β-2 на защищённый модуль, недоступный для перезаписи из Palingenesis.

Уровень 2: PreFilterLog (Q-PreFilter)

– записи о том, какие участки данных были отброшены пороговыми фильтрами (шум) и по каким критериям.

– связываются с RawLog через общий ID события и временную метку.

Уровень 3: AlgoLog (Palingenesis v0.4)

– записи о том, какие алгоритмические решения были приняты (обнаружение паттернов, «эхо», расчёты корреляций).

– содержат ссылки на соответствующие записи в RawLog и PreFilterLog.

Цель:

– обеспечить возможность задним числом восстановить путь любого результата: что было на входе, что отсеялось, что интерпретировал алгоритм.

– Если мы это сделаем, – сказал Оскар, – то в случае аномалий или, не дай бог, инцидентов, мы сможем честно ответить на три вопроса:

1) Это было в железе?

2) Это появилось в префильтре?

3) Это нарисовал софт?

Он усмехнулся:

– И у Маши будет меньше поводов говорить, что мы всё прячем.

– А у нас – больше работы, – пробурчал Джас. – Но ладно. Если это поможет потом не объяснять на слушаниях, что «логов как раз за это число нет», я готов потерпеть.

Самир чувствовал приятное ощущение, которое редко бывает в больших проектах: как будто кусочки из разных голов начали встать в один рисунок. Aegis-β-2, Q-PreFilter, Palingenesis v0.4, логирование – всё это складывалось в нечто, что уже можно было назвать архитектурой, а не набором идей.

Спор о том, где на самом деле «бутылочное горлышко», продолжился, но из плоскости общих фраз перешёл в плоскость конкретных чисел.