当前位置:   article > 正文

100 人内芯片设计初创公司 IT 方案(下)_netapp 16群组

netapp 16群组

100 人内芯片设计初创公司 IT 方案(下)

前面为大家带来了百人内芯片设计初创公司 在IT方面可能会遇到的二十一个问题,并针对前十三个问题给出了具体的解决方案,今天这篇文章将为大家介绍后面八个问题的解决方案。

14.桌面的选择
目前Linux下桌面系统主要有GNOME、KDE、XFCE、MATE、ICEWM、LXDE等,在CentOS6上,我一般推荐GNOME。但是,在CentOS7上,默认采用的是GNOME 3.28,Gnome 3.28是一个OpenGL的3D window manager。这就不太友好了,3D很炫,但是系统资源需求也很高,稳定性欠佳。所以,在CentOS7上,我们一般会考虑采用lightdm+Mate或者lightdm+xfce。

CentOS7上使用桌面,还需要做一些定制。比如去掉登录界面上的关机按钮,替换一下文件管理器,加强多用户并发使用桌面的能力。限制单个用户对系统内存和网络带宽的占用,避免某一个用户的操作导致所有用户感受到卡顿。用户最小化某个应用后,可以快速找到恢复等。

Linux桌面越来越华丽,但是对我们多用户使用同一台服务器非常不利,所以我们的目标是尽量在一台服务器上,能支持更多用户,提供基本好用的桌面开发软件。

多个用户公用一台服务器的时候,要限制某个用户,不要把资源用光,让多个用户一起卡顿,无法工作。如果人数过多,还需要建议对用户分组,通过vm方式使用,避免一台vm上有过多的用户。桌面上,还需要禁止跑EDA工具,比如通过firewall禁止连接license服务器就可以简单限制EDA工具在登录桌面服务器上使用。

15.多个分部的情况
国内做芯片开发,以上海人才最多,北京、深圳,以及其他城市也需要招人,所以很少有一家公司只在某个城市就行了。哪怕就是在上海,还可能存在张江是总部,其他地方如虹桥也有分部的情况。

多个Site,经常是国内多个城市,还有国外的一些城市。在这里,不过多涉及到合规,出口管制等内容。只从系统架构上去考虑,如果涉及到出口管制,要注意遵守当地法律法规。

合规问题上,中国企业往往不太重视,很容易无意中就做出了一些违规的行为。

多Site,就会涉及到很多交流的情况,网络在其中就显得特别重要。
网络,性能影响最大的因素,首选丢包,其次延迟,最后才是带宽。为什么这样讲呢?因为一个网络,如果丢包率达到5%,性能肯定是直线下降的,所以,正常的网络要控制丢包率在1%以内才能保证性能。延迟,对layout这种图形敏感用户影响非常大,我们的测试,30ms的延迟,做5nm/7nm先进工艺的layout可以接受。当然,并不是说超过30ms就不可以接受,这个跟人和项目规模、项目工艺有关系。有些人非常敏感,一旦超过反应速度,无法工作;工艺越先进,layout的时候放大缩小等操作需要的资源越多;项目一旦超过一定规模,对网络的要求成倍增加。显示器的分辨率也有关系,比如4K分辨率传输的数据会是1080P的4倍。如果两个24寸显示器做双屏可以接受,其网络需求会比一个43寸的4K显示器要更少。但是,很多时候,都是购买43寸的4K显示器,而没有考虑网络。

互联网接入价格比较便宜,如果两个Site采用了不同的供应商,比如北京选择联通,上海选择电信,两个都是100Mbps,那么两个网络做Site-to-Site VPN,互相之间传输数据的能力可能也不会很高。我们都知道,国内不同运营商之间的网络传输是有一个瓶颈存在的,这个地方的通行能力变化太大了。所以,我们一般会考虑在总部,机房所在位置,采用电信和联通两家接入供应商。

我们内部的通信要考虑IP电话。大家对于座机需求越来越少,对于通过电脑进行的电话通信需求却很频繁。所以,每个工位,已经没必要都配置IP电话机了。但是,用在电脑上的电话软终端是需要的。会议室也需要专用的语音电话设备。

电话会议系统,几乎是跨site协作的首要选择。电话会议系统,目前常见的都是基于云端技术的,所谓的Web Conferencing。一般都支持语音会议+文档分享,这是传统在线会议的基本模式。新的环境下,开始逐渐过渡到视频会议和通过触摸屏白板直接分享即时讨论。

我们较多使用的会议系统有:Zoom、Teams、Welink、腾讯会议、阿里钉钉等。相比传统专网会议系统,云会议优势明显,接入模式更加多样化,能够更方便实现如会议室、电脑、手机等各种终端之间的整合协作,扩展性更好。

