【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)

一、CPU多核和POISX Thread

为了提高任务的计算处理能力,下面分别从硬件和软件层面研究新的计算处理能力

在硬件设备上,CPU 技术不断发展,出现了SMP(对称多处理器)和 NUMA(非一致 性内存访问)两种高速处理的 CPU 结构

在软件层面出现了多进程和多线程编程。进程是内存资源管理单元,线程是任务调度单元

总的来说,线程所占用的资源更少,运行一个线程所需要的资源包括寄存器,栈,程序计数器,早期不同厂商提供了不同的多线程编写库,以充分利用多个不同的线程库,组成POSIX Thread的API分成以下四个大类

1:线程管理 线程管理主要负责线程的create detach join等等 也包括线程属性的查询和设置

2:mutexes 处理同步的例程称为mutex,mutex提供了create destroy lock和unlock等函数

3:条件变量  条件变量主要用于多个线程之间的通信和协调

4:同步 同步用于管理读写锁,以及barriers

POSIX Thread 多线程编程标准

二、MPI并行计算框架

MPI (Message Passing Interface 消息传递窗口 )是一个标准且可移植的消息传递系统,服务于大规模的并行计算

广泛采用的实现有 MPICH

MPICH 包括 ADI3、CH3 Device、CH3Interface、Nemesis、Nemesis Net ModInterface

MPICH架构如下

三、Hadoop MapReduce

Hadoop是一个由 Apache基金会开发的分布式系统基础架构

Hadoop框架最核心的设计就是 HDFS和 MapReduce

HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上,而且它提供高吞吐量来访问应用程序的数据,适合有着超大数据集的应用程序,HDFS放宽了POSIX的要求,可以用流的形式访问文件系统中的数据

MapReduce为海量的数据提供了计算

指 定 一 个 Map 函数 ,用来把一组键值对映射成一组新的键值对, 指定并发的 Reduce函数,用来保证所有映射的键值对中的每一个共享相同的键组

四、Spark

Spark 是 UC Berkeley AMPLab所开源的类 Hadoop MapReduce的通用的并行计算框架

Spark 基于 map-reduce 算法实现的分布式计算,拥有 Hadoop MapReduce 所具有的优点

不同于 MapReduce的是中间输出和结果可以保存在内存中

Spark 最主要的结构是RDD (Resilient Distributed Datasets),它表示已被分区 、不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的 RDD 实现

因此Spark很适合迭代运算比较常见的机器学习算法、交互式数据挖掘等等。

五、数据处理技术的发展

数据处理从早期的共享分时单 CPU 操作系统处理到多核并发处理

早期 Google公司的分布式计算框 架 MapReduce采用的思想就是连接多台廉价的计算设备,以此来提供进行大规模计算任务的能力

为了满足实时计算任务需求,设计实现了流计算框架,比如Spark Streaming、Storm 、Flink 等实时计算框架

目前处理技术在往大规模、低延迟方向发展

创作不易 觉得有帮助请点赞关注收藏~~~

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
186 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
78 2
|
2天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
23 4
|
27天前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
172 5
|
1月前
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用
|
1月前
|
存储 弹性计算 分布式计算
云计算在大数据处理中的优势与挑战
云计算在大数据处理中的优势与挑战
|
20天前
|
SQL 分布式计算 算法
分布式是大数据处理的万能药?
分布式技术在大数据处理中广泛应用,通过将任务拆分至多个节点执行,显著提升性能。然而,它并非万能药,适用于易于拆分的任务,特别是OLTP场景。对于复杂计算如OLAP或批处理任务,分布式可能因数据交换延迟、非线性扩展等问题而表现不佳。因此,应先优化单机性能,必要时再考虑分布式。SPL等工具通过高效算法提升单机性能,减少对分布式依赖。
|
1月前
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
487 0
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
110 2
|
2月前
|
缓存 NoSQL Java
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
71 3
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
下一篇
DataWorks