Google:Linux世界级跨数据中心服务器

企业网 发表于:13年05月02日 18:00 [转载] DOIT.com.cn

  • 分享:
[导读]性能隔离是云计算的主要挑战。不幸的是,Linux缺少对共享资源(比如:处理器缓存、存储器总线等)中性能干扰的防御;这样的话,公有云中的应用程序将无法避免来自邻居们的干扰。CPI方案使用从硬件性能计数器获得的CPI(cycles-per-instruction,平均指令周期数)数据检测问题,中断或者关闭“问题”进程从而达到预期的效果。

Google已经实现世界级数据中心服务器监控,新的技术可以监控世界范围内每台服务器上的每个任务;其最终目的是通过这些数据有选择对进程进行干预、甚至是关闭该进程让同CPU上的其它进程得以运行。

搜索巨头在技术论文中详细的描述了这一世界级监视技术的实现方法,相信使用大型基于Linux云计算基础设施的机构都会对此感兴趣。

论文中写道:

性能隔离是云计算的主要挑战。不幸的是,Linux缺少对共享资源(比如:处理器缓存、存储器总线等)中性能干扰的防御;这样的话,公有云中的应用程序将无法避免来自邻居们的干扰。

CPI方案使用从硬件性能计数器获得的CPI(cycles-per-instruction,平均指令周期数)数据检测问题,中断或者关闭“问题”进程从而达到预期的效果,当然它会根据相同作业中大量任务数据认知这个任务的反常与否。

本质上讲,CPI让Google可以在集群上万个CPU核心中隔离单个核心上的单个性能低下任务,对这个任务进行检查并进行操作,而造成的CPU开销甚至不到0.1%。它并不需要特殊的硬件支持,唯一的软件依赖恰是使用Linux。

CPI允许Google收集任何指定指令的预期CPU CPI,从这些数据中分析出标准的资源配置文件,然后使用这些标准的配置文件去帮助网络巨头确定哪些任务比一般情况下耗费了更多的CPI,从而解放与这些任务使用相同CPU的其它进程。

Google称,其绝大多数机器上都运行着多任务。作业的处理类型分为实时处理和批处理两种,同时这些作业由大量的任务组成。Google服务器上96%的任务都会与至少10个的任务组成一个作业,而87%左右的任务会与100或以上的任务组成一个作业。

但是这些任务可能会相互干扰,导致处理器缓存和内存分配问题,造成应用中的某个任务延时飙升——这正是Google不惜一切代价都想避免的问题。

为了实现任务流下每个处理器的控制,Google使用CPI监视所有运行的服务器。通过测量处理器硬件计数器,然后用CPU_CLK_UNHALTED.REF除以INSTRUCTIONS_RETIRED来获得CPI数据。

通过计算模式下的perf_event工具,Google每分钟都会收集一个长为10秒周期的数据。系统中总CPU的开销低于0.1%,并且不会对延时产生影响。

因为集群需要跨大量的平台运行,CPI的目的在于体现各种平台下的CPU运行情况。CPI的值通过每台机器上的agent进行本地分析和测量。agent通常会被给予作业中任务预期最常见的CPI分布,所以它可以独立的分析出运行的正常与否。

如果agent发现有“victim”任务受到影响变得缓慢,它将会每秒一次的对“antagonist”任务进行干涉。agent会使用一个算法来判断“antagonist”任务的CPU占用增加与“victim”任务的迟缓是否曾在关系,依据的则是指令的周期数。

如果agent识别了一个“antagonist”并发现它是个批量作业,系统将会“通过CPU hard-capping来强制减少‘antagonist的CPU占用率’”。

鉴于CPI和Omega论文的联合作者中都有John Wilkes,Google很有可能是通过Omega(Google大型基础设施管理系统的一个组件)给agent发布任务。

“antagonis”任务的配置文件与CPI数据进行的是离线的记录和存储,这样管理员就可以通过Google的主要网络分析工具Dremel进行查询。

Google工程师使用Dremel进行性能取证,用以确定“antagonists”任务,在将来他们可能为“antagonists”任务重新制定策略,让它们在单独的主机集中运行,然后使用这个调度进度来彻底的避免这个问题。

其中有一个需要改进的方面是处理多个“antagonists”,它将会复杂化算法;另一个则是为capping任务建立的反馈途径。

论文中写道:“即使这两方面还未改善,但是CPI是个强大的、实用的工具。”

使用CPI获得应用性能可行信息的开销比Google其它方案来的更少,这里还存在一个被称为“Google-Wide Profiling”可同时对硬件和软件性能进行追踪的平行技术,但是只在Google小范围的进行使用。

从整体上看,CPI提供的不只是管理,更倾向于让集群运行的更加稳定、效率。如果你在执行搜索或者查看Gmai、通过Google服务查找地址时发现比平常需要更多的时间,那么你可能就会被CPI冷酷及无情的当做是“antagonists”。

[责任编辑:袁家驹]
在这个大数据的时代,数据库软件需要应对当前企业里不同来源的海量数据,并将这些不同结构的数据进行整合,进一步实时进行数据挖掘和分析。所以主打ERP软件的SAP公司肯定也会做出应对高性能的大数据分析软件来满足这一巨大的市场需要。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.