简体   繁体   English

在虚拟1024核心计算机上测试Java程序

[英]Testing a Java program on a virtual 1024 core machine

I have written a Java application (parallel), and have tested it on a 16 core machine, but I need to test it on an up to 1024 core machine. 我已经编写了一个Java应用程序(并行),并已在16核计算机上对其进行了测试,但是我需要在最多1024核计算机上对其进行测试。 Though it's not feasible for me to get access to any such physical machine. 尽管对我来说访问任何这样的物理机器都是不可行的。

Are there ways of running a Java program on a simulated 1024 core machine? 有没有办法在模拟的1024核心计算机上运行Java程序?

EDIT: Purpose of this testing I am trying to replace locks using lock-free protocol in my application , and running it on 16 cores is giving me a good performance, but i want to test it on larger core system also, to find out bottle-neck. 编辑:此测试的目的是我尝试在应用程序中使用无锁协议替换锁,并在16个内核上运行它给我带来了良好的性能,但我也想在更大的内核系统上进行测试,以找出瓶颈-颈部。 Any idea whether we can do so using virtualmachines ? 知道我们是否可以使用虚拟机吗?

I presume you are asking how to run a java app on a simulator that can simulate more than one core. 我想您正在询问如何在可以模拟多个核心的模拟器上运行Java应用程序。

I don't know how effective it would be because at the metal level you would still only have 16 cores so my understanding would be that only 16 things can happen at the same time. 我不知道这样的效果如何,因为在金属级别上,您仍然只有16个内核,所以我的理解是,同一时间只能发生16件事。 Due to the speed of the machinery it might appear that more is going on, but it's not. 由于机械的速度,似乎正在发生更多的事情,但事实并非如此。

So I'm thinking you need to outline what sort of test you are thinking of because some tests might be ok on a simulator (probably running multiple threads to simulate the extra cores), but other tests would probably not. 因此,我认为您需要概述正在考虑的测试类型,因为在模拟器上可以进行某些测试(可能需要运行多个线程来模拟额外的内核),而其他测试则可能不可行。

I don't know what type of app you are writing that would need to run on such machinery (code breaking? massive simulations ?) but I'd expect what you would be looking for was to establish the overhead of adding more cores. 我不知道您要编写哪种类型的应用程序才能在此类机器上运行(代码破解或大规模仿真?),但是我希望您会寻找建立更多内核的开销。 You could probably do this by measuring with the code on one core, 2 cores, 4 cores, 6 cores, etc and extrapolating up. 您可以通过测量一个内核,2个内核,4个内核,6个内核等上的代码并进行外推来做到这一点。 But it would still be a guess because there may be other hardware/software factors that only kick in after a certain number of cores are running. 但这仍然是一个猜测,因为可能还会有其他硬件/软件因素在运行一定数量的内核之后才起作用。 I/O for example. 以I / O为例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM