EEJournal

专题文章
现在就订阅

热链接

符号链接是邪恶的吗?

这个话题本来是一篇博客文章,但是,当尘埃落定后,它变成了一篇文章(正如你可以看到的长度)。你看,应该是一个简单的讨论变得不那么简单了。在我们行业的某些角落,有一种倾向,就是不站出来解决问题,而是在博客和匿名帖子中悄悄说出来,提出的问题比得到的答案更多。

我接下来的愿望最初是要澄清事实。我必须承认,在我的研究结束后,我并没有感觉自己完全掌握了所有的事实——而且相互矛盾的说法仍然存在。因此,我邀请相关公司和任何有经验或对此事感兴趣的人通过评论来权衡。

我想我在这里提一下这整个混乱的原因会有所帮助:这是在微小的地方产生了更多的噪音设计管理(DM) EDA世界的一角。老实说,这个世界上的看法往往是IC Manage做的或说的些挑衅,一场争吵随之而来。在这一点上,我的目标不是评判好人和坏人,而是从废墟中找出问题所在。

让我们从一些背景知识开始,这可能是你们很多人的复习。DM工具的存在是为了管理复杂的文件集和“视图”,这些文件和“视图”主要用于模拟设计。它们也可以用于RTL设计,但是由于RTL设计的行为很像软件设计,许多逻辑设计人员只使用软件配置管理(SCM)工具,而不是更专业的工具。

这里有四个主要的玩家,正如上面DM文章所述:最大的(也是最安静的)是达索,使用他们的Enovia/Synchronicity工具。可以说,他们和Cliosoft都是从头开始构建自己的系统。通过这一点,我将它们与IC Manage和methods进行对比,后者倾向于包装现有的配置管理工具,如Perforce和Subversion。特别是IC Manage,运行了Perforce。

这里的问题是管理文件的机制。任何设计都有大量的相关文件——包括源文件和伴随它们的附属视图。我们说的是成千上万的文件。这个问题涉及到如何用设计人员工作所需的信息填充工作空间。那么多的文件在网络中传输可能会导致延迟,每个人都在寻找解决这个问题的方法。

有三种基本方法,其中两种是最常见的。

  • 镜子似乎是一种更古老的方法。镜像包含一个公共工作区,多个用户可以在其中工作。因为它只能容纳一个设计的单一版本,一个设计人员的更新可能会导致某些文件的新版本被“推”给其他设计人员,当他们不想要它的时候。尽管如此,达索似乎是四家公司中唯一一家使用反射镜的公司,许多大型半导体供应商都使用这种方法(这只是达索提供的一种选择;达索用户没有被强制使用镜像)。
  • 缓存为用户提供了一种更直接的方式来控制他们自己的工作空间。它们可以同时处理多个版本,因此不再存在推送更新的问题。最“直接”的缓存方法通过使用软链接或符号链接(“符号链接”),甚至硬链接(达索提供了一种更快的性能选择),避免了缓存设计中每个文件的成本。这意味着工作区中填充了指向原始文件的链接,并且只有在实际需要时才会读取文件本身。
  • 虚拟文件系统(VFS)用新文件系统包装现有文件系统,新文件系统具有针对DM问题定制的行为和属性。最古老的(直到最近也是唯一的)例子是Clearcase。您可能听到的与此方法相关的其他术语有“版本化对象基础”或“VOB”或“基于FUSE的方法”,其中FUSE代表“用户空间中的文件系统”。后者指的是这样一个事实,即文件系统通常是任何操作系统的一个亲密的低级方面,而在类unix系统中,它是在内核中处理的。FUSE方法在用户空间中实现另一个文件系统。

整个问题的起源是IC Manage引用了一些传统符号链接方法的问题,并宣布他们的Views产品是一种解决方案。视图是一种VFS方法:它们创建了自己的文件系统,包装了Perforce的功能(位于本机文件系统之上)。其他所有使用(或至少提供)基于符号链接的方法的人正在反击。那么是什么原因呢?

IC Manage用他们从调查中收集到的数据加强了他们的产品。其中一个关键问题及其相关答案如下:

