二进制优化和布局工具 Facebook BOLT

MIT
C/C++ 查看源码»
跨平台
Facebook
2018-07-03
局长

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

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

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

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

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

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

的码云指数为
超过 的项目
加载中

评论(2)

快速开发师
快速开发师
我晕,布局,我还以为是UI布局,我去
卧龙大熊猫
卧龙大熊猫
又是一把性能优化利剑 研究一下

暂无资讯

暂无问答

JStorm如何保证消息不丢失

Storm的acker机制,能够保证消息至少被处理一次(at least once)。也就是说,能够保证不丢消息。这里就详细解析一下acker的实现原理。 消息流 假设我们有一个简单的topology,结构为spout -...

2016/11/24 17:29
57
0
Strom Topology执行分析:worker数,Bolt实例数,executor数,task数

原创文章,转载请注明出处:http://blog.csdn.net/jmppok/article/details/17244599 在创建Storm的Topology时,我们通常使用如下代码: builder.setBolt("cpp", new CppBolt(), 3).setNumTas...

2015/03/25 10:10
23
0
Storm数据流分流和合并

Storm实际使用中可能需要分流与合并,本文以WordCount为例,简要介绍下分流与合并的实现。

2016/07/21 17:50
224
0
(二) kafka-jstorm集群实时日志分析 之 ---------jstorm集成spring

 后面为了引入Dubbo RPC框架(用spring配置),先把spring 引入jstorm中,请先了解一下jsorm多线程方面的文档:http://storm.apache.org/documentation/Understanding-the-parallelism-of-...

2015/03/11 22:04
235
0
Storm中的Stream grouping有哪几种方式?

在拓扑图中,每个bolt接受一个spout或者bolt的数据,但是每一个spout或者bolt有多个实例,因此哪一个接受哪一个bolt或者spout实例的数据需要stream grouping。 Storm定义了七种内置数据流分组...

2018/04/19 19:22
60
0
数据流分流和合并

分流 分流有2钟情况,第一种是,相同的tuple发往下一级不同的bolt, 第二种,分别发送不同的tuple到不同的下级bolt上。 发送相同tuple 其实和普通1v1 发送一模一样,就是有2个或多个bolt接收...

2018/02/01 16:25
69
0
storm 可靠性和非可靠性

我们知道Storm有一个很重要的特性,那就是Storm API能够保证它的一个Tuple能够被完全处理,这一点尤为重要,其实storm中的可靠性是由spout和bolt组件共同完成的,下面就从spout和bolt两个方便...

2016/12/16 16:48
71
0
Storm【Storm0.9.3】- ACK 框架有意的补充

Storm的Ack框架,在Storm之有意思的有2个地方:1 Ack机制,2 Trident的抽象

2014/11/19 18:50
245
0
Lintcode399 Nuts & Bolts Problem solution 题解

【题目描述】 Given a set of n nuts of different sizes and n bolts of different sizes. There is a one-one mapping between nuts and bolts. Comparison of a nut to another nut or a ...

2018/03/07 22:21
31
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部