Тестирование Java-программы на виртуальной машине с 1024 ядрами - PullRequest
0 голосов
/ 19 мая 2011

Я написал приложение Java (параллельно) и протестировал его на 16-ядерном компьютере, но мне нужно протестировать его на 1024-ядерном компьютере. Хотя я не могу получить доступ к любой такой физической машине.

Существуют ли способы запуска Java-программы на моделируемой машине с 1024 ядрами?

РЕДАКТИРОВАТЬ: Цель этого тестирования Я пытаюсь заменить блокировки с помощью протокола без блокировок в моем приложении, и запуск его на 16 ядрах дает мне хорошую производительность, но я хочу также протестировать его на более крупной базовой системе, чтобы выяснить узкое место. Есть идеи, можем ли мы сделать это с помощью виртуальных машин?

1 Ответ

1 голос
/ 19 мая 2011

Полагаю, вы спрашиваете, как запустить Java-приложение на симуляторе, который может симулировать более одного ядра.

Я не знаю, насколько это было бы эффективно, потому что на уровне металла у вас все еще было бы только 16 ядер, так что я понимаю, что только 16 вещей могут происходить одновременно.Из-за скорости машины может показаться, что происходит больше, но это не так.

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

Я не знаю, какой тип приложения вы пишете, который должен работать на таком оборудовании (взлом кода)«массовые симуляции»), но я ожидаю, что вам нужно будет установить накладные расходы на добавление большего количества ядер.Вероятно, вы могли бы сделать это, измеряя код на одном ядре, 2 ядра, 4 ядра, 6 ядер и т. Д. И экстраполируя.Но это все еще будет предположение, потому что могут быть другие аппаратные / программные факторы, которые включаются только после запуска определенного количества ядер.I / O например.

...