这类云会议需要考虑两个方面:安全,如果是安全要求非常高的,请记住不要通过这种方式共享,另外一方面是我们当前接入的语音效果,个人无论通过手机还是PC都应该没问题,对于会议室,多人会议,请记得要用专业的语音会议设备。

推荐设备有Yealink CP960、Polycom RealPresence Trio 8800(中大会议室),Grandstream GAC2500(4-6人小型办公室),中型会议室:Avaya B100 Series、Polycom SoundStation IP7000、Konftel 300IPx。
对于视频会议,特别是大型的会议室,请咨询专业的设计,因为大屏会议,需要对灯光控制,摄像头安装,语音设备规划都要有专业的建议才行。

会议室的投影,以前更多采用的是投影仪,现在越来越多在会议室安装大屏幕的液晶屏。一种做法是75寸以上单个液晶屏,这种屏幕的价格往往较高。另外一种是多个液晶屏拼接起来,屏幕价格相对较低,但是这种做法的缺点也很明显:需要连接屏幕的主机有多个显示输出接口,并且要求支持拼接功能;最关键是屏幕拼接缝很容易看出来,视觉上体验不太好,适合举例较远,对显示精度要求不太高的场合。
目前视频会议室的屏幕规格一般有:55英寸 65英寸 75英寸 86英寸 100英寸,前面2个以放在移动挂架上为主,后面3种规格以墙壁安装为主。这里推荐一下MAXHUB,比较适合于国内视频会议。

多site还会有一个重要需求,就是要做到不同Site的工程师互相之间共享屏幕,无论是多人的会议,还是2个人之间的简单沟通,屏幕共享都是非常重要的特性,是必须要支持的功能。

前面提到的那些会议系统,无论是Zoom Teams或者国产的WeLink 阿里钉钉 腾讯会议,都支持在会议系统中进行屏幕共享。也提到过,这类屏幕共享,对于普通办公是可以的,对于重要的研发系统,我们很多时候是禁止接入互联网的,可能对一些公司存在困难。如何实现呢?

对于研发的屏幕共享,我建议可以通过接入软件来实现。比如VNC可以在启动的时候加入共享选项。对于EoD/ETX 来说,本身也可以支持共享(两种模式:只读和可控制)。
$ vncserver -geometry 1900x1050 -alwaysshared :10

研发屏幕共享,很少有能在接入软件实现语音功能的,所以,这个时候我们需要额外通过外部的语音会议系统共同使用,从而实现交流无障碍。

另外,多Site还需要代码共享,主要就是版本管理,在这里不做作详细的介绍。数字版本管理,比较常用的有subversion Git Perforce,模拟和RF设计,版本管理用的比较多的有Cliosoft SOS、Methodics、DesignSync。

跨Site之间的数据传输:
传统的数据传输方式,在互联网的环境下,性能很差。主要是因为TCP协议的滑动窗口和三次握手,如果有大量数据传输,一定要考虑更加专业的方法。我做过对比测试,在50ms和100ms下,默认的拥塞算法Cubic的性能很低。在互联网环境下,丢包率1%-5%是正常的情况,这会导致网络性能急剧下降。
如果有大量数据需要跨Site传输,推荐采用aspera、filecatalyst或者镭速这类更加专业的工具。速度会比传统的scp、ftp快好几倍。
实际上,远程接入,也要考虑网络性能,大家都有过体验,从美国远程接入到中国,如果采用VNC,会感觉非常卡慢。但是,如果采用ETX,性能就要好很多,原因是接入软件做了很多优化。网络性能方面,也可以做一些优化,来提升接入的性能,一般采用SDWAN和TCP优化来实现。
我们要尽量避免大量数据在多个Site之间传输。

16.资源管理
这里的资源管理包括:服务器、存储、License等多方面。包括需求管理、采购、分配和回收。对于初创公司来说,以上都更容易。比如服务器,完全可以按需采购和分配。

服务器如何使用,一般分两种:一种就是用户直接登录服务器,按人分配;另一种是通过调度工具,自动化分配Job到合适的服务器。
第一种,一般是团队的管理者,划分资源到特定的人员,自己负责管理。
第二种,一般采用负载均衡软件,比如LSF、Openlava等,用户提交Job,然后自动分配到某一台服务器去计算。特别是大规模的时候,我们基本上都会采用负载均衡软件来分配。

存储,一般初始一次性购买,项目开始后,按需分配,项目结束后,打包,归档项目数据。把前期分配的空间,给下一个项目继续使用。License在国内现状下,暂时不做讨论。
一般资源分配,建议按项目运作。这样,才能保证项目结束后,资源可以有效回收和管控,避免时间久了,管理混乱。

