Можно ли замедлить время в виртуальной машине Java в соответствии с использованием ЦП путем модификации исходного кода OpenJDK? У меня есть сетевая симуляция (от Java до ns-3), которая использует реальное время и слабо синхронизируется с настенными часами. Однако, поскольку я запускаю так много клиентов в моделировании, загрузка ЦП достигает 100%, и жесткие гарантии относительно того, сколько времени события в симуляторе должны обрабатываться, не поддерживаются (т. е. большое количество очень поздних событий). Таким образом, симуляция достигает максимума около 40 узлов при большом сетевом трафике, и даже тогда это немного сомнительно. Идеальным решением было бы замедлить время в зависимости от процессора, но я не уверен, как это сделать успешно. Меньшее решение состоит в том, чтобы просто замедлить время в несколько раз (линзирование времени?).
Если кто-то может дать некоторые рекомендации, исходный код соответствующего файла (для Windows) находится по адресу http://pastebin.com/RSQpCdbD. Я попытался изменить некоторые части файла, но мои результаты не очень успешны.
Заранее спасибо,
Крис