搜索

9.7. parallel Computation

download PDF

默认情况下,分布式流会尝试尽可能并行化。最终用户可以控制这一点,实际上它们必须始终控制其中一个选项。这些流的并行化方式有两种。

从最终用户从缓存集合创建流时,可以选择调用流或 parallelStream 方法时,对每个节点的 本地进程。https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html#stream--根据确定的并行流是否在本地为每个节点启用多个线程。请注意,一些操作(如重新哈希)和每个操作都会在本地使用后续流。在一些时候可以改进,允许本地并行流。

在使用本地并行性时,用户应该小心,因为它需要大量条目或操作(计算代价非常昂贵)。同样也应该注意,如果用户使用 的并行流,每个 操作不应该阻止,因为这会在通用池中执行,通常为计算操作保留。

当有多个节点时,可能需要控制远程请求一次是否同时处理远程请求。默认情况下,除了它执行并发请求外的所有终端操作。迭代器(iterator)用来减少本地节点上的总体内存压力,仅执行后续请求,实际上性能稍好。

如果用户希望更改此默认值,但是用户可以通过在 CacheStream 上调用 sequentialDistributionparallelDistribution 方法来实现。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.