建模复杂分布式系统的机会

||评论()

建模系统一直是计算机科学家工具箱的一部分。我们经常尝试将系统带回简单的队列模型,以理解吞吐量和延迟问题,然后使用这些结果来预测资源使用和驱动器分配。人们真的能相信这样一个简单的模型能够准确地反映现实吗?随着基于大规模自主服务模型的分布式系统复杂性的增加,这些技术变得越来越不可靠。

我希望使用建模技术来关注不仅仅是实现简单的sla。我想了解在特定节点和网络配置的组合中使用特定算法的成本影响,特别是在特定的故障场景下。在服务或应用程序的设计阶段,我会使用这样的经济模型,根据成本影响评估不同算法,以实现一致性和可用性。例如,如果某个服务需要实现状态持久性,使其能够在完全的数据中心宕机后生存下来,并且该服务需要由具有一定SLA的十个数据中心中的客户访问,那么就需要做出一系列的算法和配置选择。

在这些情况下,系统设计通常集中在试图首先实现性能和可用性sla,这本身就非常困难。不同算法和配置选择的经济性通常被认为是次要的。然而,当你确定一个系统的成本,你必须考虑的大小的选择复制单位结合存储节点的密度,存储系统的可靠性,成本的阶跃函数inter-datacenter网络、数据缓存的位置和可靠性。这将导致基本成本加上每个存储操作的成本,与概率系统相比,基于quorum的系统中的成本是不同的。当您在此建模中考虑从缓存节点、存储节点或数据中心故障中恢复的成本时,这一点尤其正确。

许多人认为投入大量廉价的硬件解决问题就是这些问题的答案,但是我们的经验是,当考虑复杂的多数据中心配置时,答案就不那么明显了。当我们构建新的服务时,我们需要更好的模型来处理这些非常复杂、多变量的场景,以确保我们以正确的成本构建正确的服务。在亚马逊,我们很幸运,有很多数据可以让我们在这些问题上取得进展。

我需要有经验的工程师/科学家与我一起解决复杂分布式系统建模的问题。为了符合这些工作的条件,以下是我将寻找的一些东西:

  • 你对分布式系统和网络有非常扎实的理解
  • 你知道如何进行数据驱动分析,并真正理解统计
  • 了解大规模监控和数据收集架构
  • 您熟悉分布式系统建模的当前技术状态
  • 你是一个有经验的工程师,有建造复杂系统的记录
  • 如果你不是那么有经验,你可能有一个高级学位,在复杂的分布式系统建模方面证明了专业知识,并证明参与过大型软件项目(例如开源)。
  • 您已经证明有能力有效地传达数据分析和建模的结果
  • 您住在或愿意搬到大西雅图地区

如果你对这份工作感兴趣,并且觉得你能胜任,请给我发一封电子邮件,附上你的简历。

评论

博客评论由Disqus