There are certainly systems around where two or more processors are performing the same task and the results are compared. I know of autmatic train controls that have two systems that should produce the same result, and if one of the system DOESN'T produce the same result, the emergency brake is "pulled" and the train stops until the driver pushes the "I notice the computer isn't working right" button. The two systems have software written by two different sets of developers, who are not sharing any information on how they go about implementing their solution so as to avoid "common errors because we both thought THIS should be solved this way".
Airplane electronic usually uses an uneven number and "majority voting" to select between multiple answers from different systems - it's a bad idea to just "stop" in an ariplane. Again, systems are using different software and often also different suppliers of for example processors and languages - so one system is written in C or C++, another in Java and the third one in Pascal or ADA [as an example] - to reduce the chances of a processor, language or compiler bug causing EVERY thing in the system from going "wrong".
From a previous job working with x86, I have looked into this in a fair bit of detail for a customer who wanted to have a "backup processor running in lock-step", and they had to use a modified compiler that added I/O instructions at decision points in the code [branches, calls, returns, etc] and then external hardware to ensure that the processors were actually in sync]. So, modern processors, including such ARM have enough "clever stuff" that is fairly "unpredictable" inside the processor that it's almost impossible to make two processors run in exact lock-step with each other. Sure you can get something that "performs the same task in the same amount of time", as long as you don't measure time TOO precisely.
Superscalar execution units, asynchronous interrupts, asynchronous(ish) memory controllers, caches, content of caches, all conspire to make one processor run just a little faster or slower than the other.
So, there is a limit to how precisely you can make the systems "sync".
Network Time Protocol (NTP) does have some pretty clever algorithms for setting/syncing the time between multiple systems, which allows several systems to have the same idea of "time". But bear in mind that again, there is a limit to "sameness". It is likely several microseconds.
So, whether you can "start at the same time" depends on what you mean by "same time". Is microseconds or milliseconds OK? If so, almost certainly possible. If you mean clock-cycles, then probably not.