美文网首页
企业应用中的计算(下)

企业应用中的计算(下)

作者: 匡庐散人 | 来源:发表于2018-11-07 14:49 被阅读0次

在前文中,我们描述了一个计算的算法结构模型。接下来,我们要设计这个计算的算法运行时。在实践中,对之前的算法结构模型设计做了一些细微的调整,例如,无序的栈区被去除了,就地计算更加高效。另外,引入了Layout Template的概念,Calculation Context被用于组织算法运行时。

在算法运行时,我们需要为本次计算开辟一块内存空间。为了确保这块内存空间尽可能的小,需要一个新的结构来容纳必须的数据。这个结构将不包括算法布局模板中的元数据信息,例如,指定一个算法布局以并行方式运行,指定计算子的求值结果是否需要输出,指定计算子求值结果的精度等。算法结构中的各个模型实例可以通过引用来获得元数据。

计算子的定位是另一个重要的概念。前文提到的场景表明,此类计算中前后的计算子求值存在着相互依赖的关系。因此,我们引入了Item Location Map的概念,确保有一个快速的连接路径来定位计算子的锚。下面是最终设计的算法运行时,见图4。

图4

值得一提的是,每一个计算布局都需要指定是否需要采用并行计算。这和实际的计算场景有关,基于NQ模型,在某些场景下,并行计算所带来的调度开销可能大于其带来的好处,有兴趣的朋友可以看看这篇文章

更多的算法细节这里就不赘述了。下图是最终求值的部分结果截图,见图5。我的E450笔记本计算耗时300ms左右,相信在40核的服务器上会有更好的表现。

图5

正如前文所述,在企业应用中,算法设计通常只是计算的一个组成部分。我们还需要考虑如何使用这个算法的计算框架,从而服务于各种计算场景。

一个好的计算框架,应该具备良好的接口和简洁必要的输入约束。单纯从本文所提到的计算场景来看,最理想的工作方式是,使用者只需要描述计算布局,撰写各个计算子的公式,然后,计算框架进行计算,为使用者提供计算结果。因此,我们通过json来定义计算布局,通过Groovy所提供的Closure来配置公式,见图6。

图6

关于框架设计,我将在软件架构论中展开,这里也不在赘述。

注:我的同事Yi Feng指出,计算布局的基本想法和TensorFlow中所用的计算图比较像,我因此去学习了一下,发现两者都是从计算规则入手。不过,计算图显然更加基础,适应更多的计算需求,本文中的计算布局,其设计目的是为了解决并行计算的问题,应用范围也没有那么广。谢谢Yi的指教。

相关文章

  • 企业应用中的计算(下)

    在前文中,我们描述了一个计算的算法结构模型。接下来,我们要设计这个计算的算法运行时。在实践中,对之前的算法结构模型...

  • 企业应用中的计算(上)

    企业应用系统,尤其是金融保险行业的应用系统,常常会涉及大量繁杂的计算。例如,在保险行业,客户购买了一份投连保险产品...

  • 举个栗子!Tableau技巧(96):离线激活和停用 Linux

    为什么需要离线激活? 实际企业应用中,我们的服务器计算机基于数据保密、数据安全的需求下,使用的网络环境是内部网络,...

  • 举个栗子!Tableau 技巧(97):离线安装 Linux 版

    为什么需要离线安装? 实际企业应用中,我们的服务器计算机基于数据保密、数据安全的需求下,使用的网络环境是内部网络,...

  • 书单

    1.《计算中的上帝》读完 2.《spring boot企业应用实战》 读完 3. 《Head First Andr...

  • 计算组的多层应用

    计算组1应用生效: 计算组2应用生效: 计算组1,2共同应用生效,说明,如果某一个计算组中引用了度量,别的计算组中...

  • 云管理平台如何掀起“云网联动”新篇章

    计算资源(云),网络资源是企业IT架构的核心,也是企业应用架构的核心。传统运营模式下,业务流程多、网络可扩展性和配...

  • 2017-12-29教育装备展AI产品分析二

    一、中庆现代 公司简介 北京中庆现代技术有限公司是中庆集团旗下核心企业。主要从事计算机软硬件、计算机应用系统...

  • 混合云容灾实践

    ​​任何规模的企业,都必须迈向云。 基于云计算的云端应用正在改变企业的应用场景。这些应用必须7x24小时无中断运行...

  • Serverless无服务器架构是云计算2.0?嗯,的确是!

    随着云计算的发展,无论是互联网企业、制造企业、政府、医院等等,越来越多的应用、服务架设在云计算上。云计算彻底改变了...

网友评论

      本文标题:企业应用中的计算(下)

      本文链接:https://www.haomeiwen.com/subject/ihamxqtx.html