17.账号和群组
我们做设计一般是Linux平台,而我们办公一般又是Windows平台。

我们的设计平台往往具有很多台服务器,需要有一个集中的账号管理系统。Linux传统是UGO的权限模型,而我们往往采用Group权限的方式来统一管理用户访问某个项目的权限,而Linux传统的nfs权限模式下,有16个群组的限制,超过16个群组,默认是不能被系统权限识别出来的。如何解决16个群组的问题,可能有些人采用的是NFS V4 ACL,另外一些人采用的是扩展群组功能。NFS v4 ACL跟传统的Posix ACL有很大差别。

我们这里重点介绍Linux下的账号管理。

目前很多小公司还在大量采用NIS来管理Linux平台下的账号。NIS的优点很多,简单,实用,多台服务器可以使用同一个账号和密码。但是,NIS是1985年出现的,已经三十多年,也有差不多二十年没有变化了。这在IT系统内,非常少见,一方面说明其稳定性,另外一方面也说明大家已经放弃发展了。

经过跟edacad微信群的朋友讨论后,最终考虑采用centos7直接通过AD认证的方式来减少认证系统,简化用户环境。具体如何配置centos7加入AD,有时间,我也会写详细的配置说明。通过群组group对应项目,来实现不同的项目的权限划分。

Linux下实际上还有一个FreeIPA可以使用,考虑组件比较多,配置和管理稍微杂,我在这里没有将其作为初创公司的认证方案。

因为采用AD只是做Linux的认证,所以autofs map也不考虑,直接写入/etc/fstab来挂载。如果有大量目录和服务器,不建议直接写入/etc/fstab,而是要考虑autofs。实际上,AD也可以存储autofs的map,配置更加复杂而已。

18.目录设计和NFS挂载
目前绝大多数芯片设计公司,都还是在采用挂载NFS目录的方式使用存储。所以,我们重点介绍如何做芯片设计的目录,以及怎么挂载这些目录。

首先,我们来做一下目录规划。
/home 是肯定要有的,用户存放自己的个人数据。建议user quota限制容量,比如限制5G/10G。
/tools 存放一些EDA工具,建议下面继续按vendor划分,比如
/tools/cadence
/tools/synopsys
/tools/mentor

/pdk 用于从foundry拿到的一些公共PDK文件,类似上面的/tools,属于公共使用目录。也可以下面按foundry厂商继续划分目录。

/data 存放项目中,较为稳定的数据,需要做daily的snapshot,如果可能,还需要做D2D的备份。
同样,可以继续按项目划分各自的目录。
/data/projectA
/data/projectB

/tmpdata 存放项目变化很快的临时文件,比如仿真过程文件。各种session文件,跑完就可以直接删除,如果不小心删除了,重新跑一下即可。这个目录,一般不做snapshot,因为变动太快,如果做了snapshot,磁盘空间可能很快就被填满。
同样,也会继续按项目划分二级目录。
/tmpdata/projectA_t
/tmpdata/projectB_t

当然,如果需要继续在/data /tmpdata下面针对用户做限制,也可以做user quota,从而避免某个用户大量写入磁盘,导致空间爆盘,其他人的job也被影响。

19.研发环境文档管理
研发环境,除了有Linux相关的芯片设计工作,还有很多文档编写和记录工作。实际上,也还需要一个windows的工作平台。
目前有两种方式可以解决:一种是安装windows server,然后通过终端服务RDS,多个用户可以通过远程终端(mstsc/rdesktop)登录服务器,然后共享同一台windows服务器做文档相关工作,可以采用Subversion来做集中版本管理。另外一种是有专门的文档管理平台,用户可以安装对应的插件后,通过浏览器即可管理自己的文档,编写新的文档。比如Opentext的ECM(Enterprise content management),不过一般都是有一定规模的公司才会使用专业的文档管理系统。

20.EDA工具的管理
目前EDA工具,主要的厂家除了三大家,还有其他一些vendor,比如ansys,华大九天等,各家软件的安装方法大同小异,可以参考其安装文档,这里不做详细介绍。大部分EDA软件都是用flexlm进行license管理授权的。

对于EDA软件,由于项目的不同,可能我们会采用不同的版本。多个版本的切换和管理,对于我们就显得比较重要了。初创公司,可以考虑采用统一的.cshrc文件来管理各种eda软件。而成规模的公司,往往会采用Environment Modules来管理多个EDA软件版本。

可以在用户home下的.cshrc前面加一行
source /data/projects/projectX.cshrc这里的projectX.cshrc就是某个项目统一配置的各种工具版本相关文件。如果用户想覆盖这个配置,可以在自己的.cshrc文件末尾设置对应的环境变量,覆盖即可。

