5 ms·
More software is fine IMO. More software on critical path ain't. Have the ECU only do the engine thing. Have the AC control just do AC control. Decouple depend
by ilyt 4y ago
More software is fine IMO. More software on critical path ain't.
Have the ECU only do the engine thing. Have the AC control just do AC control. Decouple dependencies and make it as simple as possible. Old cars already do it. Blinker switch send signal directly to light controller, not to some central box deciding what it should do with it.
If something needs config in addition to control signals, have it keep it own config and only be updated from the "config manager" (inforatinment box). If infotainment box dies, everything else still works.
Cars already are basically "microservices on a message bus". Let's just use what works with that - minimal coupling and maximum independence of "services"
> Had I been in a less complex car, a local garage could most likely have fixed the problem and sent us on our way. The sophistication and gadgets in modern cars are great until something goes wrong then they fail hard. Small local garages that used to be a life saver are next to useless now as they don't have the tools and knowledge to fix a mobile data centre.
Out of curiosity, what was the issue ?
- capableweb 4y ago> More software is fine IMO. More software on critical path ain't. Based on the story in the parent, it sounds like this was precisely a problem with software on the critical path, otherwise local mecs/breakdown service would have been able to fix it rather than give up.
- bottled_poe 4y agoYou know what this car needs? Kubernetes.
- rurounijones 4y agoI know you are joking but I am not sure if you are aware of how close you are to reality: https://thenewstack.io/how-the-u-s-air-force-deployed-kubernetes-and-istio-on-an-f-16-in-45-days/ https://thenewstack.io/how-the-u-s-air-force-deployed-kubern...
- davnicwil 4y agoThat's a bit overengineered, come on, really it just needs docker compose.
- cztomsik 4y agoOr Erlang... oh wait, that would actually work. We don't want that.
- yellowapple 4y agoA car built on Erlang would break down every 11 seconds but would immediately fix itself so you never notice anything's wrong.
- hinkley 4y agoSupervisors should set Check Engine.
- chubot 4y agoMake sure to run at least 2 clusters in case one goes down
- djbusby 4y agoCarbernetes. Now with reinvented wheel functionality.
- EntrePrescott 4y agoand a few years later, we get Injecternetes … though I'm not sure if that will be the name of an improved fork… or the name of a security vuln exploit.
- gautamdivgi 4y agoLol. Reminded me of this - https://youtu.be/cfTIjuW6SWM https://youtu.be/cfTIjuW6SWM Fwiw - I am a kubernetes fan. Just not in cars.
- Spivak 4y agoIf you're a k8s fan but don't consider it reliable enough to do anything even next to but independent from safety critical systems then that's not exactly a glowing recommendation.
- gautamdivgi 4y agoDifferent tech has different needs. I can see it being really great with server side distributed systems. I don’t really see it having any benefit for running stuff in resource constrained single purpose environments
- goodpoint 4y agoAnd yet it's true. Reliability never comes from unnecessary complexity.
- hinkley 4y agoWatch us slowly reimplement Erlang on top of OCI.
- Spivak 4y agoErlang but language independent is actually a solid pitch.
- alpaca128 4y agoTo be precise an incomplete, bug-ridden, undocumented reimplementation of Erlang.
- hinkley 4y agoI keep having to stop myself from implementing an incomplete, bug ridden reimplementation if half of Erlang on top of NodeJS so I see the attraction there. Worker threads have a garbage API and I keep finding myself wanting to have n processes sharing m workers and there’s just no easy way.
- birdyrooster 4y agoI know you are joking but it’s actually not the worst thing in the world.
- geodel 4y agoAgree. I am not buying any car not running all software components as Spring Boot micro services in kubernetes cluster as a standard cloud native service. If this setup can run my 95% uptime enterprise apps, I am sure as hell it can run my car too.
- ilyt 4y agoMost infotainment is already shit code. If same people use more tools the result will just be worse, if they can't even handle a monolith
- kakoni 4y agoWell Volkswagen/Cariad is certainly flirting with that idea. https://datatronic.hu/en/containerisation-in-automotive-industry/ https://datatronic.hu/en/containerisation-in-automotive-indu...
- hghid 4y agoAccording to the car, the stability control system wasn't working. Cause? Obviously a broken fuel injector. The stability control system talks to the engine ECU to control the torque if there is a lack of traction - it is notified of this by the ABS computer. Broken Injector=No ability to manage torque, hence traction control warning. Sitting here now, that makes perfect sense. In horizontal Scottish rain - less so!
- hinkley 4y agoMy car has a button for traction control. If it’s not working I would expect it to turn itself off and ding, not just halt the vehicle.
- BenjiWiebe 4y agoA bad fuel injector should usually be a reason to stop driving. Depending on the type of damage it would likely damage the piston and/or cylinder fairly quickly if you attempted to keep running it.
- jsmith45 4y agoThat would obviously depend on the failure mode. But there certainly are failure modes which could be quite damaging, and an ECU may have limited ability to determine what failure mode is occurring, and even if it has sensors that can indicate certain failure modes, it is not always clear if those can be trusted, as they there be additional failure modes that make sensors give misleading results. So shutting it down certainly seems sensible.
- ClumsyPilot 4y agoThere are situations where you must run the car, even at the risk of damage, because waiting for help is dangerous to the occupants.
- danuker 4y agoBut what cash grabbing opportunity would the dealer have in that case?
- speed_spread 4y agoThe ECU wasn't doing the engine thing no more.
- Zaskoda 4y agograceful degradation ftw
- LoganDark 4y ago> More software is fine IMO. A lot of software is created on powerful developer machines. But fill up a normal consumer machine with this software, and you start to notice that it maybe isn't so fine. This is how things like Electron come to exist. I'm sure Electron works fine on developer machines, but once it trickles down to someone's cheap Celeron netbook, it runs worse than retro computers with 384KB of RAM. Does it really have to be this way? Is more software "fine", if the same could be accomplished with much less code bloat? P.S. As far as I've heard, one of the best ways for developers to combat this is to target your software for cheap netbooks proactively; test compiled artifacts there rather than on your powerful development machine. If you can make it fast in that situation, it'll be fast pretty much anywhere. I once met someone who had optimized their DOOM clone using this method, and they claim to get millions of FPS on any vaguely modern machine, just through optimizing it for cheap netbooks.
- sidewndr46 4y agoeconomically, this doesn't work. The cheaper cars will always be those that roll all functions into a single cost center. This is why cars wind up with a horribly awful touch screen in the center for controlling almost everything about the car's function.