我个人经历比较繁芜,来华为前已经在各种单位呆了12年,它们包含奇迹单位,startup创业公司,行业内非常有名的外企,民营企业,来海思前在一家准备做Power8 CPU国产化的公司卖力IT的全体架构和IT团队。
记得刚进入海思的第一周,创造一个bug,将海思大约2000个红区账号明文密码给找了出来,彷佛信管办还发了500块钱的褒奖。接下来几个月,陆续创造了海思碰着的各种问题,以为自己要大展拳脚。转头来看,是自己想得太大略了。我进入的是海思CAD开拓部,一个主要任务,便是把我们设计环境碰着的问题找出来,尽快办理掉。但是,这个设计环境的掩护却是华为的流程IT部机要运维,制订海思系统安全的是华为的红区安全部门,管信息安全的是信管办,运用层上是CAD部门管EDA工具。这种跨部门的沟通,难度可想而知。多个别系之间,都是由不同的team来运维和管理,当时相互之间的唯一纽带便是一个研发环境PDT,实际上这个组织很多时候便是相互扯皮,幸好当时有刘一枝在一贯努力折衷。

当时,我每周都会写日记,记录碰着的各种问题,以及自己在事情中的折衷难度及愤怒。当初碰着的那些紧张问题:1. 上岸通过多层跳转,性能很差,常常卡顿,特殊是Layout。2.存储长期容量不敷,各部门费尽心机求爷爷告奶奶弄存储。3.做事器资源不敷,各项目,每天喊资源不敷,特殊是2016年底的时候,廊坊机房交付延期,各海思项目组和IT的压力非常大。4.资源的管理非常粗犷,很多该优化的地方完备没人管。 5. 创造问题后,debug非常繁芜,一堆team,互相信息不畅。很多问题不知道怎么产生,不知道怎么消逝。碰着问题,连一个测试复现的环境都没有。6. 存储管理没有优化,重删没有开启,userquota不该用,存储分配率高,但是利用率低。OPS常常被少量几个有问题的项目组给占用,常常导致全体集群卡顿。

