博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据密集、计算密集、IO密集
阅读量:2343 次
发布时间:2019-05-10

本文共 1955 字,大约阅读时间需要 6 分钟。

转自

I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多,此时,系统运作,大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写,此时 CPU Loading 不高。

计算密集型 (CPU-bound) 也有人认为是Compute-Intensive

CPU bound 指的是系统的 硬盘/内存 效能 相对 CPU 的效能 要好很多,此时,系统运作,大部分的状况是 CPU Loading 100%,CPU 要读/写 I/O (硬盘/内存),I/O在很短的时间就可以完成,而 CPU 还有许多运算要处理,CPU Loading 很高。

在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPU bound。例如一个计算圆周率至小数点一千位以下的程序,在执行的过程当中

绝大部份时间用在三角函数和开根号的计算,便是属于CPU bound的程序。

CPU bound的程序一般而言CPU占用率相当高。这可能是因为任务本身不太需要访问I/O设备,也可能是因为程序是多线程实现因此屏蔽掉了等待I/O的时间。

而I/O bound的程序一般在达到性能极限时,CPU占用率仍然较低。这可能是因为任务本身需要大量I/O操作,而pipeline做得不是很好,没有充分利用处理器能力。

在计算密集中,当时关注超级计算、高性能计算、网格计算等主要以计算速度为追求指标。

数据密集(Data-Intensive)

   在2011年,"大数据"的概念已经赚足了人气,调研机构IDC数字宇宙在2011年6月的报告显示,全球数据量在2011年已达到1.8ZB,在过去5年里增加了5倍,而到2015年将达到近8ZB.进入2012年,大数据丝毫不会放慢增长的步伐,全球制造业、政府、零售商、金融等众多机构已经陷入"数据爆炸"的困境。随着数据量的急剧增长,以及对数据在线处理能力的要求不断提高,海量数据的处理问题越来越受到关注。在金融、电信等领域,都需要通过对大量的用户数据进行分析,才能做出相应的决策。对互联网数据进行和处理的海量数据处理系统也开始向数据密集型计算系统发展。

   数据密集型应用与计算密集型应用是存在区别的,传统的计算密集型应用往往通过并行计算方式在紧耦合的超级计算机上运行少量计算作业,即一个计算作业同时占用大量计算机节点;而数据密集型应用的特点主要是:

1.         大量独立的数据分析处理作业可以分布在松耦合的计算机集群系统的不同节点上运行;

2.         高度密集的海量数据I/O吞吐需求;

3.         大部分数据密集型应用都有个数据流驱动的流程。

数据密集型计算指能推动前沿技术发展的对海量和高速变化的数据的获取、管理、分析和理解。这包含了三层含义:

●    它所处理的对象是数据,是围绕着数据而展开的计算。它需要处理的数据量非常巨大,且快速变化,它们往往是分布的、异构的。因此,传统的数据库管理系统不能满足其需要。

●    "计算"包括了从数据获取到管理再到分析、理解的整个过程。因此它既不同于数据检索和数据库查询,也不同于传统的科学计算和高性能计算。它是高性能计算与数据分析和挖掘的结合。

●    它的目的是推动技术前沿发展,要想推动的工作是那些依赖传统的单一数据源、准静态数据库所无法实现的应用。

数据型密集计算的典型应用可概括为以下三类:

1)Web应用:无论是传统的搜索引擎还是新兴的Web 2.0应用,它们都是以海量数据为基础,以数据处理为核心的互联网服务系统。为支持这些应用,系统需要存储、索引、备份海量异构的Web页面、用户访问日志以及用户信息(Profile),并且还要保证对这些数据快速准确的访问 。显然,这需要数据密集型计算系统的支持,因而WEB应用成为数据密集型计算发源地。

2)软件即服务(Software as a Service, SaaS)应用:SaaS通过提供公开的软件服务接口,使得用户能够在公共的平台上得到定制的软件功能,从而为用户节省了软硬件平台的购买和维护费用,也为应用和服务整合提供了可能。由于用户的各类应用所涉及的数据具有海量、异构、动态等特性,有效地管理和整合这些数据,并在保证数据安全和隐私的前提下提供数据融合和互操作功能需要数据密集型计算系统的支持。

3)大型企业的商务智能应用:大型企业往往在地理上是跨区域分布的,互联网提供了统一管理和全局决策的平台。实现企业商务智能需要整合生产、销售、供应、服务、人事、财务等一系列子系统。数据是整合的对象之一,更是实现商务智能的基础。由于这些系统中的数据包括产品设计、生产过程以及计划、客户、订单、售前后服务等数据,除类型多样,数量巨大外,结构也是复杂、异构的。数据密集型计算系统是实现跨区域企业商务智能的支撑技术。

转载地址:http://ulbvb.baihongyu.com/

你可能感兴趣的文章
memmove 和 memcpy的区别以及处理内存重叠问题
查看>>
费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
查看>>
C/C++中变量的存储位置
查看>>
C++中四种强制类型转换区别详解
查看>>
linux gdb的详细用法 运行与断点
查看>>
删除vector中重复元素
查看>>
和为s的连续正数序列
查看>>
什么是Redis?什么是nosql?NoSQL数据库的四大分类
查看>>
为什么说Redis是单线程的以及Redis为什么这么快!
查看>>
redis的过期健删除策略以及内存淘汰机制
查看>>
map 如何使用结构体作为自定义键值
查看>>
Mysql几种索引类型的区别及适用情况
查看>>
Redis持久化的两种方式
查看>>
判断一个数组,是否可以分成两个数组之和相等的数组
查看>>
背包问题
查看>>
结构体变量之间的比较和赋值原理
查看>>
C++ const修饰函数、函数参数、函数返回值
查看>>
将单链表的每k个节点之间逆序
查看>>
删除链表中重复的节点——重复节点不保留
查看>>
2018腾讯校招编程题——最重要的城市
查看>>