“使用符号链接进行磁盘空间管理的最大问题是什么?”

    • 共有524名受访者
    • 75%的人有使用符号链接的经验
      • 28%的人没有问题
      • 72%的人有问题;的人:
        • 49%的人认为镜像缺乏控制,包括强制更新
        • 32%的人认为从缓存中移除版本以节省空间会不稳定
        • 28%的人提到了与文件权限相关的安全问题
          (这些增加到> 100%,因为你可以引用> 1问题)

现在,不可否认,这个问题是有偏见的(“你多久没有停止打你的妻子了?”)然而,他们说同样的调查是每年进行一次的,所以这不仅仅是一次为发布而制作的活动。他们说,这些年来的结果一直是一致的。他们也不只是调查自己的客户:他们租用了一份名单,据估计其中约3%是IC Manage的客户。人们选择的可能答案包括类似于“我不打我妻子”的答案,所以如果没有问题,受访者也不会被迫暗示存在问题。

所以,从表面上看,这似乎是合理的数据。IC Manage Views产品旨在解决受访者所表达的担忧(Broadcom在记录中明确表示支持)。

不用说,市场上的其他参与者并不同意这些结论。以下是一些一般性的讨论要点:

  • IC Manage认为符号链接是脆弱的;为了节省空间而删除的版本可能会破坏一些东西。

方法还表明,拥有数万个符号链接会造成瓶颈。现在,methods和Dassault都使用符号链接,但不像Cliosoft那样指向单个文件。方法论为每个库使用一个符号链接;达索每个“模块”使用一个。

另一方面,Cliosoft认为,使用符号链接不会造成网络瓶颈,而是减少了流量,因为只有实际需要读取的单个文件(在任何给定时间,项目中文件的一小部分)需要传输;符号链接本身很小,可以减少流量。

最初,我认为inode(“索引节点”)的数量曾经是一个问题,但现在不再是这样了。无论您使用的是文件还是链接,两者都使用inode,因此从这个角度来看,两者并不比另一个更好。

至于被删除的版本破坏的东西,符号链接都似乎是在缓存中使用的,所以没有破坏什么,一个丢失的文件只需要重新读取(诚然需要时间,但不属于损坏)。

  • IC管理包括一个本地磁盘缓存,使数据更接近和更容易读取。(写是从头到尾写的。)

每个人似乎都同意,拥有本地缓存可以让事情变得更快。IC Manage似乎并不是唯一一家提供这种服务的公司。至于本地读/透写的好处,显然NFS已经做到了——文件系统中有一些缓存,所以这不是视图独有的。

另一个注意事项是,大多数工作不是在本地机器上完成的:本地机器只是提供到实际设计所在的网络服务器的连接。通过保留在网络服务器中,设计可以定期备份,如果它们在本地机器上,则不会这样做。

Cliosoft利用的网络存储的另一个好处是快照:它们对签出的文件进行定期快照,这样如果有任何问题或文件损坏,可以从快照中重建它们。

此外,许多需要大量文件的处理(如模拟)由LFS发送到农场中的某些机器。因为您不知道这将是哪台机器,所以预缓存没有多大影响。

一种普遍的观点是,使用符号链接进行缓存所做的事情与Views所做的事情相同,只是显式和透明。视图也可以做同样的事情,但是系统是专有的和不透明的。methods利用了Perforce的“搁置”功能,他们认为这比专有系统更简单、更安全。

  • 有一种说法是,“Clearcase几年前就这么做了——(到目前为止)还没有人采取过同样的方法。”

这不是一个完全令人信服的论点,但它确实反映了一些事实。其中一个反映了我在90年代末开始了解Clearcase时的印象。我的感觉是,当您购买Clearcase时,您还需要购买一个专门的IT人员来管理它。另一个评论,“vob已经关闭了,”据报道,这是一个很常见的事情。

这个问题的本质是,这样的系统构建起来非常复杂,而且,因为它们不透明,当东西坏了,你就会陷入困境。建议It人员对实现全新的专有文件系统非常谨慎,因为文件系统是任何计算基础设施的基础。我还没有听到哪个IT人员直接这么说过,所以这可能只是猜测(如果你们中有人是IT人员,请在评论中发表意见)。

  • 镜子坏。

好吧,我把它简化了。但差距并不大。似乎没有人争论镜像在推送版本更新方面存在问题。它们似乎是一种仍然有追随者的老技术,但缓存要普遍得多。

  • IC Manage必须这样做,因为Perforce不能像其他系统那样优化磁盘空间。

