马斯克迷信冗余和民用低成本,然后瞎吹。他的失败是指日可待的。

【本文由“guan_qiu”推荐,来自《特斯拉用的Linux是高度定制的,拿Linux是分时操作系统说事,不专业不客观》评论区,标题为guan_qiu添加】

看来大家都对实时系统的概念混淆不清。实时是从real-time这个单词翻译过来的。但是对于实时的理解,军工圈和民用圈完全不同。

民用圈子里面是指的对事件响应的及时程度。好比你老婆短信问你下班了吗?你秒回老婆说今天下班没别的事儿,直接回家。对于你老婆来说你就是个秒回实时系统。但是你把手机放桌上,然后去茶水厅泡了杯咖啡,喝的时候还跟前台妹妹聊了聊春夏时尚。回到座上看见短信,再回说此刻回家。时间已经过去十分钟了。 对你老婆来说你这就不是个实时系统。民用的定义是在一定约定俗成可以接受和容忍的时间间隔内(比如3分钟)得到响应。就当这个是实时系统。虽然这个定义不对,但是一般人都这么理解。

军用和航太的实时系统就完全不是这么回事儿!得用另外一个词,叫做确定性时延。这个要做系统标定的。还是拿老婆来举例,规定你必须在她的短信一分钟(60秒)时候回信,59秒回不行,一分零一秒回也不行。这叫确定性时延,而且有可靠性的要求,就是要一百万次她给你短信,你做到九十九万九千九百九十九次一分钟回。你这就是个6个西格玛的1分钟响应实时老公。假设你老婆每天问你4次,那么你可以在685年的岁月里面响应十个老婆而几乎不会出错。

实时系统主要的用处在高精度测控,比如空间站控制的指令收发应答: 空间站距离地面500公里轨道上,信号单程1.7-9毫秒,来回3.8-4毫秒,对应答机的要求就是5ms后必须收到应答信号,是,不是 或者加上校对信息:比如信号序号,内容大小,校验位。这5毫秒里面空间站能运行多远呢?大约40米!如果为了空间避障,比如60公里外有危险障碍物,那么只有4-5秒的时间窗口可以避开。

那么理论上我发出的避障指令,应答机先回答收到,然后发出避障参数,应答机再回答收到,然后发出避障动作启动;假设空间站的姿态喷嘴有确定性时延要求,比如是50ms,应答机再说收到;动作机作动,应答机再说已经启动,这时多少毫秒过去?70毫秒,空间站移动了多少 560 米?假设避障最小距离20公里,那么控制站有最多十次的机会挽救空间站。十次以后,基本上干啥都来不及。所以高精尖系统的时延是至关重要,没有打折扣,不执行,不理解,不收到,不反应的。指定时间发生指定动作。还要十年如一日!

高端系统设计的工程师为了做到确定性时延和响应付出的工程代价往往是民用系统的百倍以上。

民用系统有个啥特点呢?一个就是开发出门的时候,万一用的架构师经验少,便宜,一开始做架构就错,然后整个团队继续打补丁,越打越烂越不可预测。跟那种便宜软件公司设计的一个德行。另外一个特点就是民用产品涉及的产品用户覆盖度广,往往在迭代策略上选择向下兼容,一个错误的架构会延续很长时间。所以特斯拉现在头铁死不承认是利益最大化的应对。一旦承认,那么不管是找回还是销售量下降都是灭顶之灾。马斯克这家伙不管是做汽车还是做火箭,都是迷信低价冗余,频繁迭代,用民用件,用产量换低成本,然后瞎吹。他的失败是指日可待的。从概率论上来讲,民用实时做出来的系统大部分时候其实也是能用的。但是不能承担关键任务肯定不允许失败的寄托和指望。

所以你问我特斯拉车子能不能用,肯定能用,大部分时候能用,啥时候不管用这个不好说,薛定谔!看人当时的想法,用户最好训练好“必须给我刹住!”,想法要坚定也许就刹住了。脑子里千万不要想:“完了,刹车失灵”,那肯定失灵。

希望各位用户:好人一生平安!

 

全部专栏