I have fond memories of implementing an optimizing compiler for the CS241 compiler course offered back then by Prof Michael Franz who was a student of Niklaus Wirth, probably the most exhilarating course during my time at UC Irvine. This was in 2009 so my memory is vague but I recall he provided a virtual machine for a simple architecture called DLX and the compiler was to generate byte code for it.
>Effectively, eight CPUs run the flight software in parallel. The engineering philosophy hinges on a
>“fail-silent” design. The self-checking pairs ensure that if a CPU performs an erroneous calculation
>due to a radiation event, the error is detected immediately and the system responds.
>“A faulty computer will fail silent, rather than transmit the ‘wrong answer,’” Uitenbroek explained.
>This approach simplifies the complex task of the triplex “voting” mechanism that compares results. >
>Instead of comparing three answers to find a majority, the system uses a priority-ordered source
>selection algorithm among healthy channels that haven’t failed-silent. It picks the output from the
>first available FCM in the priority list; if that module has gone silent due to a fault, it moves to
>the second, third, or fourth.
One part that seems omitted in the explanation is what happens if both CPUs in a pair for whatever reason performs an erroneous calculation and they both match, how will that source be silenced without comparing its results with other sources.
These CPUs are typically implemented as lockstep pairs on the same die. In a lockstep architecture, both CPUs execute the same operations simultaneously and their outputs are continuously compared. As a result, the failure rate associated with an undetected erroneous calculation is significantly lower than the FIT rate of an individual CPU.
Put another way, the FIT (Failure in Time) value for the condition in which both CPUs in a lockstep pair perform the same erroneous calculation and still produce matching results is extremely small. That is why we selected and accepted this lockstep CPU design
the probability of simultaneous cosmic ray bit-flip in 2 CPUs, in the same bit, is ridiculously low, there might be more probability of them getting hit by a stray asteroid, propelled by a solar flare.
but still, murphy's law applies really well in space, so who knows.
In the Shuttle they would use command averaging. All four computers would get access to an actuator which would tie into a manifold which delivered power to the flight control surface. If one disagreed then you'd get 25% less command authority to that element.
I think the Shuttle, operating only in LEO, had more margin for error. Averaging a deep-space burn calculation is basically the same as killing the crew.
Sure, but these maneuvers aren't done realtime and aren't as time-sensitive; a burn is calculated and triple checked well in advance. If there was an error, there's always time to correct it.
In the case of moon landings, the only truly time-critical maneuvers are the ones right before landing... and unfortunately, a lot of fairly recent moon probes have failed due to incorrect calculations, sensor measurements, logic errors, etc.
The GNC loop runs several times per second. The desired output will consequently be increased by the working computers to achieve the target. The computer does not "dead reckon" anything.
Travelling through Max-Q in Earth atmosphere on ascent is far more dangerous.
Fucking up the re-entry burn or thruster actuation during the burn for re-entry = loss of vehicle/crew
Improper control surface actuation during re-entry = loss of vehicle/crew
Also, rocket engines that are powered by the combustion of their fuel and oxidizer (the exhaust gasses of which drive the main pumps) have a very specific startup sequence. For example, if any of the combustion chambers have a mix of oxygen and hydrogen too close to stochiometric when the igniters fire, you get an explosion, not a burn. Not too dissimilar from what happens in car engines when you get detonation (which is very different from knocking. Detonation melts holes in stuff.)
Startup initially is open-loop with no feedback or adjustment based on sensors and then at some point the computer switches over to closed loop control. It starts with hydrogen first. The sparklers? Those aren't for igniting the engine, that's done by igniters inside the combustion chamber(s). The sparklers are to ignite all the hydrogen that is pushed out the nozzle initially so there's a very fuel-rich environment in the engine and it doesn't go kaboom.
If things go wrong - such as a valve not opening as fast as it should, or not being opened the right amount at the right time - the engine goes kaboom. This happened to a bunch of engines during development and testing.
But Artemis has basically the same engines, so...shrug
OTOH, consider that in the "pick the majority from 3 CPUs" approach that seems to have been used in earlier missions (as mentioned in the article) would fail the same way if two CPUs compute the same erroneous result.
I initially found this odd too. However, I think the catastrophic failure probability is the same as the prior system, and presumably this new design offers improvements elsewhere.
Under the 3-voting scheme, if 2 machines have the same identical failure -- catastrophe. Under the 4 distinct systems sampled from a priority queue, if the 2 machines in the sampled system have the same identical failure -- catastrophe. In either case the odds are roughly P(bit-flip) * P(exact same bit-flip).
The article only hints at the improvements of such a system with the phrasing: " simplifies the complex task", and I'm guessing this may reduce synchronization overhead or improve parallelizability. But this is a pretty big guess to be fair.
Indeed. It seems like system 1 and 2 could fail identically, 3, 4, 5, 6, 7, 8 are all correct, and as described the wrong answer from 1 and 2 would be chosen (with a "25% majority"??).
Maybe I am being foolishly optimistic, the section in the video (~ 4:50) where it is mentioned that some giant seed corporation is staying the course betting that this thing will blow over in a quarter or so actually gives me some hope ?
IMO, which isn’t worth a lot, it’ll go on as long as Trump refuses to eat crow. China hunkered down under extreme duress during COVID and emerged stable. We barely managed to survive much milder restrictions. And that was a global natural disaster of no one’s choosing. In this situation it’s all artificial, but it stokes the nationalism of literally every other country than America. The imperialism and condescension at work, the pure malice towards our allies and partners, it all works against America. China will never bend and nor do they need to or should they. In fact at this point it’s probably a point of national pride to maximize the embarrassment of Trump, and national strategy to push him into a corner hoping he lashes out more and further isolates America from its partners. This is an opportunity for China to break out of the corner America and its partners put it into and flip the roles. Once done, and Trump is neutered and America reduced, China will have a clear path to ascendancy as the primary global super power.
I’m actually not sure this is all bad. A flatter more multipolar world is probably better for everyone, including America. But I think it’ll be a tough time in our history and the people who voted for Trump will be the ones who bear the most pain for his delusional misunderstanding of the way the world actually is vs what he wishes it were.
But if I were to put $5 down, I’d wager this lasts until the GOP political fortunes have been decimated through their hubris and magical thinking and Trump is personally hung out to dry for his strategic blunder in launching a 195 front war.
It definitely isn't better for America or the world. We had a "flatter more multipolar world" during the "long 19th century". Pax Americana is certainly subject to a lot of valid criticism, but it was an even bigger mess before that.
Except I think as long as the “new world order” built around globalized trade networks of interdependence and agreements with dispute arbitration that China and the EU are leaning into was the framework Pax America built and was built to withstand unilateralism. Global organizations built around mutual benefit are ultimately going to win the day here, and it’ll be without American leadership - which will solidify the power of those organizations independently and through multiple power players rather than one. This is probably better than the prior order, and distinctly different than the pre-WW2 order.
Mostly because everyone has benefited so much from the world order as it exists that no one really wants to lose it other than some fringe wackos. China definitely is a huge winner in the current world construction, Europe as well. The only losers are those that actively fight it - Russia, North Korea, and Iran. I think very few countries really see global domination through conquest as a legitimate goal, and the domination through trade alliances is more enriching, stabilizing, and easier to maintain. China especially I think has little desire beyond Taiwan and the south China seas as trade dominance allows them all the wealth of empire without the administrative headache of managing the internal affairs of conquest states. It’s better to have nations in debt to you than to own their problems.
I feel like relying on this thesis that people won't overthrow the world order because everyone has benefited so much is an odd choice at this particular moment.
We had a flatter more multipolar world primarily run by the Church and imperialist absolute monarchies. There is no reason to assume a world not dominated by American imperialism but primarily made up of modern democracies and republics must revert to a 19th century status quo.
There's also no reason that whatever it does look like would be better than that, or even that the "modern democracies" we currently have would actually survive.
I disagree. The biggest destabilizing force in the world right now is the US. The loss of American superpower status will make the world and its democracies more stable practically by definition.
You might argue that absent American military hegemony, Russia and China become belligerent. But the US isn't really doing much about either, so that's a moot point. All the world really loses is America's interference in their affairs, which I think the world can do without.
I've also read that China's leadership really learned from the experience of the tarrifs during the first Trump admin. They made strategic changes that they wouldn't be vulnerable to that again. They spent the last 4+ years preparing, unlike the US which got maybe a quarter to stockpile and prepare. The asymmetry is huge.
The republicans in congress are so lost in the sauce that they won't challenge the great orange hope in the quarter. The soonest I think we can see anyone fighting back, politically, won't happen until the midterms AT BEST.
This is assuming that the republicans/trump don't come up with some issue that they can swing the midterms on and/or don't gut the electoral system to the point that they can't lose.
And even then I'm not sure that congress can actually do anything to fix this issue while trump is still in the white house and impeachment and removal seems unachievable. Say congress reverses it's delegation of tarrif power to the president. What happens if trump just does not obey congress, much like they are not obeying the supreme court. Do the republicans in congress have enough of a spine to actually remove him? How do we assure that removal actually takes place in the event that we can even meet the threshold? The man still, ostensibly, still has control of the military. Perhaps the military, secret service, any other guys with guns just refuses to help him resist congress like they did when he tried to deploy the military after jan 6th.. but they seem to have already cleaned house at the pentagon, with hagseth getting rid of more people who aren't sufficiently loyal enough to do crimes and/or coup the fucking government for trump.
It takes 20 of 53 Republican senators for impeachment. That's a high bar, but Nixon was close when he resigned.
Useful reading: "How the Good Guys Finally Won" (1975), by Jimmy Breslin. This covers how Nixon and Agnew were ejected. The Internet Archive has full text.[1]
The Republicans are the party of Trump. You're going to get nowhere near 20 out of 53 to convict. They will not let him get thrown out of office.
If they didn't vote for impeachment in the two times he was impeached in his first term, and if they supported him after January 6th then they're not going to vote for impeachment now.
The Republicans under Nixon were the same party in name only, and they did not have the same blind loyalty to Nixon. They had opposing voices. They had separate factions. Now the only faction is Trump-worship.
The senate is less the party of Trump as they have to win state wide elections and Trump barely beat Harris. They also tend to have longer tenures that spans presidents. While he is ascendant he can command loyalty, but once his ship is sinking the rats will abandon him faster in the senate than the house. The house takes care of itself with its relatively rapid turnover, making incumbents more likely to stick by him. There are a handful of sycophant senators that would have trouble distancing themselves too much, but they are also well known chameleons so I think no one would be surprised when they flip.
The real test will be the summer and fall as natural disasters and the accumulation of cuts and the trade war all converge into a crescendo of negativity.
We went through all this during his previous term. They GOP Senate had the perfect excuse to make a break with the past during the impeachment following January 6, all they had to do was huff and puff a bit and stand on the Constitution, and they could have moved on with their political lives. But they fielded a bunch of BS excuses and stood behind the guy who called a rally that resulted in the Congress being overrun and trashed by a mob. Only a few voted to remove him from office.
It's worth considering the possibility that as a party they're nowadays more into fascism than republicanism. Rome was a republic too, until it wasn't.
I think of Trump as a Sulla like figure - not the guy who ends the republic but who cracks the republic opening the door to someone more calculating - Julius Caesar.
The difference though is the Roman republic had a constitutional order that was implicit rather than explicit. The American constitution and bill of rights is very difficult to change, and the order is fairly explicit. This was intentional with the assumption that even if a Sulla like figure emerges and consolidates power, it’ll revert over time to a liberal humanist republic. The anti federalists examine this in some depth and the scenario we are in was definitely considered carefully. It’s remarkable it took 249 years - but it was 430 years before Sulla seized the dictatorship by declaring emergency powers and cracked the constitutional order of Rome.
Small but important nitpick: Senators first have to win their primaries. That's where they're most vulnerable. Followed by fund raising (access to major donors), probably.
It's a party of spineless hypocrites... given the choice of the embarassment, admitting they were wrong, and coming out somewhat ok vs. the choice of supporting a dictatorship that erodes free and fair elections, my pessimism says most Republicans will vote for the latter. As a bonus, they'll get to have Trump-level immunity. Then it'll be a simple email to the businesspeople of the state asking who wants to be an oligarch, start opening your wallets. And for the weekend fun, line up those girls (and boys!) and get grabbin'!
I'm wondering how this will change if the US goes into a deep recession. Polling at the Business Roundtable indicates that support for Trump takes a dive at the CEO level when the market is down 20%. 30% for the hardcore Trump supporters.
I am super curious to know what kind of software magic they did to bring the NDL system as the primary navigation system after their own system failed to function prior to landing .. From what I understood listening in to the broadcast, NDL was only a demonstration project and folks somehow managed to bring it up on demand and use 2 of the sensors on it (?) iirc .. Like how !? Was NDL set up in the same orientation as their original system ? If not, they updated their guidance system on the fly too !?? Simply amazing
Yes it sounds like they had to do some MacGyver level stuff at the last minute. As I understand it NDL (Navigation Doppler Lidar) was a NASA project bundled aboard the craft as a non-mission-critical demo but when the main naviagation failed they had to send a patch to the craft (about two hours before landing) to activate NDL and use it as the main navigation. Hoping more details come out about this.
I doubt they had the time to pull MacGyver stuff. This scenario was most likely already predicted and tested and it was a matter of changing configurations.
Why? Here the asset used as collateral is a commitment to return the money if the loan isn’t repaid. Imagine I bought gold back when gold was 100$ , it’s current price is 1000$ and now I use it as collateral to get a loan . How is it fair that I have to pay taxes on 900$ of unrealized gains ?
No they didn’t because until the loan is repaid you can’t use whatever gold you put up for other purposes can you. What became tangible is what you used the loan for , that is what can be taxed.
Does the iPhone 14 still have the battery glued to the back? Couldn't figure it out from reading the article. I recently replaced the battery on my old iPhone 6s using the ifixit repair kit. Of all the steps I found removing the tape attached to the battery was the flakiest/hardest operation. After many attempts I did remove it but I also ended up cracking the battery a bit :sigh:. Any changes that make the removal of the battery easier would be a great win for repairability.
You have pq(original number) and (p-1)(q-1). You could get (p + q) = pq+1-(p-1)(q-1). Then we know p and q satisfies x^2-(p+q)x+pq=0. You could solve this quadratic equation using quadratic formula to get p and q.
Google search points me to https://github.com/cesarghali/PL241-Compiler/blob/master/DLX... for a description of the architecture and possibly https://bernsteinbear.com/assets/img/linear-scan-ra-context-... for the register allocation algorithm