分布式系统与云计算性能解析
立即解锁
发布时间: 2025-08-29 10:37:54 阅读量: 12 订阅数: 29 AIGC 


从云到物联网的分布式未来
### 分布式系统与云计算性能解析
#### 1. 大数据源
在当今数据驱动的世界里,大数据源无处不在。从科学领域来看,天文学、基因组学、自然语言处理和地震建模等应用会产生庞大的数据库。同时,扫描的书籍、报纸和历史文献也形成了一个数据海洋。在商业方面,企业销售、股票市场交易、人口普查数据和航空交通数据等,每天都需要处理大量数据集。娱乐和医学领域同样也是大数据的重要来源。
下面通过两个具体例子进行说明:
- **沃尔玛数据仓库**:沃尔玛在全球有6000家门店,供应链涉及1万多家制造商,每天销售2.67亿件商品。惠普帮助沃尔玛建立数据中心,每天处理4PB的数据。沃尔玛需要进行数据密集型可扩展计算(DISC),以进行供应链的数据挖掘和管理、了解市场趋势以及制定定价策略。
- **斯隆数字巡天**:位于新墨西哥天文台的望远镜每天捕获200GB的图像数据,其最新数据集包含了关于2.87亿个外太空物体的10TB数据。斯隆使用SkyServer持续提供类似DISC的数据处理SQL访问。
要构建DISC系统来处理这些海量数据,需要解决处理管道狭窄的问题。多核GPU的使用为在DISC应用中利用大规模数据级并行性提供了可能的解决方案。虽然云计算与超级计算机相比速度可能较慢,但通过大量数据中心的协同工作可以实现大规模并行性。
#### 2. DISC系统与超级计算机对比
|特征|传统超级计算机|数据密集型可扩展计算(DISC)系统|
| ---- | ---- | ---- |
|系统架构|从远程站点检索数据并带入系统执行,数据移动开销大|收集和维护数据的HTC数据中心集群,计算与存储共置以实现更快访问,无数据移动开销|
|编程模型|依赖机器的底层程序,使用较少软件工具,需要专家优化|与机器无关的应用程序,使用运行时系统控制通过负载均衡等优化执行|
|系统访问和使用模型|资源就绪时用于批处理的主机器,在远程站点进行离线可视化|具有优先级控制和用户干预的交互式访问,可同时服务大量用户|
|可靠性问题|脆弱系统,从最近检查点恢复,维护时必须关闭系统|灵活的错误检测和恢复,使用冗余技术在故障时进入优雅降级操作|
从对比中可以看出,传统超级计算机主要以批处理模式使用,用户控制有限,数据移动和I/O活动频繁,程序执行优化困难,但在一切就绪时具有持续的原始速度优势。而DISC系统是HTC数据中心集群,具有服务器集群的优势,能更好地满足大量同时用户的需求,任务吞吐量高,数据中心可消除单点故障,更可靠、可用性高,对小用户更具成本效益和时间/空间效率,还能使用云服务模型处理分布式计算应用。
#### 3. HPC/HTC系统性能指标
##### 3.1 基本性能属性
评估大规模并行处理系统(MPPs)、数据中心集群和虚拟化云的性能模型可能有很大差异。为适应云计算范式的分层结构,基础设施即服务(IaaS)的性能指标是建模平台即服务(PaaS)性能的基础,而适用于建模PaaS性能的属性则是评估软件即服务(SaaS)性能的基础。一个好的模型应能涵盖所有计算服务层,并且适用于不同工作负载分布下的各种云平台。评估云服务的服务质量(QoS)时,顶层(SaaS)的影响应对下层(PaaS和IaaS)保持透明。云平台应能同时服务多个用户,因此多任务处理是评估分布式系统性能的必要条件。本节介绍了五个基本性能指标:系统吞吐量、多任务可扩展性、可用性度量、数据安全性和成本效益。
##### 3.2 系统吞吐量和效率
系统吞吐量衡量分布式系统或云平台单位时间内完成的作业数量。它受多个关键因素影响,这些因素决定了给定时间窗口内所有作业的总执行时间(Ttotal)。每个提交的作业可能会经历获取资源的启动时间,包括所有机器实例的启动时间和传入用户作业的调度时间。应用程序的类型会限制水平可扩展性。一般来说,这些开销可归结为五个组成部分:基础设施启动延迟、资源供应延迟、作业间通信延迟、操作系统开销和加载应用程序软件开销。
为简化分析,将这五个时间因素合并为一个单一的开销时间kTo,其中To是在固定时间间隔内运行多个作业的平均总和,k是一个与平台相关的系数,随特定系统配置而变化。设Te(n, m)是在云平台上完成n个独立作业的有效执行时间,其中m表示给定系统配置中的机器实例数量。
系统吞吐量(π)的计算公式为:
\[π = n/Ttotal = n/[kTo + Te(n, m)]\]
在理想情况下,假设开销kTo与执行时间Te相比非常小或为零,理想吞吐量则为n/Te(n, m)。
系统效率(α)通过归一化吞吐量定义:
\[α = π/[n/Te(n, m)] = Te(n, m)/[kTo + Te(n, m)]\]
系统效率代表了系统中所有配置资源的有效利用率。需要注意的是,Te(n, m)中的参数n和m会随工作量(用户数量)、系统规模(m)以及应用的并行和分布式计算模型而变化。
以下是系统吞吐量和效率计算的流程:
1. 确定所有作业的总执行时间Ttotal,包括开销时间kTo和有效执行时间Te(n, m)。
2. 根据公式计算系统吞吐量π。
3. 计算理想吞吐量n/Te(n, m)。
4. 根据公式计算系统效率α。
##### 3.3 多任务可扩展性
多任务处理意味着系统能够同时或并发处理多个作业。系统服务应能够在机器或集群规模上进行水平扩展,以及从应用程序到中间件、运行时和操作系统支持以及硬件的垂直扩展。动态扩展资源的能力对于提供弹性资源至关重要。
水平可扩展性是指增加相同类型的云资源,例如云中的虚拟机实例数量。垂
0
0
复制全文
相关推荐









