LINUX.ORG.RU
ФорумTalks

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

 , ,


2

5

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

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

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

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


Ответ на: комментарий от Virtuos86

Интересно, что бы ты написал в случае ПО на русте

anonymous
()

Управляющее полётом Falcon 9 ПО написано на C/C++

Любители go, rust и прочей маргинальщины только что полетели в космос на жопной тяге.

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

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

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

для принятия решения достаточно двух совпавших результатов;

Задача византийских генералов. Для принятия решения надо, чтобы строго больше 2/3 правильных процессоров.

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

Думаю уже после первой неправильной сверки этих трех расчетов уже будет считаться что произошла нештатная ситуация, что в данном случае предпринимает spacex одному spacex только и известно. Но гонять более раза скорее всего не гоняют, т.к. по сути за один прогон и так уже 3 фактических погона произошло.

anonymous
()
Ответ на: комментарий от AntonI
Песню дружбы запевает молодежь,
Молодежь, молодежь.

Этот Метапрог не задушишь, не убьешь!!
Не убьешь! Не убьешь!

Нам, молодым,
Вторит песней той
Весь шар земной!

Этот Метапрог не задушишь, не убьешь!
Не убьешь! Не убьешь!

Владимир

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

Забаньте меня кто-нибудь

Дружище, модераторам ведь твой IP адрес известен.
Могут и не понять твоей шутки.

Владимир

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

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

Строго больше 2/3 процессоров обеспечить просто, например 4 (или 5). Но почему то ставят обычно три…

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

это не показательная предметная область.

если бы сделали автоматику РМ на Fault Tolerant плис verilog/vhdl/etc , то сосал бы C/C++

кстати, странно что не сделали.

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

Строго больше 2/3 процессоров обеспечить просто, например 4 (или 5). Но почему то ставят обычно три…

Ну вот поставили 4 или 5 процессоров. Сколько нужно правильных? Неужели то само магическое число? Зачем лишние, если каждый лишний килограмм дорого обходится?

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

Но почему то ставят обычно три…

Два    - недобор
Четыре - перебор

Владимир

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

Сколько нужно правильных?

ИМНО больше половины - потому и обходятся тремя;-)

Если отказало больше половины то надо не число процессоров увеличивать а железо/софт/разработчиков менять. Ракете все равно кранты.

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

It’s only when every processor comes up with the same answer that a command is sent to the PowerPC microcontrollers.*

Тогда вопрос, от каких именно проблем защищает такая система. В троировании там понятно, если один процессор тупо вышел из строя на аппаратном уровне, это не скажется на работоспособности системы. А тут что?

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

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

Я на видео не заметил.

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

А тут что?

Пока одну ракету запустили, а чуть позже «трешку».

Владимир

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

Не, вот тебе смешно. А я утром за чаем куки чистил. И вроде же ничего такого крамольного не флудил, только про тайловые ВМ, всем советовал моники 8К.

Ливушка, ты там махал серпом по банерам?

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

Задача византийских генералов

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

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

Задача византийских генералов.

Вообще не при чём тут.

Еще как причем. Сбоящий процессор случайно может показывать «правильные» результаты. Остановившиеся часы показывают правильное время два раза в сутки.

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

Не не так.

Эту песню напевает @metaprog, @metaprog!

Мой Метапрог не задушишь, не убьешь!
Не убьешь! Не убьешь!

ПО для SpaceX разработано на Метапрог, Метапрог!

Мой Метапрог не задушишь, не убьешь!
Не убьешь! Не убьешь!

Владимир

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

утром за чаем куки чистил

Гигиена превыше всего!

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

Я тоже стараюсь держать свои куки в чистоте.

Владимир

anonymous
()

А на чём ПО для Союзов разработано? Читал, что в последних версиях используются цифровые системы. На ассемблере или паскале?

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

если они показывают разные результаты то непонятно кому верить

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

Статью ты как я поняла не читал и уверен в том, что если 20 лет назад выучил замшелый курс по управлению гироскопами на броненосце Потемкин, то теперь во всем прав? За это время ничего не изменилось?

Еше раз, в чем мое утверждение отличается от того, что написано в статье? Прямо с цитатой, пожалуйста.

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

Ракете все равно кранты

Фигня, на одном сопле полетит.

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

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

До-до. Еще пасьянс раскинуть. Вы даже не поняли что именно они «показывают».

Статью ты как я поняла не читал…

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

Всего хорошего.

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

И еще в статье упоминается модель «акторов», если ты не заметил. А она именно рассчитана на отказы, падения и восстановление отдельных акторов.

Типа телефонные коммутаторы на акторах дают 99.99999% надежность.

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

