My choice is LS-DYNA. LS-DYNA has extensive contact capability and has been used for decades to model the complex contact that occurs in vehicle crash analysis. For large problems, the parallel versions is available. Since you will be running for about one million cycles, it is critical that you monitor the energies to assure that the solution is stable.
Dynamic -explicit method, under Abaqus software ,can be used, with many realistic interaction models, you can test many examples in documentation library, but I think, it is not simple to simulate 1 million cycles for a realistic time, my be possible for simple parts geometries and uses of time scaling.
Both Abaqus and LS-DYNA can give you not correct result because of your requirement "for about a million cycles" Either numerical error or computational time is becoming large due to time integration scheme involved in both cases.
In this case /depending on the effect which you are simulating/ you badly need so-called "Energy conservative time integration scheme", which are constructed especially for the cases "about a million cycles"