Franklin Flint 八年多以来,我一直和设计人员、产品经理们一起工作,选择、开发和管理大型解决方案中使用的PC硬件平台。这其中包括嵌入式硬件、集成式独立计算平台以及运行单一功能嵌入式程序的家电型硬件产品。 这些解决方案设计人员一个惊人的共同之处就是,总会因为对那些与PC硬件本身的特征和功能不直接相关的设计因素缺乏周密计划或者预期不准确,而陷入各种各样的麻烦当中。其中最为普遍的三大“陷阱”,总会在很晚的时候才会暴露问题,让人们措手不及。实际上,如果要避免这些问题,我们应该:
规划最适合要求的PC尺寸规格
考虑系统可行的可靠性选项
计划PC硬件的长期稳定供应
尺寸规格 在选择系统的时候,一个总是被忽略的关键问题就是,它(们)应该安装在哪里。如果一台PC是在写字台这样典型的环境下工作的话,几乎任何的标准尺寸都可以满足要求。但是,如果是将PC嵌入到一台大型机器的底盘上,或者安装到有特殊加载要求的紧凑空间当中,那么PC的规格就要在决策过程中扮演重要的角色了。一般现货型(COTS)计算机的机箱是千变万化的,但是你要选择的尺寸规格还是会限制产品的一些功能,比如CPU的性能、内存的容量、硬盘的数量和大小、PCI扩展槽 的数量和规格、I/O端口的数量以及电源的尺寸和数量。 我不忍说出自己看到过多少次设计工程师因为对嵌入式PC系统考虑不周而沮丧至极。他们没有在事先针对所需系统进行规划,设计的机箱完全被嵌入式PC所占据。我可以列出哪些功能会由于安装PC的底盘对于体积和可靠性方面的限制而无从发挥。在这些情况下,需求需要调整,底盘需要修改,系统也需要ODM(原始设计提供商)重新设计和制造,所有这些都与人们初衷相去甚远。 可靠性 有些时候,设计师不知道很多PC产品的可靠性如何,或者干脆忘记了这个参数。尽管不是绝对的,但是通常那些行业巨头大规模生产和销售的,经过严格工艺加工、测试和检验的产品,会比同样价位出自山寨工厂的竞争者具有好的多的可靠性。但是,这是否意味着为了保证高可靠性,就一定要买名牌产品呢? 也许有例外,但是如果要保证与顶尖系统制造商同样的可靠性,就需要大量的测试和开发资源,还要有可以提供回归等级和失效分析测试的QA过程,这是现在PC行业绝大部分公司不愿承担也无力支付的一笔开支。所以说,至少要考虑一款大规模生产的PC,才能确保可靠性、售后服务和故障诊断能力。 为PC系统选择正确的元件,可以帮助提高可靠性。像固态硬盘(SSD)这样的产品,已经显著提升了PC在其生命周期内的可靠性,但是使用固态硬盘还是有太多需要注意的地方。众所周知,闪存会有一个固定的写入限制,在同一个存储单元写入一定次数之后,该单元就会失效,而失效累积到一定数量的时候,硬盘也就没用了。如果你的项目需要7天24小时不间断的进行写入的话,SSD可能并不是一个理想选择。这时候,你所选择的SSD的类型就格外重要了。 另外,也可以选择内置可靠性强化设计的平台,这样就消除了存在于绝大部分PC之上的诸如电源、风扇、传统硬盘以及其他元件的技术失效的可能。强化设计包括在简单方案中应用的冗余和可热插拔的电源,但是它们并不是普遍适用的,因为随着适用费用逐渐升高、所需的空间也越来越大。还有如下几种可靠性方案在一些现货(COTS)平台上普遍使用:
冗余型电源
热插拔电源
RAID硬盘
热插拔硬盘
冗余型和/或制冷风扇
用于监控硬盘状态的硬盘管理系统、失效报警以及预防性失效报警
当PC的正常运行对于整体解决方案至关重要的时候,这些特征会帮助提高可靠性。 对硬件集群、分布式计算和虚拟化这样非常复杂的解决方案来说,系统正常运行十分重要,它们的要求是正常运行时间比例要达到99.999%。这些解决方案通常价值连城,并且开发周期漫长。 稳定供应 另外一个在硬件选择的时候经常被忽视的方面,就是硬件的生命周期一致性。一旦你要选择一个PC平台,问问自己:
核心平台需要多久才能购买得到?
如果有任何一个元件更换的时候,你的解决方案还能在这个平台上运行吗?
一旦平台需要改变,会对解决方案有什么影响?
我们已经见证了PC技术在过去几十年里的飞速成长,即便在最近速度也没有丝毫的减慢。两年前购买的PC现在看起来就像一件古董,而它的零部件市面基本都已经看不到了。 今天购买一个PC平台,然后在未来的三十个月里不对它进行任何修改,这是可能的。然而,需要尽兴大量的工作,才能保证元件供给是可靠并且稳定的。所以,在确认购买PC平台之前,好好的去跟供应商讨论一下变更管理的问题。 尽管在生命周期当中维持一个平台的稳定供给非常重要,企业也必须要考虑当旧平台难以为继的时候,更换新平台会有什么样的影响。所有的平台都会有寿终正寝的那一天,把它的使用寿命一直延长到元件制造成本都非常昂贵的时候,因为这些元件是基于你的预测而采购的,在使用之前一直储存在某个地方。通常,在下一代平台刚刚推出的时候就采用它,优势多多。 提前计划迁移到新的PC平台,在设计过程中非常关键。生命周期管理需要长期不懈,一刻不能忽视,否则就会像很多公司一样,一旦平台无法继续工作必须迁移到新平台的时候,出现手忙脚乱。 总而言之,如果资金充足的话,设计师可以在PC平台上实现他想要的一切。然而,维护成本最低是绝大多数公司选择方案中优先考虑的一条。如果设计师可以周密计划,不放过PC平台的所有基本特征和功能需求,他们可以在修改最少的基础上降低成本、提高可靠性、尽可能的延长生命周期。