Барышня, с Вами все ясно. Тролль из Вас так себе

А из Вас дядя Толик преподаватель.

Не умеете читать и понимать написанное, не хотите учится а хотите

Сам статью не читал но ценное мнение имею.

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

Если отказало больше половины то надо не число процессоров увеличивать а железо/софт/разработчиков менять.

В космосе возможны массовые «умопомрачения». Например, из-за радиации, которая действеут на всех одновременно. И тройное подтверждение - это защита от этого. Если большая часть начнет гнать одинаковую пургу (начнется массовая драка) арбитр решает перенести матч на другое вермя.

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

Йитить, дык это же @metaprog - только нормальный!!!

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

Владимир

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

Ракету остановить уже нельзя

Зачем останавливать чемпионат? Всего лишь перенесли один матч, а турнирную таблицу оставили как было - стабильность.

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

Например, из-за радиации, которая действеут на всех одновременно.

Космическая элементная база должны быть устойчива к таким вещам, но если действительно фигакнуло так что все начало сбоить - оно сбоить будет по разному, т.е. все три процессора будут давать разные результаты или вообще будут гнать полную лажу не проходящую даже по протоколу обмена (Вы это имели ввиду?).

Тогда да, ждем/ребутим систему/обращаемся «к солнцу и муравьям» (идея от Лизы). Правда если речь идет о сбое при маневре во время посадки ступени, то ждать/ребутиться будет некогда, все заработает при отметке высоты минус дцать метров от уровня моря.

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

сбоить будет по разному

В том числе одинаково И чтобы одинаковый сбой не принять за правдивый результат, решение переносится.

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

В том числе одинаково

Выглядит довольно фантастично, вероятность этого ИМНО значительно ниже чем вероятность отказа хотя бы одного компьютера.

Не могли бы Вы подетальнее описать, как с т.з. физики ионизирующее излучение может привести к ОДИНАКОВОМУ сбою всех трех процессоров, при том что такой сбой не выглядит как сбой - т.е. все три процессора гонят одинаковые данные, которые формально корректны но фактически лажа?

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

Космическая элементная база должны быть устойчива к таким вещам

Если что, то это (три машины с х86 процессорами) написано про первую ступень. Думаю, на зоне работы первой ступени нет значимой космической радиации. Но может молния ударить и у большинства ключи замкнут одинаково.

anonymous
()

ПО на C++

Часто говорят, что в C++ легко можно «отстрелить себе левое яйцо», но
редко говорят о том, что от дурака ни один язык программирования не спасет.

Владимир

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

Думаю, на зоне работы первой ступени нет значимой космической радиации.

первая ступень подлетает до высоты 200км, так что есть - не более и не менее значимая чем на МКС скажем. Другое дело, что вероятность напороться на вспышку именно в тот момент когда она подскочила невелика.

Но может молния ударить и у большинства ключи замкнут одинаково.

Тоже довольно таки фантастичный сценарий - для этого нужно что бы их расположение в блоке аппаратуры и еще куча факторов были одинаковыми.

Я выше писал, да - при условии что время есть можно отложить принятие решения при рассогласовании даже одного компа (Лизин вариант). Но я не очень понимаю зачем так делать, надежность это ИМНО не сильно поднимает а вот алгоритм управления усложняет значительно. Но я могу ошибаться, не моя полянка.

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

ионизирующее излучение

Почему только ионизирующее излучение. Есть еще поток (одинаково) заряженных частиц, который также может порожден ионизирующим излучением в магнитном поле. Условно, одинаковая сила может создать одинаковый результат.

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

Есть еще поток (одинаково) заряженных частиц,

«Ионизи́рующее излуче́ние (неточный синоним с более широким значением — радиа́ция) — потоки фотонов, элементарных частиц или атомных ядер, способные ионизировать вещество»(c) Вики. Определение не очень точное, но Ваши заряженные частицы сюда тоже подходят.

одинаковая сила может создать одинаковый результат.

Учитывая природу этой «силы», конструкцию ракеты, характерные размеры транзисторов и квантовую физику - это крайне маловероятно (можно считать что не может).

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

«Можно придумать защиту от дурака, но только от неизобретательного»(с) Мерфи

Какой мудрый человек.
Приходится бухгалтерскими задачами заниматься.
Так вот бухгалтера в основном «неизобретательны», но их - «не победить».

Владимир

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

алгоритм управления усложняет значительно.

Наоборот сильно упрощает, в модели акторов, упомянутой в статье, актор должен упасть сразу, безусловно и без любой попытки продолжить работу. Гипервизор тут же запустит другой актор (резервный процессор).

Но я могу ошибаться, не моя полянка.

А чего тогда споришь?

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