- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简介:
我目前正在开发一款软件,用多线程程序对顺序程序进行基准测试。我的硬件有 24 个可用内核和 16GB RAM。我的程序是用 Java 编写的,但由于需要绘图而从 MATLAB 执行。打开 MATLAB 后,将显示以下消息:
Picked up JAVA_TOOL:OPTIONS: -XX:parallelGCThreads = 8 - Xmx8g -Dsun.java2d.pmoffscreen = false
理论
现在按照Amdahl's Law最大性能提升定义为 1/(B-(1-B)/P),其中 B 是顺序分数,P 是处理器数量。就我而言,B = 0.01,(1-B = .99) 且 P = 24这使我理论上的最大性能提升约为 20。
现在,据我了解parallelGCThreads
它是可用垃圾收集器线程的最大数量。在对我的程序进行一些密集测试后,我能够实现的最大比率增加似乎是 7.5 倍,这与理论值 20 相差甚远。但是,如果我替换 P = 8,我得到的理论极限为7.8,与我的程序中获得的非常接近。
问题
是parallelGCThreads
实际上限制了线程的数量,使得阿姆达尔定律应该与 P = 8 而不是 P = 24 一起使用?
提前致谢!
最佳答案
Does parallelGCThreads actually limit the amount of threads such that Amdahl's law should be used with P = 8 and not P = 24?
没有。 GC 线程的数量不会直接影响程序在执行“实际”工作时的性能。 (如果程序产生大量垃圾,可能会影响它,但分析会相当复杂......而且它肯定不会取代阿姆达尔方程中的P
。)
您可以尝试调整parallelGCThreads参数来看看它有什么效果,但可能还有其他东西(不是GC)影响您的多线程性能,导致加速比低于您的预期。这很可能与应用程序有关;例如内存带宽争用,或 Java 锁争用。
FWIW - 多线程程序接近阿姆达尔定律设定的理论极限是不寻常的。
关于java - 是否-XX : parallelGCThreads = 8 relates to the number of Cores in relation to Amdahl's law?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21835101/
最近,我正在使用 jvm 选项来提高性能。当我了解 GC 选项 ParallelGCThreads 时,我遇到了问题。 我认为 ParallelGCThreads 的最佳值是逻辑处理器的数量。但在我的
这个问题在这里已经有了答案: How do i know which default settings are enabled for Sun JVM? (1 个回答) 关闭 5 年前。 我正在调整
配置G1GC时我们有两种线程数-XX:ParallelGCThreads 和 -XX:ConcGCThreads有什么区别,它们将如何影响,感谢任何引用。 最佳答案 G1 算法有一些阶段,其中一些是“
我设置 ParallelGCThreads=1 并使用 G1 GC,所有其他 JVM 设置都是默认设置。我在 Spark-1.5.1 上运行 PageRank,每个节点有两个 100 GB 堆的 EC
简介: 我目前正在开发一款软件,用多线程程序对顺序程序进行基准测试。我的硬件有 24 个可用内核和 16GB RAM。我的程序是用 Java 编写的,但由于需要绘图而从 MATLAB 执行。打开 MA
我是一名优秀的程序员,十分优秀!