Add rate correction to the SourceRunnable.
When source node used nanoseconds, the accuracy of transfering high bit
rates gets lower. Rate correction will dynamically adjusts sending rates
to meet the requirement in work specification.