正文内容 评论(0

壮哉我Haswell Intel新一代处理器架构前瞻
2012-08-26 14:45:48   编辑:鲲鹏     评论(0)点击可以复制本篇文章的标题和链接
多线程助推剂 Haswell将支持TSX指令扩展

多线程多核处理器问世几年来,在AMD和Intel的轮番推动下双核、双核四线程CPU已经是最基本的配置,四核以及四核八线程也不是少数人的玩物了,总之就是多线程在物理基础上已经普及,但是日常应用中八线程并不能总是比双线程要快。

其中的原因有软件/游戏开发商对多核优化不够造成的,但是CPU自身也存在一定限制,比如传统操作中一个线程访问了某部分内存数据之后就会通过一个“lock”锁操作来保证数据的统一性,又分出粗粒度锁定(Coarse-grained thread lock)以及细粒度锁定(Fine-grained thread lock),无论是哪种锁都存在多线程并行的效率问题,因为锁操作是互斥的。

壮哉我Haswell Intel新一代处理器架构前瞻

Intel早在2006年的IDF上就公布了这一问题的解决方案,那就是改用Transactional Memory(事务型内存),这一技术早在服务器处理器上应用多年,但在桌面CPU中还没有应用过,要等到Haswell这一代才能有实际应用。

Intel早前在其官方Blog上发表了一篇名为“Transactional Synchronization in Haswell”的文章,介绍了Haswell架构将会支持TSX扩展指令,简单来说就是TSX将允许程序员指定事务型同步代码空间,使得目前使用粗粒度线程锁定的程序更自由地使用细粒度线程锁定,进而提高多线程效率和性能。

举个简单的例子,你在编辑excel表格,如果你打算同时编辑两份拷贝,excel就会提示你该文件正在编辑,只能以只读方式打开但不能编辑,这种情况叫做粗粒度线程锁定,这种锁定比较简单,很容易实现,但是效率不高。

细粒度线程锁定则可以实现自由度更高的数据同步,还是前面的例子,如果使用细粒度线程锁定,那么每个线程都可以操作不同纵列的数据,明显提高了CPU效率,不过这样做也有更大的风险,比如数据出错的几率更大,特别是多个线程同时向一个区域写入数据时,而粗粒度线程锁定则可以避免这个问题,同时保持不需要的核心处于休眠状态,更节能。

为了避免出错,程序员往往钟爱粗粒度线程锁定,而TSX扩展的设计目的就是评估软硬件状况并为程序员提供无错的细粒度线程锁定。

壮哉我Haswell Intel新一代处理器架构前瞻

Intel在当时的软件仿真演示中表示使用事务内存技术后性能可以提升1-3倍,比如基于锁操作的测试需要10.4秒,而使用事务内存处理只需要4.6秒,性能是前者的2倍还多。

Haswell将是消费级处理器中首次使用事务内存技术的架构,虽然Intel已经展示了该技术的良好前景,特别是在复杂的多线程应用中其理应有更好的表现,不过回到现实中这一技术还需要系统在内存管理和线程调度上做相应的优化,具体性能提升只能拭目以待。

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#Intel

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...