Виртуальное пространство ЦУМа было четырехмерным. Очевидно, количество контрольных систем просто не лезло удобно в три измерения, и кто-то не мудрствуя лукаво просто добавил еще одно. А чего — виртуальное пространство, он и есть виртуальное пространство, можно хоть десять измерений завести, единственная проблема — как визуализировать. В конце концов, изображение на сетчатке глаза вообще двумерное, и ничего. Два глаза дают стероскопию, а в четырехмерном три нужно, и всего делов.
Визуализация в ЦУМе делалась просто — мысли оператора отслеживались, и его трехмерная точка зрения автоматически смещалась в четвертом измерении, чтобы заинтересовавшие его контрольные системы оказались в видимом ему трехмерном срезе пространства. А поскольку я думал о разных вещах, то и мир вокруг меня плавал вслед за ними, пытаясь настроиться на текущую мысль и создавая слегка тошнотворную психоделическую картину с появляющимися из воздуха и исчезающими системами.
Разобравшись со зрением, я все-таки обратился к Михе за инструкциями:
— Мих, а чего делать-то?
— Проверь процесс переселения душ, а потом и правда посмотри состояние виртуальных миров, особенно этого 5F79, о котором Йогита сказала, что мигал. А я пока проверяю магнитное поле планеты и кору вдоль тихоокеанской кромки — не хотелось бы схлопотать серьезное землетрясение только от того, что не удосужились проверить, а давно пора. А в целом, контрольные системы сами твое внимание привлекут, если что не так.
— Кстати, злыдень, а чего ты меня не предупредил, что Йогита — из старших.
— Да она сама этому значения не придает. Она ведь принципиальная противница эго. Считает, что холить свое «я» — просто еще одна разновидность демонов. И в чем-то, наверное, права, — ответил Миха, — Ты и правда, воспользуйся приглашением, не пожалеешь. Считай, от нас обоих приглашение. Ладно, извини, я занят.
Я сконцентрировался на процессе переселения душ. В общем, оказалось — ничего сложного. Каждая смертная душа занимала небольшой кусочек Гайи. Получив финальный бэкап со смертью тела, ярлычок с адресом души отправлялся к наименее нагруженному из группы специальных узлов под управлением искусственного интелелекта-программы Инпу. Почему ярлычок? А потому что копировать данные в нейронной сети очень и очень трудно, так что проще переслать ярлычок с адресом, по которому каждый может до души дотянуться и проверить все, что нужно. Узел Инпу-определитель проверял душу на наличие человеческих и животно-демонических элементов и вешал на него процент человечности или демоничности. Дальше обработанные узлом души, точнее их ярлычки, сортировались по этому проценту, и имевшие одинаковый процент отправлялись этаким пакетом ко второму виду узлов Инпу-исполнителей. Узел-исполнитель Инпу сверялся с процентом человечности полученных душ, и активировал соответствующего исполнителя, которому и скармливал души одну за другой для реализации их будущей судьбы.
Для большинства душ в среднем диапазоне таковой судьбой было перерождение, и исполнитель просто следил за рождениями в нужном диапазоне кармы и благополучности среды, и отправлял туда порученные ему души. Однако, если процент человечности оказывался низким, и душа была сильно заражена демонами, то вместо перерождения ее приходилось отправлять к исполнителю-чистильщику, который просто отключал узлы души, захваченные демонами, а потом отправлял ее остатки на второй круг. Для еще более низкого процента человечности, исполнитель не только отключал зараженные участки, но и отправлял остатки через г'Арона в г'Ад — магматическую подсеть Гайи, обладавшую большим количеством незанятых узлов, которые можно было использовать для пусть и очень медленной, но более тщательной чистки. Ну, и наконец, если от человека ничего не оставалось, то душу приходилось просто развеивать, выключая узлы, на которых она существовала, поскольку плодить демонов никакого смысла не было.
В противоположном конце спектра были души с очень высоким процентом человечности. Этим оставалось избавиться только от очень небольшого демонического багажа. А были еще те, кто не успел «подчиститься» в жизни по какой-то причине — например, из-за насильственной смерти. Эти отправлялись для промежуточных миссий в виртуальных мирах, иногда даже с появлением там в своем собственном теле и с сохраненными воспоминаниями предыдущей жизни. Это был, кстати, второй вид «попаданцев», которые, впрочем, никаких фэнтези потом не писали, поскольку из тех миров с полной памятью все-таки не возвращались. И, наконец, самая верхушка — считанные единицы — сортировалась по талантам, истории и наклонностям, а потом собирались для индивидуальной работы богами из разных лабораторий. Скажем, боевой офицер имел хороший шанс попасть к Йогите, а затесавшийся в избранную категорию «боец невидимого фронта» — к профессору. А лаборатории уж оценивали души заново и подбирали им индивидуальный путь дальнейшей реинкарнации в реальном или виртуальном мирах, который увеличивал шансы достижения конечной цели — эволюции смертной души до состояния бога, который мог бы быть принят, как равный, на Олимпе… Собственно, это и были те самые герои, с которыми мне теперь предстояло целую вечность нянчиться.
Вот такой вот Страшный MapReduce, то есть, пардон, Суд…
Я пригляделся к характеристикам процесса. Человечество росло в размерах, так что проблем со средним диапазоном практически не было. В самом деле, при населении почти 7 миллиардов и средней рождаемости 20 детей на тысячу, это означало прибавку в 140 миллионов в год, при этом средняя смертность составляла порядка 8.6 смертей на тысячу, то есть примерно 60 миллионов в год, так что новорожденных тел для реинкарнированных душ хватало с запасом. Узлы-исполнители работали с хорошей нагрузкой, отправляя души в новые тела. А вот узлы-определители работали даже со слишком большой нагрузкой. Я взглянул на исторический граф нагрузки узлов за последние несколько лет и понял, что количество узлов-определителей скоро может опять оказаться недостаточным.
Конечно, две души в секунду может показаться и не так много кому-то, избалованному Интернет-скоростями, но если подумать, какой обьем информации представляет каждая душа, то становится понятно, что оценить все требует изрядных ресурсов. Да и сами подумайте, вам бы понравилось, если бы всю вашу жизнь не просто оценивали в десять минут, в которые укладывалась имеющаяся система, а при этом еще и очередь стоять пришлось бы? Все-таки не советская контора… Добавив и активировав пару сотен новых Инпу-узлов-определителей, я убедился что нагрузка снизилась на ожидаемые процента три и проблем ближайшее время быть не должно. А правильно говорил Миха: «Не боги горшки обжигают». Ничего сложного, любой толковый инженер справился бы. Хотя вообще-то, конечно, жутковато было с такой системой работать. Как подумаешь, чем же на самом деле она занимается, и бежит этакий холодок по спине…
Я присмотрелся, нет ли еще какого-то непорядка, и разумеется, тут же нашел. Г'Арон явно не справлялся и очередь на чистку в г'Аде потихоньку росла. Что очень плохо. В отличие от развеивателей, г'Ад был последним шансом спасения остатков человеческой души, чрезмерно зараженной демонами. Дело в том, что демоны, как вирусы гриппа, были типовыми, но каждый со своими мелкими особенностями, поэтому требовали индивидуальных вирусов-противоядий. В случае с небольшим заражением можно было просто отключить зону поражения вирусом, оставив вытравление остатков на следующую реинкарнации. Ну, как при начальной стадии рака вырезают основную опухоль, а мелкие остатки тут и там добивают радио- и хемотерапией. Если же заражение велико, то опять же, как и в случае с раком, вырезание всей демонической опухоли оставляло слишком мало для самоподдержки. Тут-то и требовались специальные антивирусы-противоядия, но если заражение было слишком велико, то можно было просто не успеть — пока антивирус создавался, демон успевал сожрать остатки души, и все равно дело заканчивалось развеиванием. Но, только если душу не удавалось засунуть в медленный магматический г'Ад, поскольку там все было значительно медленней, и пока демон жрал жертву, вполне можно было создать антивирус на этого демона и сохранить по крайней мере остатки.