问题标签 [multicore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何让 Ruby 或 Python 网站使用多核?
尽管Python和Ruby每个解释器线程都有一个内核线程,但它们有一个全局解释器锁 (GIL),用于保护可能共享的数据结构,因此这会抑制多处理器执行。即使那些用 C 或 C++ 编写的语言中的部分可以是自由线程的,除非您使用多个进程,否则纯解释代码是不可能的。实现这一目标的最佳方法是什么?使用 FastCGI吗?创建集群或虚拟化服务器场?使用它们的 Java 等价物 JRuby 和 Jython?
multicore - 您今天推荐哪种并行编程模型来利用明天的众核处理器?
如果您今天从头开始编写一个新应用程序,并希望它扩展到您明天可以投入使用的所有内核,您会选择哪种并行编程模型/系统/语言/库?为什么?
我对这些轴上的答案特别感兴趣:
- 程序员生产力/易用性(凡人能成功使用吗?)
- 目标应用领域(它(不)擅长什么问题?)
- 并发风格(它是否支持任务、管道、数据并行、消息......?)
- 可维护性/面向未来(20 年后还会有人使用它吗?)
- 性能(它如何在什么样的硬件上扩展?)
我故意模糊应用程序的性质,以期获得对各种应用程序有用的良好一般答案。
multithreading - 在未来的多核计算机中,哪种编程范式最成功?
今天,我们中的许多人在我们的桌面上有两个或更多的 CPU 内核。大多数应用程序的工作方式与我们只有一个内核时的工作方式非常相似。
但是当一台典型的台式机有 1000 多个内核时呢?
那么我们将使用什么编程范式。我们当前的线程和同步解决方案很少能很好地扩展到这么多内核。
你认为 Thread 类在 JDK 中被弃用了吗?
multithreading - 如何编写无锁结构?
在我的多线程应用程序中,我看到其中存在严重的锁争用,从而阻碍了跨多个内核的良好可扩展性。我决定使用无锁编程来解决这个问题。
如何编写无锁结构?
programming-languages - 多核和并发 - 语言、库和开发技术
CPU 架构格局发生了变化,多核是一种趋势,它将改变我们开发软件的方式。我用 C、C++ 和 Java 做过多线程开发,我用各种 IPC 机制做过多进程开发。对于开发人员来说,使用线程的传统方法似乎并不容易使用支持高度并发的硬件。
您知道哪些语言、库和开发技术有助于缓解创建并发应用程序的传统挑战?我显然在考虑死锁和竞争条件等问题。设计技术、库、工具等也很有趣,它们有助于实际利用并确保利用可用资源——仅仅编写一个安全、健壮的线程应用程序并不能确保它使用了所有可用的内核。
到目前为止我看到的是:
- Erlang:基于进程,消息传递 IPC,'actor 的并发模型
- Dramatis:Ruby 和 Python 的演员模型库
- Scala:用于 JVM 的函数式编程语言,增加了一些并发支持
- Clojure:用于 JVM 的函数式编程语言,带有演员库
- Termite : Erlang 进程方法和消息传递给 Scheme 的一个端口
你还知道什么,什么对你有用,你认为什么有趣?
c# - 如何让我的代码在多核上运行?
我已经用 C# 构建了一个应用程序,我希望针对多核进行优化。我有一些线程,我应该做更多吗?
更新了更多细节
- C# 2.0
- 在 Windows Vista 和 Windows Server 2003 上运行
再次更新
- 此代码作为服务运行
- 我不想拥有完整的代码......我的目标是获得您的经验以及如何开始。就像我说的,我已经使用过线程。我还能做什么?
parallel-processing - 多核的 MPI?
随着最近关于多核编程的热议,有人在探索使用MPI的可能性吗?
multithreading - 哪些 CPU 架构支持比较和交换 (CAS)?
只是想知道哪些 CPU 架构支持比较和交换原子原语?
c++ - 高级比较和交换 (CAS) 函数?
我想记录哪些高级(即 C++ 不是内联汇编器)函数或宏可用于比较和交换(CAS)原子原语......
_InterlockedCompareExchange
例如,x86 上的 WIN32在标头中有一系列函数<_intrin.h>
。