二进制编程 Facebook开源二进制优化和布局工具 加速硬件处理时间!

2019-01-17 - 二进制

Facebook宣布开源其二进制优化和布局工具BOLT,以帮助工程师来加速他们的大规模应用。

据Facebook介绍,BOLT可以用来优化内存中的指令配置,并且旨在将CPU执行时间减少2%到15%,尽管在大多数情况下它将其减少了8%。

Facebook表示,“高度复杂的服务,例如Facebook上的服务,拥有大量的源代码库以提供广泛的特性和功能。即使编译了其中一种服务的机器码后,它的大小范围可能从10s到100s不等,这通常太大,而不适合任何现代CPU指令的高速缓存。因此,硬件花费了大量的处理时间,在许多情况下,接近30%,从内存到CPU获取指令流。”

二进制编程

在设计BOLT时,Facebook希望满足三个要求:它需要与任何编译器生成的代码兼容,能够支持没有可用源代码的代码,并且需要能够支持手动编写的代码,以便优化其布局。

Facebook强调,BOLT根据其执行情况重新安排功能内的代码。该函数的主体根据代码的执行频率进行分割,然后根据调用graph profile执行代码热块的优化布局。

二进制编程

除了改进代码布局之外,BOLT还利用应用程序配置文件和利用机器代码(如高级跳转表配置,相同的代码折叠,PLT优化和恒定负载消除)执行优化。

Facebook强调,“开源BOLT,通过社区合作来帮助BOLT加速其应用普及。如果你正在运行一个CPU前端绑定的大型应用,它经历了大量的指令缓存和TLB未命中,那么BOLT将帮助解决这些瓶颈。”返回搜狐,查看更多

二进制编程
相关阅读
  • 二进制数的运算规则

    二进制数的运算规则

    2019-01-17

    (4)除法运算规则二进制数除法的计算方法,与十进制数除法类似,也由减法、上商等操作分步完成。例如:逻辑运算是在对应的两个二进制位之间进行的,与相邻的高低位的值均无关,即不存在进位、借位等问题。(5)逻辑或运算规则(运算符为V)000例如:011110010110101111110(6)逻辑与运算规则(运算符为

  • 二进制1101转十进制 了解十进制与二进制 互相转换不再困难

    二进制1101转十进制 了解十进制与二进制 互相转换不再困难

    2019-01-17

    从古到今的数学运算很大程度上是依靠了十进位制的伟大发明,我们日常生活中所用到的记数方式几乎全部为十进制,十进制在中国古代便已经开始使用,当时人们称之为算筹:十进制使用十个数字“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”表示特定的数。比如“一百零一”,如果使用十进制的数字表示就是101(10)。

  • 二进制算法教程

    二进制算法教程

    2019-01-17

    1、加法法则:000,01101,11102、减法法则:000101110011有借位,借1当(10)20110有借位1111有借位。减法,当需要向上一位借数时,必须把上一位的1看成下一位的(2)10。

  • 二进制计算机 二进制与计算机

    二进制计算机 二进制与计算机

    2019-01-17

    二进制与计算机事物的多少或者顺序,我们可以用一种称为“数”的符号来表示。事物的数量是无穷的,我们却不可能创造无数个符号。为了解决这个难题,人们创造了进位制(又叫做位值制),这样就可以用几个有限的符号,来表达无穷的数量了。进位制是人类计数史上最伟大的创造之一。现在国际通用的主要进位制有十进制、二进制、二十进制和六十进制。