多核新观念-象使用内存一样使用CPU?
来源:互联网 发布:快速问医生软件 编辑:程序博客网 时间:2024/05/20 22:40
多核新观念-象使用内存一样使用CPU?
多核时代,很重要的一点就是要将多个CPU核同时运转起来,提高CPU的利用率,说得专业一点就是要提高多核CPU的加速比系数。
但是并不是任何时候都可以同时将多个核运转起来,比如一些不能并行化执行的代码,特别是使用了锁的代码,它的执行是串行化的,无法同时利用多个核,还有负载平衡问题,多个任务无法划分得很均匀,导致实际情况中有些任务先运行完,有些任务后运行完,先运行完的CPU核就处于空闲状态。
是不是任何时候都需要将多个核利用到极致呢?答案是否定的,比如一个服务器软件,如果只有一个客户端连接过来,那么只要用一个核来处理这个请求已经绰绰有余了,何必非要同时将多个核同时运行起来呢? 再比如在客户端软件中,客户做了一个操作后,机器只是进行一个时间非常短的运算就结果返回给用户,然后机器处于空闲状态直到用户的下一次操作为止,在这种情况下,由于机器运算量很小,一个核进行运算完全能够满足用户所需的性能需求,就没有必要同时利用多个核进行运算,因为很小的计算量情况下,多个核同时运行效率可能还不如一个核。
既然有那么多情况下不需要多个核同时进行运算,那么买多核的机器干什么? 这不由得将CPU和内存比较起来,比如装了一个2G内存的机器,其实很多情况下是不可能将2G的内存都用完的,但是当运行一些大的应用,或者玩一些大型游戏的情况下,内存就基本上都利用上了,其实以后用多核CPU可能就象用内存一样,并不是任何时候都需要将所有的CPU核都用上的,只有计算量很大的情况下才需要完全利用多个CPU核来进行计算,也就是说全部的CPU核主要是为计算达到一定规模时才全部使用的,当然这个计算规模随CPU核数的不同而不同。
当然使用CPU和使用内存并不是完全相同的,因为现在软件规模越来越大,大多数计算的规模是可以达到为多核而使用的,因为软件规模会随着CPU核数的增加而同步增长,大部分情况下多个CPU核都是可以充分利用上的,而内存则不一样,不论是客户端机还是服务器,可能大部分时候内存利用率并不是很高,只有少数高峰时候才能将内存全部用上。
相关文章连接:OpenMP创建线程中的锁及原子操作性能比较 多核编程中的任务随机竞争模式的概率分析 多核编程中的任务分组竞争模式
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1698721
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- 多核新观念-象使用内存一样使用CPU?
- top命令查看内存和多核CPU的使用
- top命令查看内存和多核CPU的使用
- 象使用数组一样使用一个数据表变量
- .NET Framework 3.0 版本命名與部署 Q&A
- EasyJWeb中的VO、PO及XO
- Windows Vista正式版何时提供下载
- DB2 UDB for .NET
- 关于J2EE程序员的武器探讨
- 多核新观念-象使用内存一样使用CPU?
- 50个AJAX Tools and Frameworks
- 浅谈MVC框架中View层的优雅设计及实例
- ASP.NET技术的学习顺序问题
- VS 2005 Team System Widgets
- EasyJWeb中文件上传的处理
- 好用的Google Analytics分析服務
- 玩玩Spring之初章
- 微软正式推出.NET Framework 3.0 Redistributable Package