21.终端接入安全管控
在芯片的开发设计环境下,数据安全非常重要,特别是防止未授权对开发设计环境的访问,是每个公司都非常在意的事。

终端接入的安全管控,涉及的面比较广,我想从几个方面来说明:
首先,是公司内部,局域网如何安全接入。
其次,要考虑远程接入,特别是VPN访问公司内部,如何保证接入的是你自己的人,是自己公司认证的设备。
然后,我们会涉及到一些安全的通用手段,包括OTP,下一代防火墙,NAC。

网络接入控制NAC
NAC是Network Access Control的缩写,主要针对企业的网络接入进行管控。比如,某家公司的员工把家里的笔记本电脑拿到公司,插上公司的网线,就可以随意访问公司的内部资源。如果员工变成了竞争对手?笔记本电脑变成了手机(TypeC 转RJ45可是很容易)呢?
在这里插入图片描述

可能一个50块钱的转接线,一个智能手机,就可以将公司的所有数据轻而易举地带走。所以,网络接入,要进行强安全认证,不是自己的设备不能运行接入。

NAC一个最重要的特点是要做到发现所有设备,然后持续的控制这些设备。所以,为了防止病毒或者黑客入侵对企业安全造成影响,我们需要借助NAC,可以控制合法授权的安全终端设备接入企业内部网络,而非法的终端是不允许接入的。

如果这个设备允许接入网络,但是使用设备的人,是不是你真实的用户呢?比如,会不会是竞争对手窃取了你用户的账号和密码,从而进入呢?这会涉及到后面的技术。这里主要讲终端的网络接入。

目前,NAC产品主要方向是:统一管理,高集成度,无客户端安装要求,appliance模式,对前端、移动设备、数据中心虚拟化,IoT设备支持。

NAC主要厂家和产品:
目前这个市场以国外的厂家为主,从2018年NAC的Gartner魔力象限看,处于领导者的主要有Cisco(Identity Services Engine)、ForeScout(CounterACT, 2019年3月更改名称为eyeSight和eyeControl)、HPE(Aruba ClearPass)、Pulse Secure;其他厂商还有Impluse SafeConnect、ExtremeControl、Auconect BICS、FortiNAC、InforExpress CyberGatekeeper、NetShield、OpenNAC Enterprise等。
国内厂商和产品主要有:盈高科技ASM、联软科技UNINAC等。

远程接入:
远程接入主流是通过VPN接入公司内部网络。VPN接入技术常用的有ipsec vpn和ssl vpn,现在逐渐以SSL VPN为主了。
VPN接入,主要是满足两类需求:一个是出差,在任何地方,需要通过笔记本电脑接入公司内部办公;另一个是在家办公,员工在家接入公司的需求也非常强烈。

远程接入,个人比较熟悉的是Fortigate的防火墙,其自带SSL VPN。一套设备就解决了我的需求。另外一个不错的是Array的SSL VPN设备,最喜欢的是可以对访问的客户端系统硬件进行绑定,即使账号被窃取,依然无法使用其连接VPN。国产的类似设备有很多,比如华为的USG系列防火墙,自带SSL VPN。如果希望也能绑定客户端硬件,可以用深信服的SSL VPN接入设备。

OTP介绍:
OTP的全称叫One Time Password,也就是这个密码只能用一次。OTP目前有两种,有种是event-based OTP(HOTP),另外一类是基于时间的(TOTP),是基于时间戳算法,它会要求客户端和服务器端都要保持比较精确的时间。

OTP的使用场景:
VPN登陆的双因素验证;
银行账号登录的动态密码;
各APP登录的短信登录密码;
网游的动态Token;

目前主要的产品介绍
RSA SecurID:这个应该是最老牌的一个产品,但是前几年也爆出过安全风险。一个是2011年,RSA出现过一次SecURID种子泄露事件,另外一次是美国国家安全局(NSA)通过安插人员,让RSA采用了一个存在后门的Dual_EC_DRBG算法。
在这里插入图片描述
Google的google-authenticator:这个使用广泛,因为它是开源的。你可以自己随便使用。但是,这个东西个人用用还可以,企业使用,实在要花费很多时间。

飞天诚信:这是一家国内做安全产品很多年的公司,产品性价比很高。我们可以采用其OTP Server认证服务器+硬件Token(或/和)软件Token,一起组成一套OTP认证系统。
在这里插入图片描述

Fortigate的FortiToken,可以很容易跟防火墙集成。也有硬件Token和软件Token两种可以购买。
在这里插入图片描述

以上,就是针对初创芯片设计公司的IT系统方案的主要内容。后面会根据反馈,逐步改进本文内容。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/317005
推荐阅读
相关标签
  

闽ICP备14008679号