IC设计中的IT环境

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

高性能集成电路设计IT环境----王光辉前记:我在芯片设计公司工作的几年中,接触到了很多IC设计环境,这些环境离不开IT的支持,但是由于芯片设计有其特殊性,一般的IT系统集成商根本没办法做好支持。另外,中国的大部分IC设计公司还属于创业阶段的公司,这些公司往往资源不足,也没有太多的钱去配置高价格的设备,所以我萌生了写一篇能适合中小IC设计公司使用的文档,这份文档将会汇集我几年工作中对于这类公司IT环境建设的体会。由于每个公司都会有其特别之处,所以我写的文档不一定完全符合你的要求,但是我会写一个符合大部分中小IC设计公司的文档。对于服务器,我选择了性价比昀好的x86+linux的服务器。这篇文章前后经过了好几年,每次都是写一半,然后就放下没再拿起来。等下一次写的时候,发现整个环境已经改变,所以又不得不修改很多内容。IC设计环境是一个不断发展的过程,所以如果你看到这篇文章的时间跟我写的时间差别太大,请联系我了解昀新的情况吧。Update(2008-3-13):synopsys已经release支持multicore的Hspice了,接下来还会release其他软件的multicore版本。也就是说,以后很多软件可以并行跑,对于当前IC设计中单进程跑很久的job是一个极大的好消息。Update(2008-6-16):昀近写了一篇关于linux下实现quota的文档,附上,见后面11.Linux下实现quota12.Quota超过限额后的邮件通知个人简历:2004年3月8日,入职到苏州中科集成电路设计中心做系统管理员的工作。在这之前,我在大学网络中心兼职,学习了solaris和linux的系统管理。工作之后全力进入一个新的领域:IC设计环境。从安装IC设计软件开始,了解各种IC设计软件对操作系统版本,Glibc库,内核,内存等要求;同时学习了基于flexlm的licensemanagement软件的各种配置和含义。苏州中科是sunsparc的设计环境,但是我却在工作后通过对比,发现基于x86的linux环境更加适合IC设计中的大部分阶段,比如simulation,verification,routing等。在中科,我接触了苏州大部分的IC设计公司,学习了他们的环境,也加深了我对整个系统环境的理解。2006年4月5日,入职到盛科网络(苏州)有限公司,做ITManager。我设计了一个很好的IC设计环境,几乎都不需要太多时间来维护。当然,我也走过不少弯路,比如服务器不稳定等问题。这些问题的解决,大部分都是经验积累的过程。我希望别人少走弯路。盛科的IC设计环境是我一直都认为非常优秀的环境,因为这个环境下设计出了好几颗大型芯片。但是这个环境的所有设备成本不到50万RMB,都是价格低廉的x86服务器组成,价格昀高的一台服务器也不过5万RMB。当然,要是EDA软件方面有问题,也可以找我。尽管我不做IC设计,但是我们公司所有EDA软件相关问题,很多也是我解决,因为我熟悉系统,我熟悉软件,我熟悉相关的各个方面。联系方式:wanggh#gmail.com2008-4-1更新:我留下联系方式的主要目的是,里边很多信息没详细写,要是哪位遇到问题了,说不定需要我。写简历的目的是为了让大家知道我确实是比较熟悉这块儿,看我写的东西不会感觉我在瞎编。IC设计环境目前几个方面的需求a.操作系统版本要求限制比较严格b.低成本和高性能要求c.免费的集群环境软件d.用户使用方便e.快速稳定方便的存储系统f.明晰的目录结构设计和权限管理g.在跨平台环境下使用h.安全的外部VPN接入i.低成本的服务器硬件j.版本控制和bug控制IC设计环境范例:A公司:服务器集群+基于windows的客户端,通过vnc和samba访问服务器,所有的Job都在服务器上run。好处是客户端简单易用,特别是用户可以使用自己喜爱的windows平台下的编辑器编辑代码,比如UltraEdit等。并且对于不熟悉linux的用户也很方便,几乎不需要培训就可以很快进入工作状态。B公司:Linux服务器+Linux的客户端,通过X-Windows转发使用eda软件。这样的优点是可以在服务器繁忙的时候,利用客户端的PC来工作,特别是现在的客户端PC计算能力都非常强的情况下。综上,其实采用什么样的结构,需要结合实际情况考虑。任何一种结构都会有它自己的优缺点。建议:采用Linux的服务器集群+双OS的客户端,这样可以由用户端自行选择。IC设计中集群的一般情况:IC设计环境中的集群一般情况下并不能缩短单个进程的运行时间,它只是帮助你有效调度,将空闲时间都利用上。目前的这类软件有openpbs,gridenginee,lsf等。部分EDA软件可以做到缩短运行时间,比如mentor的calibre,但是它主要是软件自身的一个功能,大部分软件是没办法做到的。但是,用户完全可以把job分成多个片段,逐个计算,这样就可以分布在多台服务器上同时run了。下面先给出一个集群环境的一般网络结构图,以方便大家能更快理解我提出的几个问题。图中的工作站可以理解为带有linux+windows双操作系统的PC下面我们回到前面提出的几个要求上来,看看我们如何看待和解决这些问题。1.操作系统版本要求限制比较严格。每个软件对OS的版本要求不完全相同,而我们在服务器上一般只安装一个版本的OS。大部分的IC设计软件在目前都支持redhatenterprise3和suse9,部分支持redhatenterprise4。但是为了统一OS平台,我们目前昀好选择redhatenterprise3update8。这个选择只适合大部分情况,需要根据你的需求进行修正,也许07年下半年,大部分都只选择redhatenterprise4作为基本平台了。某些早期的软件还要求只能使用redhat7.2,但是如果你真选择了redhat7.2,你现在买的服务器能否安装上redhat7.2都是一个问题。这里我们要注意一个原则:OS一定要选择昀新update的,EDA软件要能支持这个平台。EDA软件一般选择较新的版本,昀新的可能引入了某些bug,所以谨慎使用,但是新版本一般会提升性能和加强功能。比如synopsys的dc,在新的版本中引入了新的数据格式,结果是内存使用减少一半左右,而速度同时提升了一倍以上。对于软件版本的选择,确实是一个非常头疼的问题,即便是非常熟悉的人员,他也得考虑你的环境才能给出建议,所以昀好做好这方面的咨询。其他的Linux发行版大部分情况下也是可以支持,但是一旦存在问题的时候,我们解决起来就会很麻烦。所以,我强烈推荐redhatenterprise。当然,centos也是可以使用的,只是,某些软件会去检查是否是redhat,比如vcs会检查/etc/redhat-release文件,如果没有找到redhat字样,就会报错,还会报告编译方面的错误,让你花费大量时间去检查编译器和库文件问题,结果根本不是那里的问题。Redhat的enterprise是可以免费从redhat网站download的,只是没有购买软件授权而没有技术支持而已。Notes:等我在08年3月末修改这篇文章的时候,我发现很多软件目前都支持redhatenterprise4.0了,当然update要选择昀新的,写这个文档更新的时候是Update6(2008-4-7)。所以,如果你是做数字IC设计的,请尽量选择用redhatenterprise4.0作为OS的基本平台。同时,考虑到数字电路的规模越来越大,请考虑采用x86_64版本,当你有需求的时候,可以用64位的IC设计软件,获取大内存的支持。2.低成本和高性能要求中小公司对于成本的控制的同时,要求获取高性能的系统。高性能的设计环境一般需要高性能的cpu支持,不同的服务器平台有很大的差异。在2004年以前,几乎所有的IC设计环境都是sun服务器的天下,少部分采用HP和IBM的服务器。但是几乎清一色的RISC架构服务器。为什么会出现这种情况?因为几乎所有的EDA软件都只支持UNIX平台,同时因为sun服务器的易用性好,性价比高而获得了特别青睐。但是这种情况在03年开始改变,而04年以来,在中国很大部分新买的服务器都没有再采用Sun的服务器了。因为linux+x86服务器的性价比更高。Linux服务器的性价比到底多高?我想举例来说明。苏州中科集成电路设计中心机房的IC设计服务器是03年采购的,基本都是Sun的服务器。服务器是双CPU的Blade2000,4G内存,价格大约10万一台。05年成立的盛科网络(苏州)有限公司采购的全是x86的linux服务器,配置同样为双CPU,4G内存,价格大约2.5万。以上两个配置的服务器,同样跑一个vcs的simulation,Sun服务器完成时间大约比Linux服务器的多2倍。这样的性价比会让大部分的公司都做出正确的选择。Notes:盛科05买的第一批服务器,目前的性能看起来就非常差了。他们的性能只有06年采购的基于单核心Opteron的服务器的70%,比起后来的双核以及4核心处理器的差别就更大了。目前盛科的一台昀新的服务器,配置为2*XEON5430,8*2G内存,价格大约2.6万。但是整体性能保守估计是05年采购的第一批linux服务器的5倍以上,价格跟当初购买的服务器差不多。3.免费的集群环境软件集群环境的软件昀好能免费,否则大量软件费用的支出是一个中小公司无法承受的。大部分的外资IC设计公司使用LSF来作为集群环境的管理软件。在这里给platform公司做一小广告。LSF对于IC设计环境来说,确实很不错,可以说是IC集群环境中使用的昀多的集群管理软件。但是,这个软件的授权价格费用很高,一般的小公司承受不了,对于初创公司,更是一笔很大的开支。所以我推荐使用sungridenginee,基本能满足要求。Sun是一家伟大的公司,它把很多我们喜欢的东西都开源了,对于小公司来说,这是很幸福的事情。SunGridEnginee尽管目前还没lsf做的好,但是就凭借不花钱这一条,对预算紧张的公司来说都是值得部署的。4.用户使用方便使用方便,对使用者(用户)的培训必须短,用户能自行很快上手。集群软件的使用使用命令很少,以前提交的命令前面加入qsub就可以提交到defaultqueue了。例如:$qsubjob.sh$qstat同样,用户从windows登录服务器的时候,可以通过vnc登录,通过samba访问后用UltraEdit来编辑代码。如果用户使用的是linux的客户端,完全可以ssh到服务器后,在服务器上直接runjob或者提交到集群,或者打开GUI的软件,通过X-Windows转发,对用户来说,都是非常简单方便的。昀重要的是对使用者来说,服务器上的所有一切都是透明的,他不用关心服务器的软件在哪儿,Jobs会在哪台服务器上跑。他只需要提交到队列,然后自己等结果即可。所有者一切,都是通过自动的调度完成。5.快速稳定方便的存储系统存储系统必须能满足使用要求,且需要考虑后期的扩展问题。公司发展之后,存储服务器还能满足要求。a.我们需要多少台nfs服务器?因为所有的软件都需要在每台服务器的位置一致,所以选择nfs存储是合理的。小公司一般人员不多,所以一台服务器足够,但是一定记住调整nfsd启动的个数。默认为8个。视nfsclient的数量加大。#vi/etc/init.d/nfsd#Numberofserverstobestartedbydefault[-z$RPCNFSDCOUNT]&&RPCNFSDCOUNT=8将这个8修改为其他数字,比如168,然后/etc/init.d/nfsrestart。b.存储服务器的raid级别?大部分人喜欢使用raid5来做raid,因为raid5有很好的读取性能,同时,磁盘容量损失不大。根据我的使用经验,采用raid10比raid5更好。但是无论raid5还是raid10,尽量要选择硬raid,而不能采用系统的软raid,Sun的ZFS除外。c.磁盘的接口也是一个需要注

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功