我可以同时 运行 两个单独的 jupyter notebook 文件,而不会在一台 CPU 计算机上变慢吗?
Can I run two seperate jupyter notebook files at the same time, without slowdown on a single CPU computer?
我目前正在 运行在 jupyter notebook 中使用 python 功能,这需要相当长的时间。 Python 说 运行ning 大约占 CPU 的 98%,但是,我的 CPU 中仍有大约 60% 未使用。现在,经过一些谷歌搜索后,我发现这与我的处理器线程有关(我不是计算机工程师,如果这不正确,我深表歉意)。但是,我想知道是否可以 运行 jupyter notebook 中的另一个函数,它会占用 60% 未使用的部分 activity,还是将 99% 分配给两个函数,减慢两个功能。我希望你们能帮忙。如果有任何不清楚的地方,请告诉我。
P.S。我使用的是 2012 年末的 macbook pro Retina(我知道),2.5 GHz 英特尔酷睿 i5,8 GB 内存。它有两个内核和一个处理器。
您有英特尔 Sandybridge 或 Ivybridge CPU。它有两个带超线程的物理内核,因此它可能显示为 OS.
的 4 个逻辑内核
每个核心都有自己的私有 L1i/d 和 L2 缓存,但 L3(和内存带宽)在核心之间共享。
运行 另一个物理 CPU 上的单独进程或线程可以通过这些机制减慢第一个:
- 双核最大 Turbo 时钟速度低于单核 Turbo。
- 它们竞争内存带宽和 L3 缓存占用空间。 (即更多的 L3 缓存未命中)。
如果 L3 缓存未命中和内存带宽不是您工作负载的重大瓶颈,那么将两个内核用于单独的任务几乎是绝对的胜利。
运行 4 个线程(因此 OS 必须将任务安排到每个物理内核的两个逻辑内核上)会降低速度,但这在很大程度上取决于工作量。有关 HT 如何静态分区或动态共享各种执行资源的 asm / cpu 架构详细信息,请参阅 Agner Fog 的微架构指南 (http://agner.org/optimize/)。但真的只是尝试看看。
可能单个线程会因缓存未命中和纯吞吐量以外的其他瓶颈而出现一些停顿,因此您可以通过超线程以牺牲单核性能为代价获得一些吞吐量。
我目前正在 运行在 jupyter notebook 中使用 python 功能,这需要相当长的时间。 Python 说 运行ning 大约占 CPU 的 98%,但是,我的 CPU 中仍有大约 60% 未使用。现在,经过一些谷歌搜索后,我发现这与我的处理器线程有关(我不是计算机工程师,如果这不正确,我深表歉意)。但是,我想知道是否可以 运行 jupyter notebook 中的另一个函数,它会占用 60% 未使用的部分 activity,还是将 99% 分配给两个函数,减慢两个功能。我希望你们能帮忙。如果有任何不清楚的地方,请告诉我。
P.S。我使用的是 2012 年末的 macbook pro Retina(我知道),2.5 GHz 英特尔酷睿 i5,8 GB 内存。它有两个内核和一个处理器。
您有英特尔 Sandybridge 或 Ivybridge CPU。它有两个带超线程的物理内核,因此它可能显示为 OS.
的 4 个逻辑内核每个核心都有自己的私有 L1i/d 和 L2 缓存,但 L3(和内存带宽)在核心之间共享。
运行 另一个物理 CPU 上的单独进程或线程可以通过这些机制减慢第一个:
- 双核最大 Turbo 时钟速度低于单核 Turbo。
- 它们竞争内存带宽和 L3 缓存占用空间。 (即更多的 L3 缓存未命中)。
如果 L3 缓存未命中和内存带宽不是您工作负载的重大瓶颈,那么将两个内核用于单独的任务几乎是绝对的胜利。
运行 4 个线程(因此 OS 必须将任务安排到每个物理内核的两个逻辑内核上)会降低速度,但这在很大程度上取决于工作量。有关 HT 如何静态分区或动态共享各种执行资源的 asm / cpu 架构详细信息,请参阅 Agner Fog 的微架构指南 (http://agner.org/optimize/)。但真的只是尝试看看。
可能单个线程会因缓存未命中和纯吞吐量以外的其他瓶颈而出现一些停顿,因此您可以通过超线程以牺牲单核性能为代价获得一些吞吐量。