我也思考过,为什么一些问题存在,没人去碰? 有些是技能问题,有些可能涉及到是各种权利和任务的问题。比如,最近我被投诉的问题,如果是流程IT的同事在做这件事,他们可能面临的压力要比我大的多,华为一贯以客户为中央,海思用户对付流程IT便是客户,这些\"大众上帝\"大众不爽了,心声上匿名投诉一下,可能领导压力一下来,就不分对错了。我们很多人,自己一方面骂IT的人(机关的人)不干事,官僚;其余一方面,却在做一些让人不得不官僚的事情。以是,当初IT同事如果碰了几次壁,显然趋利避害,就只管即便坚持现状了,这种思维我相信华为机关的很多同事干事都是这样的一个过程,干事越来越守旧,担保自己位置没事,担保所有操作百分之百安全,所有方法都有会议纪要,邮件记录。这不便是外企那套撕逼程序吗?为什么华为没有由于这套操作逐步去世去?我相信是由于其余一个思想起了浸染:坚持自我批驳。组织在维系不了合理状态的时候,总有人敢于寻衅,改变当前。不敢担保自己事情百分百无缺点,但是只要可控,及时改正就不怕。
经由差不多数年的磨合后,终极确定为我的事情紧张方向:资源管理(存储和做事器的分配和回收)。这个当时没人乐意碰的领域。
说出来可能是笑话:我拿到这个方向半年后,才摸清楚,我们到底各地有多少存储,有多少做事器。我2017年6月花了一个月,用最笨的办法,一个一个摸底,把我们所有局点的近三千个volume,找到了所属部门和任务人。干完后不到一周,我听到一个噩耗:我只做了部分,只统计完了cmode存储,还有7mode的存储,IT那边没给我任何数据!
但是,我再也没有力气去做这个事情了,还好,部门这个时候给我招了一个助手,这些事情在他到了往后一个月开始连续。我将方法都见告他往后,他连续花了几个月,将所有海思的目录都整理了出来。做的非常好,非常辛劳,很大的成绩,却是用最笨的方法做出来的。就跟我们华为非常热门的人工智能一样,实际上,我们是基于“人工”识别后,才有的智能,做演习的最辛劳。
在整理存储的过程中,我在连续整理做事器信息。同时,跟IT那边的一个同事沟通,怎么样把资源管理流程化。这个流程化的思想得到了流程IT的沈华及吴丹总的大力支持。这里不得不提他们两个人,吴丹是一个管理者,能够很敏锐的创造我们的需求,并积极安排下去履行,这在后面的其他事情中表示得很明显。有了领导的支持,沈华才能放心大胆去做。实际上,我们考虑做资源管理电子流的时候,还有各种各样的不愿定性。“摸石头过河”便是我们的状态,先做最大略的,存储的管理。我们2017年底开始考试测验方案,2018年2月尾上线,到导入,从2018年3月到5月,同时完成所有差不多4000个目录的任务人确定,领域的划分,项目的对应,导入数据。以及申请和回收,扩容,减容,配额管理。我们在这个过程中清理出来几百T,项目已经结束良久,乃至有2009年都已经TR5的项目目录。光这个过程,就节省了几百万的存储本钱。
省钱不是目的,只是副产品。我们最大的造诣是:让项目组申请存储不再困难,基本做到了按需分配,全体2018年到目前为止,没有哪个项目再抱怨过存储不敷。由于很大略,存储不敷你自己申请就可以了。以前申请到处找人,可能要一周以上,才能获取部分存储,现在完备在部门内就可以办理掉问题了。申请人提出申请--项目经理审批--部门接口人审批--IT创建,基本上可以半天内完成。
我们还建立了存储的过程化生命周期管理:项目TR4之前是开拓高峰期,TR4往后,我们可以自动分层到低真个廉价存储,TR5哀求归档和回收。
我们通过核算用度到项目组,办理项目组须要就可以申请。项目组也不再故意把存储抓在手里不开释,而是按需申请和回收。毕竟摧残浪费蹂躏的都是自己想的钱。让所有人都认识到吃大锅饭是不对的。
同时做的事情当然不会只有这一个,我们在2018年还要做其余一个重点事情:打算资源的管理和优化。
首先,我创造过去海思采购的做事器配置中都是要加2张额外网卡,一张10G的PCI网卡本钱都要一千多,如果每年买2000台做事器,这里节省又是好几百万。我们到底须要吗?从我过去的履历来看,完备不须要。经由实际理解,这个网卡基本也没用上,只是备用了。前前后后一周,找了干系的人,终极决定所有新购做事器的BOM内取消。
其次,IT终于在五一停机的时候,全局关闭了HT。只管我是五一后才知道这回事,但是我依然很愉快,由于当初我入职不久,并不理解这里的各种弯弯道道的时候,就跟海思的领导提出,要disable HT,结果引发了IT那边的强烈不满,这事儿终极从一个技能问题沉沦腐化为一个其他问题。无论如何,我该当感到愉快,由于我们海思终于在这个问题上,跟国际上其他大的IC 设计公司采纳了同样的做法。关闭HT,将以前一些繁芜的问题很快办理,比如同一个Job提交到集群,本日可能1小时完成,来日诰日须要2个小时;比如某台做事器CPU利用率95%往后,万兆网卡的性能只有千兆了。
其余,剖析后创造,各部门大量专用机,分出去随意马虎,回收困难。资源摧残浪费蹂躏极大。怎么办理这个问题?技能和非技能两方面走。技能的:往后只管即便不再分配专用机,给每个部门配置专用机的配额管理(如廊坊5%最高配额),同时分配集群可以管理的Host保障做事器(总资源的10%配额);非技能的:专用机核算到项目,并且,惩罚性的2倍收费,避免长期占用不开释。
但是,人工管理不现实,以上须要通过流程化管理。以是,再次和沈华互助,我们开拓打算资源的管理电子流程。这个过程,一贯到本日,依然在扫尾的过程中。
流程和思路都有了,如何落实?拉通海思财务。财务那边一贯对海思的资源如何分配到各项目非常头疼,各种数据都不知道是否准确。我也不知道他们过去怎么活过来的。但是,我提出这个思路后,他们是非常欢迎的,由于财务再也不用担心数据怎么来了,反正可以由我们供应。
我们现在对一个项目核算的用度组成为:集群share的打算runtime+ Host保障做事器 + 专用机 + 存储。
在这里,不得不提一下集群runtime。这个东西,过去一贯无法有效对应到项目。我们从5月开始,网络数据,6月尾的时候,终极将所有LSF集群内提交的群组对应到详细的项目了。6.30的那天,我们非常紧张的做了所有集群的变更。这个过程中,实际上还是犯了小错的,导致仿照部有2个小时无法提交任务。这里须要感谢刘杰,知道有风险,但是依然乐意去做,只要风险可控,我们乐意承担犯了缺点的任务。也要感谢仿照部同事的宽容。后面,我们还一起将集群的fairshare完备改动过来,让fairshare数听说得清楚怎么来的,不会某个部门在一个集群完备占用所有资源。
集群的runtime是一个弘大的数据,如何快速有效的利用起来。我们实际上用到了ES大数据剖析,所有集群的数据,都被汇聚到了ES数据库,我们只用查询就可以了,这些数据实时的。感谢舒越前期的研究,让我们有这样的一个利器,舒越是我见过的对LSF最懂的人,至少在海内这个行业内没有见过其他比他更懂的。更要感谢胡文普在我每次须要数据的时候,都能第一韶光给我做出查询工具来。他能在我提出需求后,半天内完成工具,且做到了每次提出想法,都能在半天内做出来。这种效率,从来没碰着过。
他现在卖力的Insight系统,做得很出色,通过它可以非常直不雅观看到我们所有资源的利用情形。
对了,我们做的查询工具,即将开放给所有海思用户,你们都可以随时查询自己项目,到底用了多少资源,某个同时,哪一天用了多少runtime。
通过这个工具,我们还创造了,我们做事器的CPU利用率在某些项目内很低。让我下决心,要将集群的利用行为规范起来。特殊是几个威力巨大的脚本,将某些摧残浪费蹂躏资源的任务直接干掉,带来了集群CPU利用率提升了10%。只管没有我们的“GPU Turbo\"大众技能那么吓人,但是我们确实做到了没花一分钱,险些没代价就提升了利用率,还创造了某些项目流程效率低下的问题。就这一条,每年节省了最少上千万。不过,最近碰着了有人不满意,在心声贴大字报来批斗我。令人欣慰的是,有不少人站出来,明确支持我的方法,乃至有一些以前被我怼过的同事espace上来表达支持。做一个改变,必定会触碰某些人的利益,我们干事不可能让所有人都高兴,这个从逻辑上阐明不通。
通过CPU利用率的评估,我们连续折腾,从8月尾开始,思考集群的合理利用规范,制订规范。海思的集群过去一贯都没有一个明确的规范,用户利用系统完备凭个人水平。有些用户,对系统有一些基本理解,知道初步用法,就会写一些脚本来利用,更多用户完备不懂,从前面的用户那里copy脚本过来,照搬,至于脚本是什么意思,完备不懂。
基本上归纳总结了10条规则,每一条都明确的数字,在什么情形下,我们进行自动管理。比如,我们最主要的2条规则便是:所有提交到short/normal/middle行列步队的任务,在运行20分子后,CPU利用率低于12%,将被系统自动kill;所有提交到long/bigmem/hugemem行列步队的任务,2小时后,利用率低于12%将被自动kill。
最近也在尽快通过研发区域外发邮件,只管即便将有问题的Job在kill条件示,Kill后关照,附上对应的办理问题方案,避免用户缺点的行为得不到纠正。Kill Job不是目的,纠正缺点的利用行为,提升整体的事情效率才是终极目标。
我们定义了明确的韶光限定,行列步队及CPU利用率哀求。实现自动管理,而不是人为手工管理,是提升效率的最佳手段。任何规则,如果没有相应的实行方法,就即是无用规则。以是,我们通过上线自动规则,让统统违反的行为,自动被消灭,实现集群的有效利用率提升,让资源给到那些真正须要的项目。终极的目标,是要实现用户完备不须要理解规则,包装前端,实现自动规范。
感想:
1. 干工作要有本钱意识,要有进取心,任务心。
资源的管理,最核心的一条,让利用人知道,他的不合理行为要导致项目承担代价。大部分人,还是会介意这点的,毕竟都是穷苦人出身,吃大锅饭的时候,会只管即便多要,真要分家用饭了,每个人都会只管即便克制,做到不摧残浪费蹂躏。
2. 抵牾冲突不可避免,底线是不能真的影响项目TO。
跟IT冲突,跟海思项目组冲突,吵架是难免的。我常常被项目组的人上来来源盖脸的一句话:你这样做影响我项目进度,delay了你要卖力。这个时候,我常常是立时问是什么项目,然后就知道当前对方项目的阶段,基本上不是100%和TO前,就可以判断对方是狐假虎威,盖帽子行为,不用担心。理工科出身的同事一大好处,便是基本都会讲理,在数据面前,大家能理性磋商问题根源,一起办理问题。当然,也有少数上来胡搅蛮缠的,这个时候,我一样平常祭出一句话:如果你认为这样做不合理,找傅晓,他是验证部长,如果他确认这样不合理,我们就改。这句话的杀伤力很大,一样平常人根本不敢找,由于傅晓是海思出了名的管得宽的人,碰着无理取闹的可能要被骂一顿。海思有幸有这样的人,不怕得罪人,敢于按事实说话。
对付那些处于TO前夕,或者100%网表阶段的项目,哪怕我知道他们的缺点习气不合理,也只管即便知足需求,等到项目阶段过去了,我们再来改进。
管资源一年多以来,没有跟200同事吵过的话,至少跟100个同事吵过。我会在离开之前,跟所有人性个歉,毕竟这种感情的冲突,给别人和我自己都带来了身心伤害,很不应该。
3. 只管即便拿数据说话,事前将问题找出来,事后将效果拿出来
前面说过,理工出身的人一大优点是对数据展示的东西,都不会有疑问。我们当前的问题,如果有合理的数据,大家都不会随便反对。这个改进过程肯定是痛楚的,人都习气了舒适区,做任何改进,都会让人第一韶光想到的是反对。以是,改进完成后,最好把效果拿出来,让对方能真切体会到好处,大家都须要造诣感的刺激。
为了避免侵害到某些部门或者项目组,我这里就不拿数据展示了。但是,数据展示绝对是一个最有说服力的工具,毕竟这是客不雅观真实存在的。
我在文中没说一句自己领导的好话,我不是对他们有见地,而是由于本文不是邀功拍马屁,不须要写。类似获奖感言,总结一句话:感谢所有帮助我的人。
还有哪些问题?我一贯对外洋搞个小局点,配套费钱比做事器还多这事非常不爽。对我们很多层跳转才能访问做事器也是非常有见地。外洋搞的红区,真的是一言难尽,大量用度摧残浪费蹂躏在配套设备上。但是在华为,安全问题可以把这统统都打掉,没人敢碰,敢去碰的人估计末了了局都不太好。不知道往后可以怎么走。能推动多少就走多少吧,我没把握能完备改变。
对我们很多事情都要分散到很多部门,跟其他公司不一样,跨部门协作很困难这一点也不爽。但是这属于领导层考虑的管理问题,彷佛也没什么希望改变。并且最近两年,通过各种运作,已经让部分协作有了非常大的改进,彷佛不那么急迫了。
云打算挺火的,海思这个hpc系统,碰着项目忙的时候,大家都抢资源,碰着闲的时候,看着做事器摧残浪费蹂躏觉得好心疼。没办法,我们在赤色区域,没可能共享资源。想改进,得先干掉红区。提及来,华为网络分区本身没错,可是分了那么多区,有同事抱怨在实验室连看个RTL代码都没办法,太神奇了。网络的根本职能是通,而我们却搞了几个隔离区,网络变成了隔离的紧张手段。隔离,该当是通过运用层,接入层实现。我们研发,有绿区黄区红区,每个区域还有各种不同的BU隔离,外洋跟海内还不一样,我就想问问安全从业的人:木桶理论到底怎么表示的?
回顾来海思这两年,创造都是在打杂,技能基本没有任何进步。该当要静心研究一下技能,比如lsf上跑容器,各种接入方案,nfs存储架构也是瓶颈,可以考虑研究一下下一代存储架构了,这样也可以避免再过两年,人到中年,四十往后,被离职,要技能没技能,没地方可以去。如果技能研究进展,也可以再帮助海思研发环境提升一下效率。
从刚进入就想搭建的实验平台,也考虑找了一个公共地方,落实下来。准备往后搭建好测试环境,对付一些技能提前验证。特殊是一些新技能的引入,可以起到预览浸染。
往后还须要扩大互换协作,多跟同行沟通,理解别人的前辈,学习改进海思的环境。跟同行互换,绝比拟闭门造车更有用。
多仰望一下星空,才能体会到当前所有作为都只不过是宇宙一瞥。争来争对,看起来很成功,统统只不过是一个眇小的过程,越来越烦各种争吵了。希望海思的研发环境能效率优先,安全并重,让所有同事能少加班,让我们的芯片能更快的上市。
作者:王光辉
来源:心声社区