如果是这样的话,那么其余的论点听起来就像是转移注意力的东西。我不是一个Perforce用户(并且想在某个时候结束这个讨论),我将把它留给其他人来评论。(“我是医生,不是多边形专家!”)

  • 博通表示,可以在不到15秒的时间内填充10000个文件。

Cliosoft说要在更短的时间内完成10万个文件。(我不相信他在这之后加了一个“Neener”。)

  • 视图成为设计环境中一个可见的方面(请原谅这个双关语)。

这与担心有关,如果视图崩溃,您就不走运了。从另一个角度来看,这个论证说Views与其他系统相比是一个“障碍”。例如,达索公司表示,在你设置好他们的系统后,它就不会碍事了;它在背景中不显眼地工作。

  • 使用符号链接的系统存在安全问题,因为您无法在必要的粒度级别上管理权限。

其他人似乎都不认为这是个问题;权限通常是由系统自己处理的(比如缓存服务器),所以个人设计师不会在那里捣乱。事实上,在大多数情况下,他们不能:他们没有正确的权限。

  • 符号链接坏。

这或多或少概括了IC Manage最高级别的争论。除了我已经给出的关于符号链接的评论之外,达索认为它们并不是真正的问题。是的,每个人都希望一切都更快,但这并不是符号链接的阻碍。一般来说,一个共同的主题是,在一天结束时,如果您必须读取一个文件,那么您需要打开该文件。无论这是通过硬链接、符号链接还是其他系统完成的,这些比特都将在网络上传输——这是无法避免的。如果这是瓶颈,那么这些系统就不起作用了。

事实上,Cliosoft提到了一个RTL设计公司,在所有的东西中,专门挑选了它们因为他们使用符号链接。Oi !

如果确实只有Views能够选择性地打开并缓存所需的文件,那么情况就不同了。但它似乎只是符号链接中已经完成的事情的另一种方式;据我所知,在网络带宽上并没有节省太多。我可能错了……

我确信我在这里漏掉了一些问题,也许我的解释与我交谈过的任何一个或更多的人都不同。或者你们正在读这篇文章的人。如果是这样,请畅所欲言,告诉我们你对现实的看法。

郑重声明,我采访过的官方发言人(包括现场和重复的电子邮件)是:

  • IC Manage的Shiv Sikand和Dean Drako
  • 来自Cliosoft的Srinath Anantharam
  • 方法论公司的西蒙·巴特勒
  • 达索公司的里克·斯坦顿

我感谢他们(以及他们的公关人员)在我用电子邮件纠缠他们时所表现出的耐心。

关于“热点链接”的一个想法

留下回复

有特色的博客
2023年4月4日
当今复杂的模拟混合信号设计需要高精度和快速仿真。让我们来谈谈Cadence Spectre FX模拟器,这是下一代FastSPICE模拟器。Spectre FX模拟器提供高达3X瞬态仿真性能与等效…
2023年4月3日
如果你对计算机的历史感兴趣,那么这是一个“必看”的视频!
2023年3月31日
了解半导体行业如何(以及为什么)正在向芯片支持的多模系统发展,我们的研究文章在麻省理工学院的技术评论见解。文章《全行业看向多晶片系统的发展》首先出现在新视野芯片设计....上

有特色的视频

第一个CXL 2.0 IP互操作性演示与遵从性测试

Synopsys对此

在本视频中,高级研发工程师Rehan Iqbal将指导您通过Synopsys CXL IP通过合规测试,并演示我们与Teladyne LeCroy Z516锻炼器的无缝互操作性。这个首创的互操作性演示证明了Synopsys致力于提供可靠的IP解决方案。

点击这里了解更多关于Synopsys CXL的信息

特色粉笔谈话亚博里的电子竞技

太阳能电池优化室内应用
太阳能电池技术比以往任何时候都更受欢迎,但当涉及到光伏电池技术的新应用时,我们才刚刚开始触及表面。在这一集Chalk Talk中,Ame亚博里的电子竞技lia Dalton与来自TDK的Chris Burket聊了聊光伏电池的基础知识,TDK的a-SI薄膜太阳能电池与当今市场上其他太阳能电池技术的区别,以及可以利用这种强大技术的酷炫新应用。
2022年5月26日
37876的浏览量
Baidu