不详细介绍我的算法,只是给出一些实验结果。对于某些给定的输入,我的 Java 顺序算法在我的笔记本电脑上运行 4 秒(Intel Core i5 430M - 2 核,4 线程,2.27 GHz,4Mb 缓存,3Gb 内存)。该算法的并行版本使用 1 个线程工作 6 秒,使用 2 个线程工作 5 秒,使用 3 个线程工作 4 秒。如果我通过 ssh 在 amazon ec2 上运行它,无论有多少线程,顺序时间为 6 秒,并行时间为 6 到 7 秒。
为什么你认为它更慢?因为亚马逊使用虚拟机并且在那里运行的代码比较慢?你的经验是什么?
我有一个应用程序,我想在具有大量内存和计算能力的环境中进行测试。目前它在亚马逊上是不成功的。
我使用普通的 Java 对象和hppc
外部库(高性能原始计算库)。没有数据库和花哨的东西。
实例类型是c1,也许是这个(如果正确我会尽快告诉你,我知道是c1,但不知道是中型还是大型):
High-CPU Extra Large Instance
7 GiB of memory
20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)
1690 GB of instance storage
64-bit platform
I/O Performance: High
EBS-Optimized Available: 1000 Mbps
API name: c1.xlarge