LINUX.ORG.RU
ФорумTalks

ПО для SpaceX разработано на С++

 , ,


2

5

"Управляющее полётом Falcon 9 ПО написано на C/C++ и запускается параллельно на каждом из трёх компьютеров. Три дублирующих компьютера необходимы для обеспечения должного уровня надёжности за счёт многократного резервирования. Результат каждого решения сравнивается с результатом, полученным на остальных компьютерах, и только при совпадении на всех трёх узлах команда принимается микроконтроллером, управляющим двигателями и решётчатыми рулями.

В доставляемом на орбиту пилотируемом космическом корабле Crew Dragon также используется Linux и полётное ПО на C++."

В очередной раз оказалось, что С++ активно используется в новейших перспективных разработках и все крики о его скорой смерти - пузыри в лужу.

Перемещено leave из development


и только при совпадении на всех трёх узлах команда принимается микроконтроллером, управляющим двигателями и решётчатыми рулями.

Т.е. если один компьютер из трех начал дурковать, то вся система уходит в отказ, т.к. микроконтроллер перестает принимать команды?

Надежненько. :)

BRE ★★
()
Последнее исправление: BRE (всего исправлений: 1)

… и все крики о его скорой смерти - пузыри в лужу.

Вежливо /«Гусарам молчать»/.

anonymous
()

В очередной раз оказалось, что С++ активно используется в новейших перспективных разработках и все крики о его скорой смерти - пузыри в лужу.

Новейших? Я подозреваю, что это ПО начало писаться задолго до выхода раста, например. Думаю мы еще услышим новость о переписывании на него.

Im_not_a_robot ★★★★★
()

А свистоперделки на js и chromium. Это вам не платежные терминалы, а космические технологии

anonymous
()

и только при совпадении на всех трёх узлах команда принимается микроконтроллером

Ты точно ничего не напутал? Надежность такой системы ещё меньше, чем надежность системы с одним узлом. Обычно при троировании результат выбирается по мажоритарному принципу, и тогда система выдерживает выход из строя одного дублирующего узла.

По теме, что C++ - боян. Лет 5 назад было то ли интервью, то ли какие-то ответы в инете, и тема плюсов в SpaceX была обозначена.

seiken ★★★★★
()

До первого падения ракеты. Потом вертухай с флаконом все перепишут на руст вместе с электроноподелкой.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от anonymous

Не, бухают в роскосмосе, тут видимо больше всё же курят.

pon4ik ★★★★★
()

Еще бы не на плюсах. А то вместо запуска двигателя, запустится мусоросборник :D

invy ★★★★★
()

Ну что, рацонализм поставил на место продажных забюрократизированных космических авиаторов на место.

anonymous
()

по теме, ничего удивительного, можно было конечно вообще на ассемблере бахнуть, но чет лениво. 3 раза вычислять это надо шобы побыстрее делалось, тут не место каким-то другим языкам.

anonymous
()

Даже я, непрогроммист ни разу, знаю, что С++ это академически и индустриально выверенный ужос, который, по заветам Страустурпа, можно поддерживать десятилетиями.

anonymous
()
Ответ на: комментарий от Im_not_a_robot

раст

Тогда придется все ступени на Землю возвращать, иначе борроу чекер не пропустит.

anonymous
()

Интересно, архитектурно у них все три машины для резервирования разные, или же все одного производителя? Логично было бы брать разные, на случай если есть аппаратная ошибка в одной из них которая будет давать неверные вычисления. Потому как если брать одного, то они просто будут совпадать в своей ложности, проходить эту тройную проверку просто все выдавая неверный результат и очередная ракета упадет.

anonymous
()

Три дублирующих

Три

дублирующих

А если по делу, то про смерть плюсов орут только поехавшие растофанбои.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

А если по делу, то про смерть плюсов орут только поехавшие растофанбои.

Это уже свершившийся факт! Вы ничего не понимаите. Сейчас на русте перепишут v8 с graalvm и они будет работать быстрее си, жрать памяти меньше в 3 раза, а главное всё safe.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 2)
Ответ на: комментарий от anonymous

3 раза вычислять это надо шобы побыстрее делалось

Ты думаешь что три компьютера работают последовательно?

anonymous
()

все крики о его скорой смерти - пузыри в лужу

да это любому адекватному человеку понятно, не новость нисколько...

xperious ★★
()
Ответ на: комментарий от WitcherGeralt

А если по делу, то про смерть плюсов орут только поехавшие растофанбои.

Они все дураки.
@metaprog разработка безошибочна.
Один только изъян - плохо решает квадратное уравнение.

anonymous
()
Ответ на: комментарий от WitcherGeralt

про смерть плюсов орут только поехавшие растофанбои

Не только, в нулевые это было ясно почти всем. Потом всё поменялось, но некоторые так и остались в танке.

anonymous
()
Ответ на: комментарий от WitcherGeralt

А если по делу, то про смерть плюсов орут только поехавшие растофанбои.

Зато питонщики плюсы в обиду не дадут.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от anonymous

С++ это академически и индустриально выверенный ужос

Академически это был ещё не ужас. А вот когда начиная с C++11 туда начали пихать элементы функциональщины, он просто в полнейшую кашу превратился, в которой нет никакого резона даже разбираться.

fang
()
Ответ на: комментарий от anonymous

Я думаю что три вычисления это еще три вычисления, в любом случае. Ну и скорее всего идеальной синхронизации и завершения вычислений там нет, а выдавать результат надо выдавать чем быстрее тем лучше, это все-таки ракета, а не какие-то вялотекущие расчеты результаты которых нужны когда-то потом. Хотя спорить на счет последнего не буду, из ОП поста непонятно что это за вычисления.

anonymous
()
Ответ на: комментарий от anonymous

надо шобы побыстрее делалось

Поэтому для скорости используют процессоры из прошлого века - 386sx.

anonymous
()
Ответ на: комментарий от anonymous

Я пользуюсь самоподписанными сертификатами.

anonymous
()
Ответ на: комментарий от anonymous

Про NASA что-то похожее слышал, но это же не NASA не уж то тоже с гаража поприносили свои вычислительные мощности?

anonymous
()
Ответ на: комментарий от fang

вот когда начиная с C++11 туда начали пихать элементы функциональщины, он просто в полнейшую кашу превратился, в которой нет никакого резона даже разбираться.

Только вот код стал компактнее и понятнее.

AntonI ★★★★
()
Ответ на: комментарий от anonymous

Поэтому для скорости используют процессоры из прошлого века - 386sx.

три дублирующие друг друга компьютера на базе обычных двухъядерных процессоров семейства x86.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от AntonI

Жгутик порвался

Передовая технология запуска ракет - батут.
Можно еще в рогатку зарядить.

anonymous
()
Ответ на: комментарий от anonymous

А рогатку сделать из жгутиков метапрога?

AntonI ★★★★
()
Ответ на: комментарий от Ivan_qrt

двухъядерные семейства x86 это уже получше, но все еще не пруф от spacex. Вообще почему такая уверенность что вычисления производятся исключительно на cpu, но например не на gpu?

anonymous
()
Ответ на: комментарий от AntonI

Летела ракета Упала в болото Жгутик порвался Во время полета

Девочка в клуб играться пошла,
В клубе она Метапрог нашла
"дерни жгутик" - ей компьютер сказал...
Долго над клубом бантик летал.
anonymous
()
Ответ на: комментарий от anonymous

тогда бы пришлось как завещал лавсан делать ублюбочные вставки на С или ассемблере в божественный общелисп.

anonymous
()
Ответ на: комментарий от anonymous

Вообще почему такая уверенность что вычисления производятся исключительно на cpu, но например не на gpu?

А что там на gpu то считать?! Там все просто как табуретка, основная проблема не в производительности а в надежности.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

так это на применимость в принципе никак не влияет, главное что способно считать.

anonymous
()
Ответ на: комментарий от anonymous

При несовпадении результата пересчитывается всеми по новой.

Нафиг тут троирование? Берешь один процессор, и на нем пересчитываешь до усрачки.

seiken ★★★★★
()
Ответ на: комментарий от seiken

как раз на случай того что какая-то из трех систем может оказаться подверженной ошибкам. На одной и той же оно просто будет получать из раза в раз один и тот же неверный результат.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.