Космический компьютер следующего поколения
ВВС США и НАСА инициировали проект Next Generation Space Processor, предусматривающий разработку компьютерных систем для размещения на борту самых разных космических кораблей
Не каждый клиент испытывает острую необходимость в компьютере, который умел бы делать все, начиная от посадки на поверхность Марса и заканчивая управляемым спуском на летящий астероид и координированием взаимного положения спутников, но НАСА и Военно-воздушные силы США – это действительно особые клиенты.
Управление космическими аппаратами Научно-исследовательской лаборатории ВВС США и аэрокосмическое агентство НАСА инициировали проект Next Generation Space Processor (NGSP), предусматривающий разработку компьютерной системы следующего поколения, которую в перспективе можно было бы размещать на борту самых разных космических кораблей.
Новая система должна быть создана на базе многоядерных процессоров общего назначения, устойчивых к воздействию космического излучения, и программного обеспечения, позволяющего решать широкий спектр задач как военного, так и гражданского назначения. Оборудование предстоит монтировать на космических кораблях самого разного размера, и оно должно соответствовать ограничениям, накладываемым на энергопотребление, массу и объем аппаратных средств. Приложения должны обеспечивать точное автономное приземлению, помогать космическому аппарату входить в слои атмосферы, осуществлять спуск и безопасный контакт с поверхностью Луны или Марса, выявлять риски и устранять их, управлять в реальном времени сегментированными зеркалами космического телескопа, оперативно анализировать многомегапиксельные гиперспектральные изображения, проводить автономный ситуационный анализ, планировать задачи и устранять неполадки на борту космического корабля в реальном времени.
«Компьютерные процессоры и приложения, находящиеся на борту космического корабля, необходимо существенно переработать, с тем чтобы они использовали последние достижения в области вычислительной техники и отвечали новым целям, – отметил помощник руководителя Управления космических технологий НАСА Майкл Газарик. – Программа космических технологий НАСА, разрабатываемая совместно с ВВС США, предусматривает проектирование космического процессора следующего поколения и создание решений, которые отвечали бы росту потребностей космической отрасли в высокопроизводительной вычислительной технике на ближайшие десятилетия».
Представители ВВС указали, что требования могут меняться, поскольку «перспективные потребности не до конца проанализированы, но ожидается, что в целом они будут аналогичны ранее определенным потребностям НАСА». В отличие от НАСА, в ВВС хотят иметь повышенную устойчивость к воздействию радиации, предъявляют менее жесткие требования к энергопотреблению и управлению им, а также к устойчивости по отношению к сбоям. Производительность процессора нужна та же, что и для будущих экспедиций НАСА, а в некоторых случаях даже выше. К ключевым для ВВС функциям относятся: высокопроизводительная обработка данных, поступающих с бортовых датчиков; поддержка автономных операций; оценка ситуации и оперативное реагирование на нее; выполнение операций на нескольких платформах и наличие интегрированной системы жизнеобеспечения, построенной на основе определенной заказчиком модели.
Перечень конкретных требований к вычислительным комплексам значительно шире. В НАСА и ВВС хотят, чтобы будущей системе были присущи следующие свойства:
- Наличие не менее 24 процессорных ядер для параллельной обработки приложений и эффективного управления энергопотреблением, устойчивость к сбоям и распределение программных модулей.
- Поддержка процессорными ядрами по крайней мере 32-разрядных вычислений и полное соответствие оборудования стандарту IEEE 754 Floating Point.
- Доступное для коммерческого приобретения аппаратное и программное обеспечение (сюда относятся процессорные ядра, внешние подсистемы ввода-вывода и интерфейсы памяти, программный стек и среда разработки).
- Возможность обработки нескольких одновременно запущенных приложений и распределение потоков между имеющимися ядрами.
- Потребление не более 7 Вт электрической мощности при производительности 24 GOPS (миллиардов операций в секунду) и 10 GFLOPS (миллиардов операций с плавающей запятой в секунду).
- Функционирование в режиме реального времени.
- Время пересылки данных в пределах массива процессоров, не превышающее 1 микросекунды.
- Продолжительность синхронизации между ядрами не выше 0,1 миллисекунды.
- Низкая латентность и детерминированные временные промежутки как внутренней, так и внешней по отношению к процессору связи.
- Прием и распределение прерываний в режиме реального времени.
- Устойчивость к радиации на уровне по крайней мере в 1 мегарад.
- Встроенное самотестирование и возможность удаления сбойных ядер или проведения других операций восстановления правильности функционирования.
- Последовательность загрузки, обеспечивающая переход в работоспособное состояние.
- Продолжительность наработки на отказ 100 тыс. часов.
- Сброс отдельных ядер или ядерного кластера в рамках наименьшего модуля.
- Поддержка таймера системы безопасности для каждого ядра и синхронизированная временная развертка для всех ядер.
- Возможность отключения неиспользуемых ядер и других ресурсов.
- Плавная регулировка производительности и энергопотребления, начиная от максимальной и заканчивая минимальной с шагом в 1 ватт, уменьшение быстродействия отдельно взятого ядра (или какого-то другого элементарного блока) путем снижения энергопотребления ядер (ядерного кластера) и других неиспользуемых ресурсов.
- Поддержка спящего режима, потери мощности не более 100 милливатт, ожидание внешнего события, переводящего систему в рабочее состояние. В спящий режим может переходить как весь процессор полностью, так и отдельные его ядра или области. После выхода из спящего режима процессор и ядра возобновляют работу с того места, где они ее прекратили, или с места, определенного для состояния пробуждения. Поддержка управления энергопотреблением и избыточностью внешней памяти и подсистемы ввода-вывода.
- Возможность автономного обнаружения ошибок в режиме реального времени, предотвращение выхода этих ошибок за ранее определенные границы, восстановление работоспособности системы и возобновление ее функционирования.
- Возможность обнаружения ошибок и сбоев микропроцессорных ядер во время приемо-сдаточных испытаний путем двукратного выполнения операций и сравнения полученных результатов, тройного выполнения и голосования. Подобные режимы обеспечения устойчивости к сбоям могут потребовать внесения соответствующих изменений в оборудование и системное программное обеспечение.
- Возможность выявления и трассировки сбойных внутренних соединений и переключений без чрезмерного усложнения программного обеспечения с максимально эффективным использованием оставшихся ресурсов.
- Предотвращение в процессорных ядрах и каналах связи одиночных аппаратных ошибок, приводящих к нарушению границ виртуальной памяти.
- Объединение групп ядер, компонентных соединений и памяти в блоки, препятствующие дальнейшему распространению ошибок и гарантирующие работоспособность оставшейся части системы, предотвращение сохранения ядрами данных в областях памяти, закрепленных за другими группами ядер.
- Возможность одновременного обнаружения и устранения ошибок как внутренних, так и внешних соединений и памяти, поддержание устойчивости к сбоям за счет использования дублирующих банков и интерфейсов для внешней памяти и устройств ввода-вывода. Наличие аппаратных и программных средств локализации ошибок и перестройки конфигурации.
«В исследовательской лаборатории ВВС и НАСА понимают, что выполнить предъявляемые требования в полном объеме чрезвычайно сложно. Поставщики могут предлагать альтернативные подходы для вывода процессора и соответствующего программного обеспечения на уровень, который обеспечил бы высокую производительность, устойчивость к сбоям и оптимизацию энергопотребления во время полетов и решения различных космических задач в экстремальных условиях", — отмечают в двух ведомствах.
Одна из главных трудностей при строительстве любой космической системы связана с радиацией. В прошлом в НАСА уже обсуждалась возможность использования устойчивых к воздействию радиации компьютерных чипов. Системы подобного рода содержат дополнительные транзисторы, которым для включения и выключения требуется больше энергии. Тем самым они защищены от самопроизвольного переключения под воздействием космического излучения. Устойчивые к радиации чипы продолжают выполнять точные вычисления в ситуациях, когда обычные процессоры начинают сбоить. Космическое агентство США возлагало на такие сверхустойчивые чипы большие надежды. Но выяснилось, что у них имеются серьезные недостатки: они стоят дорого, потребляют много энергии и работают слишком медленно; по уровню производительности такой чип в десять раз уступает аналогичному процессору современного настольного ПК потребительского класса. А ведь космическому кораблю требуется максимально возможная вычислительная мощность.
По данным НАСА, в американском сегменте Международной космической станции развернуты 44 компьютера, которые подключены к 100 сетям передачи данных и передают 400 тыс. сигналов (сведения о температуре и давлении, о положении клапанов и т. д.). На компьютерах выполняется 1,5 млн строк программного кода. При этом главный управляющий компьютер в американском сегменте оборудован жестким диском емкостью 1,5 Гбайт, тогда как емкость диска практически любого современного ПК превышает 500 Гбайт.