LINUX.ORG.RU

non-realtime os virtualization

 , ,


0

3

Такой вопрос, допустим я хочу запустить приложение в виртуальной машине так, как будто она работает на машине с определенной частотой, соответствующим количеством тактов и прочее. В обычном случае производительность ограничена характеристиками хоста.

Вопрос: есть ли какой нибудь мод или плагин для виртуал бокса или другой подобный софт, чтобы можно было создать виртуальную машину с определенной конфигурацией, вне зависимости от мощности виртуализирущей машины способной отрабатывать все такты? В вакууме, дано: на пентиум 286 запустить очень тяжелый расчет. Допустим он занимает на нем нативно месяц.

А теперь создаем виртуальную машину на этом 286 с конфигурацией интел пентиум i7, запускаем то же приложение и с учетом виртуализации дополнительного енвайронмента тратим аж три месяца. Часы виртуализирумой системы после трех месяцев реальных расчетов считают, что прошло 2 минуты.

P.S. некоторые приложения учитывают загруженность машины, а задача получить релевантный результат, как будто ресурсов ровно столько как у заданной конфигурации. Если еще и можно делать полное свопирование и приводить время чтения с диска к ожидаемому времени чтения из ОЗУ то вообще идеально))

Каким-нибудь cpgroups ограничить в 1-5% cpu?

anonymous
()

Вряд ли что-то из имеющихся виртуалок даст тебе такую возможность. Скорее это можно было бы ожидать от qemu, т.к изначально оно эмулятор, а не виртуализатор. Но оно так тоже не поступает.

Вообще, виртуалки просто выполняют гостевой код так быстро, как могут с учетом задаваемых в виде % загрузки процессора ограничений. При этом они сильно не заморачиваются относительно таймингов эмулируемых процессоров, эмуляцией их кэша и прочими тонкостями.

unconfigured
()

А не проще это легаси реверснуть и переписать на сишке?

anonymous
()
Ответ на: комментарий от Deleted

Могу предоставить пример попроще. Если внутри гостевой системы подобного эмулятора поставить на таймер программу которая генерирует случайное число, сделать снепшот и запускать систему из этого снепшота сколько угодно раз, то при отсутствии любого ввода по таймеру вы всегда будете получать одно и то же число. Если полностью эмулировать всю систему и циклы чтения/записи из памяти, работу с регистрами и прочее, то можно полностью контролировать часы ос и глобальные часы эмулироемой системы отсчета в которой находится виртуальная машина. Все еще шиза?

preepunk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.