计算密集型、IO密集型、数据密集型

计算密集型(CPU-Intensive)

1、特点:要进行大量的计算,消耗CPU资源。比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。

2、计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的核心数。

3、计算密集型任务由于主要消耗CPU资源,因此,代码运行效率至关重要。Python这样的脚本语言运行效率很低,完全不适合计算密集型任务。对于计算密集型任务,最好用C语言编写。

IO密集型(IO-Intensive)

1、涉及到网络、磁盘IO的任务都是IO密集型任务。

2、特点:CPU消耗很少,任务的大部分时间都在等待IO操作完成(因为IO的速度远远低于CPU和内存的速度)。

3、对于IO密集型任务,任务越多,CPU效率越高,但也有一个限度。常见的大部分任务都是IO密集型任务,比如Web应用。

4、IO密集型任务执行期间,99%的时间都花在IO上,花在CPU上的时间很少,因此,用运行速度极快的C语言替换用Python这样运行速度极低的脚本语言,完全无法提升运行效率。对于IO密集型任务,最合适的语言就是开发效率最高(代码量最少)的语言,脚本语言是首选,C语言最差。

文章转载自:http://blog.csdn.net/qq_24885695/article/details/70214270

 

数据密集(Data-Intensive)

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

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

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

扫描二维码关注公众号,回复: 4673657 查看本文章

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

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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/Scrat_Kong/article/details/84947414