I got a requirement, where I need to execute sequences on different intervals in run phase. (Example: Reset sequence, configuration sequence, link training sequence)
It looks like you are mixing two different things, reset_phase and reset_sequence.If you have a reset_sequence and a configuration_sequence you can run them in the run_phase in a serial order:
In run_phase you are executing:
(1) reset_sequence
sequence1
(2) configuration_sequence
sequence2
(3) link training sequence
sequence3
In this case you do not need the reset_phase and the configuration_phase.
In UVM run time phase is divided into multiple internal phases reset, configure, main, shutdown.
Seems like your intention is to call each sequence in the corresponding phase. To know more about those phases, refer this verificationacademy link
But as chr_sue mentioned, you could rather use run_phase by calling the reset, configure, ltssm sequences sequentially. Both will essentially be the same as reset, configure, main, shutdown will run sequentially but in parallel to the run() phase (to be backward compatible with OVM).
Note that the Accellera committee has identified that this phasing mechanism may be changed in future releases, so better to avoid using the internal phases of run() unless required; like in the case of reset-testing (where internal run phase jumping is required). It is outlined in this SNUG paper.