gpt4 book ai didi

scalability - 为什么不按比例扩大与按比例扩大?

转载 作者:行者123 更新时间:2023-12-04 09:38:10 26 4
gpt4 key购买 nike

作为程序员,我每隔几年就会做出革命性的发现。在阶段中,我要么领先于曲线,要么落后于曲线π。我学到的一个艰苦的教训是,向外扩展并不总是更好,通常,当我们重新组合和扩展时,最大的性能提升就是。

您有什么理由要横向扩展还是向上扩展? 价格,性能,愿景,预期用途?如果是这样,这对您有何作用?

我们曾经扩展到数百个节点,这些节点将序列化必要的数据并将其缓存到每个节点,并在记录上运行数学处理。需要对数十亿条记录进行(交叉)分析。进行横向扩展是完美的业务和技术案例。我们一直在优化,直到我们在26小时的壁钟中处理了大约24小时的数据为止。长话短说,我们租用了一个巨大的(当时)IBM pSeries,将Oracle Enterprise放在上面,对我们的数据建立了索引,并最终在大约6个小时内处理了24小时相同的数据。对我来说是革命。

如此多的企业系统使用OLTP,并且数据没有分片,但是许多人希望集群化或向外扩展。这是对新技术或感知性能的 react 吗?

当今一般的应用程序或我们的编程 Material 是否更适合横向扩展?我们/将来是否应该始终考虑这一趋势?

最佳答案

毫不奇怪,这完全取决于您的问题。如果您可以轻松地将其划分为沟通不多的子问题,那么向外扩展可以带来微不足道的加速。例如,在1B网页中搜索单词可以通过一台机器搜索1B页来完成,也可以通过1M机器分别进行1000页来完成,而不会显着降低效率(因此,速度提高了1,000,000倍)。这称为“令人尴尬的并行”。

但是,其他算法确实需要在子部分之间进行更深入的交流。您的需要交叉分析的示例是一个很好的示例,该示例表明交流经常会淹没添加更多盒子的性能。在这些情况下,您需要将通信保持在(更大的)盒子内,通过高速互连,而不是像(10-)Gig-E那样“常见”的东西。

当然,这是一个理论上的观点。其他因素,例如I/O,可靠性,易于编程(一台大型共享内存计算机通常比群集所带来的麻烦要少得多)也会产生很大的影响。

最后,由于使用廉价的商品硬件进行扩展所带来的(通常是极端的)成本 yield ,集群/网格方法最近吸引了更多的(算法)研究。这使得已经开发出了新的并行化方法,可以最大程度地减少通信,从而在集群上做得更好-而常识则表明,这些类型的算法只能在大型钢铁机器上有效运行...

关于scalability - 为什么不按比例扩大与按比例扩大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com