我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 指令高速缓存 >

Facebook BOLT

归档日期:06-11       文本归类:指令高速缓存      文章编辑:爱尚语录

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

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

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

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

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

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

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

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

  后面为了引入Dubbo RPC框架(用spring配置),先把spring 引入jstorm中,请先了解一下jsorm多线程方面的文档:

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

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

  谈谈分布式环境一种优化storm topology的思路,肯定不是优化包含的全部,但一定是其中一部分

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

  如图所示,单词计数topology由一个spout和下游的三个bolt组成。 1.spout:动态接受数据源消息,多连接到动态数据源上。 2.语句分割bolt:将每个句子分割成单词。 3.单词计数bolt:以语句分割b...

本文链接:http://ok-panic.net/zhilinggaosuhuancun/17.html