标签: scalability

你是如何利用Multicore的?

作为来自企业Web开发世界的HPC世界中的某个人,我总是很想知道回到"现实世界"的开发人员如何利用并行计算.现在所有芯片都在进行多核处理,这就更加重要了,当芯片上有数千个内核而不是少数内核时,它会更加相关.

我的问题是:

  1. 这对您的软件路线图有何影响?
  2. 我对关于多核如何影响不同软件领域的真实故事特别感兴趣,因此请说明您在答案中做了哪种开发(例如服务器端,客户端应用程序,科学计算等).
  3. 您正在使用现有代码来利用多核计算机,以及您面临的挑战是什么?您使用的是OpenMP,Erlang,Haskell,CUDA,TBB,UPC还是其他什么?
  4. 当并发级别继续增加时,您打算做什么?您将如何处理数百或数千个内核?
  5. 如果您的域名容易从并行计算中受益,然后解释为什么是有趣的.

最后,我将此视为一个多核问题,但随意谈论其他类型的并行计算.如果您正在移植部分应用程序以使用MapReduce,或者如果大型集群上的MPI是您的范例,那么也要明确提及.

更新:如果您回答#5,请提及您是否认为如果有更多内核(100,1000等)可以改变,而不是可以提供可用内存带宽(看看每个内核带宽越来越小) ).您是否仍可以将剩余的核心用于您的应用程序?

parallel-processing concurrency scalability multicore

61
推荐指数
7
解决办法
7356
查看次数

如何设计可扩展应用程序?

您如何设计/构建可伸缩的应用程序?任何有助于理解如何扩展应用程序的书籍或网站的建议?

谢谢

architecture scalability

61
推荐指数
1
解决办法
5万
查看次数

自动完成算法?

我指的是当用户在Google中键入搜索字词时用于提供查询建议的算法.

我主要感兴趣的是:1.最重要的结果(最有可能是查询而不是匹配的任何东西)2.匹配子串3.模糊匹配

我知道你可以使用Trie或generalized trie来找到匹配,但它不符合上述要求......

这里提到类似的问题

algorithm scalability autocomplete autosuggest data-structures

60
推荐指数
4
解决办法
6万
查看次数

Parse的可扩展性如何?

我一直在考虑将Parse.com的服务用于我的后端,但我对它的可扩展性持怀疑态度.

它能真正处理几千个并发用户吗?如果没有,他们有什么好的方式从它过渡?

iphone parsing scalability parse-platform

55
推荐指数
8
解决办法
2万
查看次数

Sticky Session/Session Affinity负载消除策略的优缺点?

高可扩展性的一种方法是使用网络负载平衡来分割多个服务器之间的处理负载.

这种方法提出的一个挑战是服务器是状态感知的 - 将用户状态存储在"会话"中.

该问题的一个解决方案是"粘性会话"(又名"会话亲和性"),其中每个用户被分配给单个服务器,并且他/她的状态数据在整个会话期间专门包含在该服务器上.

"粘性会话"方法的优点和缺点是什么?你是否使用它,如果是这样,你对它感到满意吗?

session scalability load-balancing sticky

52
推荐指数
1
解决办法
3万
查看次数

可伸缩性和弹性之间有什么区别?

我听说很多人互换使用这两个术语.但是,在我看来,它们之间存在差异:

可扩展性 - 系统增加当前硬件资源工作量的能力(扩大规模);

弹性 - 系统增加其当前和附加(动态添加的按需)硬件资源(缩小)的工作量的能力;

弹性与部署在云应用程序密切相关.

我是否区分了这两种非功能性软件特性呢?可能有人提供具体的例子,所以我们可以在这两个术语之间划出更明显的界限吗?

cloud scalability elasticity

52
推荐指数
6
解决办法
6万
查看次数

O(N)是什么意思

可能重复:
什么是Big O表示法?你用它吗?

大家好,

相当基本的可扩展性符号问题.

我最近收到了一篇关于我的python有序列表实现的帖子的评论"但要注意你的'有序集'实现是插入的O(N)"

很高兴知道,但我不确定这意味着什么.

我看过n(o)o(N),N(o-1)或N(o*o)等符号

上述符号是指什么?

performance big-o scalability set

45
推荐指数
5
解决办法
6万
查看次数

Meteor.js中构建的Web应用程序可以处理多少并发用户?

我们正在构建一个网络应用程序,将在比赛期间用于投票选手并在中央显示器上显示实时投票统计数据.

比赛将持续15分钟,大约4000名用户将在这段时间内连接到网络应用程序并发送投票,但每个用户设备都是唯一的.

我们正在考虑使用Meteor.js开发这样的Web应用程序.但是,由于我们在为大量并发用户和Meteor.js的beta状态开发服务方面经验不足,我们对该项目的实际可行性存在一些担忧.

以下是我们要解决的问题:

  1. 有关Meteor可以处理多少并发用户的基准吗?我认为这取决于Web应用程序本身的复杂性.在我们的例子中,它将是相当直接的,只有用于中央显示器的客户端将订阅实时Mongo查询votes.find({}),其余用户将只看到vote/ already voted按钮.

从真实案例或测试场景中获取一些数据对我们有很大帮助.

  1. Meteor的基础设施能够处理4000个用户吗?或者我们应该去寻找这个已删除问题中列出的其他托管解决方案(您需要10k + rep才能看到它)?

  2. 是否有任何特定于Meteor.js的性能考虑因素我们应该注意什么?

我们已经看过类似的帖子,但是他们都没有在如此短的时间内处理如此大量的用户:

此外,我们可以使用Cluster智能包.有人有这方面的经验吗?

javascript scalability meteor

44
推荐指数
3
解决办法
1万
查看次数

Scala是否比其他JVM语言更好地扩展?

这是目前我所知道的唯一方式.理解它Scala使用Java虚拟机.我以为Jruby也是.Twitter将其中间件转换为Scala.他们可以做同样的事情并使用Jruby吗?

他们是否可以从Jruby开始,而不是因为他们的缩放问题导致他们首先从Ruby迁移到Scala?我不明白Jruby是什么?我假设因为Jruby可以使用Java,它会缩放到Ruby不会的地方.

在这种情况下,这一切都归结为静态与动态类型吗?

ruby twitter scala scalability jruby

41
推荐指数
4
解决办法
7330
查看次数

如何制作分布式node.js应用程序?

创建node.js应用程序非常简单.

var app = require('express')();
app.get('/',function(req,res){
    res.send("Hello world!");
});
Run Code Online (Sandbox Code Playgroud)

但是假设人们开始沉迷于你的Hello World!应用程序并耗尽你的资源.这个例子如何在实践中扩大规模?我不明白,因为是的,你可以在不同的计算机上打开几个node.js实例 - 但是当有人访问http://your_site.com/时,它直接针对那个特定的机器,那个特定的端口,那个特定的节点进程.又怎样?

scalability http node.js

41
推荐指数
2
解决办法
2万
查看次数