1、学习任务学习任务可扩展标记语言可扩展标记语言 高性能计算高性能计算 海量数据数据库技术 Click to add title in here 123本章主要涉及:本章主要涉及:4边缘计算边缘计算 学习任务学习任务物联网大数据处理物联网大数据处理 人工智能技术人工智能技术 人机交互技术人机交互技术 Click to add title in here 567本章主要涉及:本章主要涉及:4语义网语义网 9.1 可扩展标记语言可扩展标记语言 XML(Extensible Markup Language)即可扩展)即可扩展标记语言,它与标记语言,它与HTML一样,都是一样,都是SGML(Standar
2、d Generalized Markup Language,标准通用标记语标准通用标记语言言)。Xml是是Internet环境中跨平台的,依赖于内容的技术,环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。是当前处理结构化文档信息的有力工具。9.1.1 可扩展标记语言(可扩展标记语言(XML)简介)简介 扩展标记语言扩展标记语言XML是一种简单的数据存储语言,是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,可以用方便的方式建立,虽然虽然XML占用的空间比二进制数据要占用更多占用的空间比二进制数据
3、要占用更多的空间,但的空间,但XML极其简单易于掌握和使用。极其简单易于掌握和使用。9.1.1 可扩展标记语言(可扩展标记语言(XML)简介)简介1.XML语法语法 在在XML中,采用了如下的语法:中,采用了如下的语法:(1)任何的起始标签都必须有一个结束标签。任何的起始标签都必须有一个结束标签。(2)可以采用另一种简化语法,可以在一个标签中可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(这种语法是在大于符号之前紧跟一个斜线(/),),例如例如。XML解析器会将其翻译成解析器会将其翻译成。9.1.1 可扩展标记语言(
4、可扩展标记语言(XML)简介)简介(3)标签必须按合适的顺序进行嵌套,标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,所以结束标签必须按镜像顺序匹配起始标签,这好比是将起始和结束标签看作是数学中的左这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。不能关闭外面的括号的。(4)所有的特性都必须有值。所有的特性都必须有值。(5)所有的特性都必须在值的周围加上双引号。所有的特性都必须在值的周围加上双引号。9.1.1 可扩展标记语言(可扩展标记语言(XML)简介)简介2.XML实例实例 A
5、n Introduction to XML Chunbin 2010 98.0 The Performance of DataBase John 1996 56.0 9.1.1 可扩展标记语言(可扩展标记语言(XML)简介)简介 上面的上面的XML文档对应的树形结构如下:文档对应的树形结构如下:XML文档对应的树形结构文档对应的树形结构 9.1.2 可扩展标记语言特性可扩展标记语言特性 XML与与Access,Oracle和和SQL Server等数据等数据库不同,数据库提供了更强有力的数据存储和库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相分析能力,例如:数
6、据索引、排序、查找、相关一致性等,关一致性等,XML仅仅是展示数据。仅仅是展示数据。事实上事实上XML与其他数据表现形式最大的不同与其他数据表现形式最大的不同是:它极其简单。是:它极其简单。XML与与HTML的设计区别是:的设计区别是:XML是用来存储是用来存储数据的,重在数据本身。而数据的,重在数据本身。而HTML是用来定义是用来定义数据的,重在数据的显示模式。数据的,重在数据的显示模式。9.1.2 可扩展标记语言特性可扩展标记语言特性 XML的简单使其易于在任何应用程序中读写数据,的简单使其易于在任何应用程序中读写数据,这使这使XML很快成为数据交换的唯一公共语言,意很快成为数据交换的唯一
7、公共语言,意味着程序可以更容易的与味着程序可以更容易的与Windows、Mac OS,Linux以及其他平台下产生的信息结合,以及其他平台下产生的信息结合,然后可以很容易加载然后可以很容易加载XML数据到程序中并分析他,数据到程序中并分析他,并以并以XML格式输出结果。格式输出结果。9.1.3 可扩展标记语言文档结构可扩展标记语言文档结构 每个每个XML文档都由文档都由XML序言开始,在前面的代码中的序言开始,在前面的代码中的第一行便是第一行便是XML序言,序言,。这一行代码会告诉解析器和浏览器,这个文件应该按照这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的前面讨论过的XML规则
8、进行解析。规则进行解析。第二行代码,第二行代码,则是文档元素(,则是文档元素(document element),它是文件中最外面的标签(我们认为元素),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。)是起始标签和结束标签之间的内容)。9.1.3 可扩展标记语言文档结构可扩展标记语言文档结构 所有其他的标签必须包含在这个标签之内来所有其他的标签必须包含在这个标签之内来组成一个有效的组成一个有效的XML文件。文件。XML文件的第二行文件的第二行并不一定要包含文档元素;如果有注释或者其并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。他
9、内容,文档元素可以迟些出现。范例文件中的第三行代码是注释,你会发范例文件中的第三行代码是注释,你会发现它与现它与HTML中使用的注释风格是一样的。这中使用的注释风格是一样的。这是是XML从从SGML中继承的语法元素之一。中继承的语法元素之一。9.1.3 可扩展标记语言文档结构可扩展标记语言文档结构 XML 文档结构文档结构 9.1.4 XML的优势的优势 XML 的优势有以下六个方面:的优势有以下六个方面:XML可以从可以从HTML中分离数据中分离数据 XML用于交换数据用于交换数据 XML可以用于共享数据可以用于共享数据 XML可以用于存储数据可以用于存储数据 XML可以充分利用数据可以充分
10、利用数据 XML可以用于创建新的语言可以用于创建新的语言 9.2 高性能计算高性能计算 高性能计算高性能计算(High Performance Computing)是计算机科学的一个分支,主要是指从体系结是计算机科学的一个分支,主要是指从体系结构、并行算法和软件开发等方面研究开发高性构、并行算法和软件开发等方面研究开发高性能计算机的技术。能计算机的技术。高性能计算高性能计算(HPC)指通常使用很多处理器(作指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算几台计算机(作为单个计算资源操作)的计算系统和
11、环境。系统和环境。9.2.1 高性能计算概述高性能计算概述 有许多类型的有许多类型的HPC 系统,其范围从标准计算机系统,其范围从标准计算机的大型集群,到高度专用的硬件。的大型集群,到高度专用的硬件。大多数基于集群的大多数基于集群的HPC系统使用高性能网络互系统使用高性能网络互连,比如那些来自连,比如那些来自 InfiniBand 或或 Myrinet 的网的网络互连。络互连。基本的网络拓扑和组织可以使用一个简单的总基本的网络拓扑和组织可以使用一个简单的总线拓扑,在性能很高的环境中,网状网络系统线拓扑,在性能很高的环境中,网状网络系统在主机之间提供较短的潜伏期,所以可改善总在主机之间提供较短的
12、潜伏期,所以可改善总体网络性能和传输速率。体网络性能和传输速率。9.2.1 高性能计算概述高性能计算概述 下图显示了一网状下图显示了一网状 HPC 系统。在网状网络拓系统。在网状网络拓扑中,该结构支持通过缩短网络节点之间的物扑中,该结构支持通过缩短网络节点之间的物理和逻辑距离来加快跨主机的通信。理和逻辑距离来加快跨主机的通信。.HPC 网状网络拓扑网状网络拓扑 9.2.1 高性能计算概述高性能计算概述 HPC 环境中的任务执行,有两个模型:单指令环境中的任务执行,有两个模型:单指令/多数多数据据(SIMD)和多指令和多指令/多数据多数据(MIMD)。SIMD在跨多个处理器的同时执行相同的计算指
13、令和在跨多个处理器的同时执行相同的计算指令和操作,但对于不同数据范围,它允许系统同时使用操作,但对于不同数据范围,它允许系统同时使用许多变量计算相同的表达式。许多变量计算相同的表达式。MIMD允许允许HPC 系统在同一时间使用不同的变量执系统在同一时间使用不同的变量执行不同的计算,使整个系统看起来并不只是一个没行不同的计算,使整个系统看起来并不只是一个没有任何特点的计算资源,可以同时执行许多计算。有任何特点的计算资源,可以同时执行许多计算。9.2.1 高性能计算概述高性能计算概述 不管是使用不管是使用 SIMD 还是还是 MIMD,典型,典型 HPC 的基本的基本原理仍然是相同的:整个原理仍然
14、是相同的:整个HPC 单元的操作和行为单元的操作和行为像是单个计算资源,它将实际请求的加载展开到像是单个计算资源,它将实际请求的加载展开到各个节点。各个节点。HPC 解决方案也是专用的单元,被专门设计和部解决方案也是专用的单元,被专门设计和部署为能够充当(并且只充当)大型计算资源。署为能够充当(并且只充当)大型计算资源。9.2.2 高性能计算机的应用高性能计算机的应用 高性能计算机是价格在高性能计算机是价格在10万元以上的服务器。万元以上的服务器。高性能计算机也有高、中、低档之分,中高档高性能计算机也有高、中、低档之分,中高档系统可分为两种系统可分为两种:一种叫超级计算机,主要是用于科学工程计
15、算一种叫超级计算机,主要是用于科学工程计算及专门的设计,如及专门的设计,如Cray T3E;另一种叫超级服务器,可以用来支持计算、事另一种叫超级服务器,可以用来支持计算、事务处理、数据库应用、网络应用与服务,如务处理、数据库应用、网络应用与服务,如IBM的的SP和国产的曙光和国产的曙光2000。9.2.2 高性能计算机的应用高性能计算机的应用 高性能计算机在国内的研究与应用已取得了一些高性能计算机在国内的研究与应用已取得了一些成功,包括成功,包括:航空航天工业中的数字风洞,可以减少实验次数,航空航天工业中的数字风洞,可以减少实验次数,缩短研制周期,节约研制费用;缩短研制周期,节约研制费用;利用
16、高性能计算机做气象预报和气候模拟利用高性能计算机做气象预报和气候模拟;在生物工程、生物信息学、船舶设计、汽车设计在生物工程、生物信息学、船舶设计、汽车设计和碰撞模拟和碰撞模拟;三峡工程施工管理和质量控制等领域都有高性能三峡工程施工管理和质量控制等领域都有高性能计算机成功应用的实例。计算机成功应用的实例。9.2.3 高性能计算分类高性能计算分类1.高吞吐计算高吞吐计算(High-throughput Computing)有一类高性能计算,可以把它分成若干可以并行有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。的子任务,而且各个子任务彼此间没有什么关联。因为这
17、种类型应用的一个共同特征是在海量数据因为这种类型应用的一个共同特征是在海量数据上搜索某些特定模式,所以把这类计算称为高吞上搜索某些特定模式,所以把这类计算称为高吞吐计算。吐计算。所谓的所谓的Internet计算都属于这一类。按照计算都属于这一类。按照Flynn的分类,高吞吐计算属于的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data,单指令流单指令流-多数据流)的范畴。多数据流)的范畴。9.2.3 高性能计算分类高性能计算分类2.分布计算分布计算(Distributed Computing)另一类计算刚好和高吞吐计算相反,它们虽然可另一类计算刚好和高
18、吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。很紧密,需要大量的数据交换。按照按照Flynn的分类,分布式的高性能计算属于的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data,多,多指令流指令流-多数据流)的范畴。多数据流)的范畴。9.2.4 分布式计算分布式计算 所谓分布式计算就是在两个或多个软件互相共享所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接
19、起来的多台计算机上运行。也可以在通过网络连接起来的多台计算机上运行。分布式计算是利用互联网上的计算机的分布式计算是利用互联网上的计算机的 CPU 的闲的闲置处理能力来解决大型计算问题的一种计算科学。置处理能力来解决大型计算问题的一种计算科学。分布式计算是近年提出的一种新的计算方式。分布式计算是近年提出的一种新的计算方式。9.2.4 分布式计算分布式计算 分布式计算是一门计算机科学。分布式计算是一门计算机科学。它研究如何把一个需要非常巨大的计算能力才能它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行
20、处理,最后把这些计算结分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。果综合起来得到最终结果。9.2.4 分布式计算分布式计算 最近的分布式计算项目已经被用于使用世界各地成最近的分布式计算项目已经被用于使用世界各地成千上万志愿者的计算机的闲置计算能力,千上万志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过您可以寻找超过1000万位数字的梅森质数;万位数字的梅森质数;您也可以寻找并发现对抗艾滋病毒更为有效的药
21、物。您也可以寻找并发现对抗艾滋病毒更为有效的药物。用以完成需要惊人的计算量的庞大项目。用以完成需要惊人的计算量的庞大项目。9.2.5 网格计算网格计算 网格计算系统的关键元素是网格中的各个节点,网格计算系统的关键元素是网格中的各个节点,它们不是专门的专用组件。它们不是专门的专用组件。在网格中,各种系统常常基于标准机器或操作系在网格中,各种系统常常基于标准机器或操作系统。位于这种标准环境顶部的是应用软件,它们统。位于这种标准环境顶部的是应用软件,它们支持网格功能。支持网格功能。网格可能由一系列同样的专用硬件、多种具有相网格可能由一系列同样的专用硬件、多种具有相同基础架构的机器或者由多个平台和环境
22、组成的同基础架构的机器或者由多个平台和环境组成的完全异构的环境组成。完全异构的环境组成。专用计算资源在网格中并不是必需的。许多网格专用计算资源在网格中并不是必需的。许多网格是通过重用现有基础设施组件产生新的统一计算是通过重用现有基础设施组件产生新的统一计算资源来创建的。资源来创建的。9.2.5 网格计算网格计算 网格与传统网格与传统HPC解决方案之间的主要不同是:解决方案之间的主要不同是:HPC解决方案设计用于提供特定资源解决方案,解决方案设计用于提供特定资源解决方案,比如强大的计算能力以及在内存中保存大量数据比如强大的计算能力以及在内存中保存大量数据以便处理它们的能力。以便处理它们的能力。另
23、一方面,网格是一种分布式计算资源,这意味另一方面,网格是一种分布式计算资源,这意味着网格可以根据需要共享任何组件,包括内存、着网格可以根据需要共享任何组件,包括内存、CPU电源,甚至是磁盘空间。电源,甚至是磁盘空间。9.2.5 网格计算网格计算 具体的网格计算的应用框架结构具体的网格计算的应用框架结构 9.2.6 网格类型网格类型(1)高吞吐量网格高吞吐量网格 在这种网格中,发给每个网格节点的各个任务单在这种网格中,发给每个网格节点的各个任务单元通常都非常小,每个单元的请求和预期执行时元通常都非常小,每个单元的请求和预期执行时间都很小。间都很小。这些网格通常会在计算系统中使用,其中请求的这些网
24、格通常会在计算系统中使用,其中请求的数量反应数量反应 了给定函数或计算的不同输入值的范围。了给定函数或计算的不同输入值的范围。例如,在单个作业中可能有例如,在单个作业中可能有 10,000 甚至甚至 100,000 个请求。个请求。9.2.6 网格类型网格类型(2)高计算量(高计算量(High-computational)网格)网格 在计算网格中,每个节点都负责为函数或表在计算网格中,每个节点都负责为函数或表达式提供达式提供 CPU 处理能力。处理能力。每个工作单元的持续时间可能会很长(与高吞每个工作单元的持续时间可能会很长(与高吞吐量网格中较短的执行时间相比)。吐量网格中较短的执行时间相比)
25、。9.2.6 网格类型网格类型(3)高内存量()高内存量(High-memory grid)的网格)的网格 在处理大量数据时使用这种类型的网格,例如在处理大量数据时使用这种类型的网格,例如计算机动画绘图、计算流体动力学(计算机动画绘图、计算流体动力学(CFD)分)分析或制造和监视系统中处理大量数据所使用的析或制造和监视系统中处理大量数据所使用的网格。网格。(4)存储网格)存储网格 存储网格在需要将大量信息存储在大量计算机存储网格在需要将大量信息存储在大量计算机上时使用,所以数据的大小以及从网格存储上时使用,所以数据的大小以及从网格存储/检检索信息这样的负载被分布到网格中。索信息这样的负载被分布
26、到网格中。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)高性能集群主要用于处理复杂的计算问题,应用在高性能集群主要用于处理复杂的计算问题,应用在需要大规模科学计算的环境中,如天气预报、石油需要大规模科学计算的环境中,如天气预报、石油勘探与油藏模拟、分子模拟、基因测序等。勘探与油藏模拟、分子模拟、基因测序等。高性能集群上运行的应用程序一般使用并行算法,高性能集群上运行的应用程序一般使用并行算法,把一个大的普通问题根据一定的规则分为许多小的把一个大的普通问题根据一定的规则分为许多小的子问题,在集群内的不同节点上进行计算,而这些子问题,在集群内的不同节点上进行计算,而这些小问题的
27、处理结果,经过处理可合并为原问题的最小问题的处理结果,经过处理可合并为原问题的最终结果。终结果。由于这些小问题的计算一般是可以并行完成的,从由于这些小问题的计算一般是可以并行完成的,从而可以缩短问题的处理时间。而可以缩短问题的处理时间。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)1.高性能计算集群系统模型高性能计算集群系统模型(1)Beowulf集群集群 简单的说,简单的说,Beowulf是一种能够将多台计算机用于是一种能够将多台计算机用于并行计算的体系结构。通常并行计算的体系结构。通常Beowulf系统由通过以系统由通过以太网或其他网络连接的多个计算节点和管理节点太网或
28、其他网络连接的多个计算节点和管理节点构成。构成。管理节点控制整个集群系统,同时为计算节点提管理节点控制整个集群系统,同时为计算节点提供文件服务和对外的网络连接。它使用的是常见供文件服务和对外的网络连接。它使用的是常见的硬件设备,象普通的硬件设备,象普通PC、以太网卡和集线器。、以太网卡和集线器。Beowulf集群的软件也是随处可见的,象集群的软件也是随处可见的,象Linux、PVM和和MPI。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)(2)COW集群集群 象象Beowulf一样,一样,COW(Cluster Of Workstation)也是由最常见的硬件设备和软件系统
29、搭建而成。通也是由最常见的硬件设备和软件系统搭建而成。通常也是由一个控制节点和多个计算节点构成。常也是由一个控制节点和多个计算节点构成。因为因为COW中的计算节点主要的目的是桌面应用,所中的计算节点主要的目的是桌面应用,所以它们都具有显示器、键盘和鼠标等外设。而以它们都具有显示器、键盘和鼠标等外设。而Beowulf的计算节点通常没有这些外设,对这些计的计算节点通常没有这些外设,对这些计算节点的访问通常是在管理节点上通过网络或串口算节点的访问通常是在管理节点上通过网络或串口线实现的。线实现的。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)(3)COW和和Beowulf的区别:
30、的区别:COW中的计算节点主要都是闲置的计算资源,如中的计算节点主要都是闲置的计算资源,如办公室中普通的办公室中普通的PC,采用普通的局域网进行连接。,采用普通的局域网进行连接。因为这些计算节点白天会作为工作站使用,所以因为这些计算节点白天会作为工作站使用,所以主要的集群计算发生在晚上和周末等空闲时间。主要的集群计算发生在晚上和周末等空闲时间。而而Beowulf中的计算节点都是专职于并行计算,并中的计算节点都是专职于并行计算,并且进行了性能优化。且进行了性能优化。Beowulf采用高速网采用高速网(InfiniBand,SCI,Myrinet)上的消息传递)上的消息传递(PVM或或MPI)进行
31、进程间通信()进行进程间通信(IPC)。)。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)2高性能计算集群配置高性能计算集群配置 在搭建高性能计算集群(在搭建高性能计算集群(HPC CLUSTER)之前,我们首先要根据具体的应用需求,在之前,我们首先要根据具体的应用需求,在:(1)节点的部署节点的部署(2)高速互连网络的选择、高速互连网络的选择、(3)集群管理和通讯软件集群管理和通讯软件 这三个方面作出配置。这三个方面作出配置。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)(1)节点的部署)节点的部署 根据功能,把集群中的节点划分为根据功能,把集群中的节
32、点划分为6种类型:种类型:用户节点用户节点(User Node);控制节点控制节点(Control Node);管理节点管理节点(Management Node);存储节点存储节点(Storage Node);安装节点安装节点(Installation Node);计算节点计算节点(Compute Node).9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)(2)高速互连网络的选择)高速互连网络的选择 网络是集群最关键的部分网络是集群最关键的部分.它的容量和性能直接影它的容量和性能直接影响了整个系统对高性能计算响了整个系统对高性能计算(HPC)的适用性。的适用性。根据调查根据
33、调查,大多数高性能科学计算任务都是通信密大多数高性能科学计算任务都是通信密集型的集型的,因此如何尽可能的缩短节点间的通信延迟因此如何尽可能的缩短节点间的通信延迟和提高吞吐量是一个核心问题。和提高吞吐量是一个核心问题。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)Myrinet互连技术互连技术 Myrinet 提供网卡和交换机,其单向互连速度最提供网卡和交换机,其单向互连速度最高可达到高可达到 1.28 Gbps。网卡有两种形式,铜线型和光纤型。网卡有两种形式,铜线型和光纤型。铜线型铜线型 LAN 可以在可以在10英尺距离内以全速进行通英尺距离内以全速进行通信。信。光纤型光纤
34、型 Myrinet 可以在可以在6.25英里长的单模光纤或英里长的单模光纤或者者340英尺长的多模光纤上全速运行。英尺长的多模光纤上全速运行。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)InfiniBand互连技术互连技术 InfiniBand 是一种用于实现基于通道的交换式技是一种用于实现基于通道的交换式技术的通用术的通用I/O规范。由于规范。由于IB的理论带宽极高的理论带宽极高30Gbit/S,因此备受业内关注。因此备受业内关注。InfiniBand 的解决方案包括一个连接多个独立处的解决方案包括一个连接多个独立处理器和理器和I/O平台的系统区域网络,它所定义的通信平
35、台的系统区域网络,它所定义的通信和管理结构同时支持和管理结构同时支持I/O和处理器与处理器之间的和处理器与处理器之间的通信。通信。InfiniBand 系统可以是只有少量系统可以是只有少量I/O设备的单处理设备的单处理器服务器,也可以是大型的并行超级计算机。器服务器,也可以是大型的并行超级计算机。9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)InfiniBand 规范定义了规范定义了3个基本组件:个基本组件:一个主机信道适配器(一个主机信道适配器(HCA);一个目标信道);一个目标信道适配器(适配器(TCA);一个网络交换机。);一个网络交换机。InfiniBand体系架构
36、模型体系架构模型 9.2.7 高性能计算集群高性能计算集群(HPC CLUSTER)(3)集群管理和通讯软件)集群管理和通讯软件 国内和国际上有多种集群管理和通讯软件,国内和国际上有多种集群管理和通讯软件,一些是由一些是由 HPC 集成商自己编写的专用软件,捆集成商自己编写的专用软件,捆绑硬件销售的,也有专业的软件公司提供的通用绑硬件销售的,也有专业的软件公司提供的通用软件包。软件包。全球知名的全球知名的HPC软件公司软件公司挪威挪威 Scali公司。公司。Scali 软件的最大特点是支持多种高速互连网络:软件的最大特点是支持多种高速互连网络:从千兆以太网,从千兆以太网,SCI,Myrinet
37、,到到 InfiniBand 都都可以支持。可以支持。9.3 海量数据数据库技术海量数据数据库技术 在物联网领域的应用中,选择一个适合自己项目在物联网领域的应用中,选择一个适合自己项目的数据平台对整个项目成败而言尤为重要,其原的数据平台对整个项目成败而言尤为重要,其原则有二:则有二:第一,根据数据类别和实际应用选择正确的数据第一,根据数据类别和实际应用选择正确的数据库类型。业务数据、管理数据要使用关系型数据库类型。业务数据、管理数据要使用关系型数据库,海量数据、实时数据要使用实时数据库;库,海量数据、实时数据要使用实时数据库;第二,必须具有前瞻性。目前物联网项目大多是第二,必须具有前瞻性。目前
38、物联网项目大多是试点项目,如果在初步设计的时候没有考虑这一试点项目,如果在初步设计的时候没有考虑这一点的话,试点也就失去了试点本身的意义了。点的话,试点也就失去了试点本身的意义了。9.3.1传统的关系型数据库面临更大的挑战传统的关系型数据库面临更大的挑战 传统的关系型数据库具有数据结构化、最低传统的关系型数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,目前较大的信息系统易于编制应用程序等优点,目前较大的信息系统都是建立在结构化数据库设计之上的。都是建立在结构化数据库设计之上的。然而,随着越来越多企业海量数据的
39、产生,然而,随着越来越多企业海量数据的产生,使得非结构化数据的应用日趋扩大,以及对海量使得非结构化数据的应用日趋扩大,以及对海量数据快速访问、有效的备份恢复机制、实时数据数据快速访问、有效的备份恢复机制、实时数据分析等等的需求分析等等的需求 9.3.1传统的关系型数据库面临更大的挑战传统的关系型数据库面临更大的挑战 传统的关系数据库在应对海量数据处理上仍传统的关系数据库在应对海量数据处理上仍有许多不足。主要表现在:有许多不足。主要表现在:缺乏对海量数据的快速访问能力缺乏对海量数据的快速访问能力 缺乏海量数据访问灵活性缺乏海量数据访问灵活性 对非结构化数据处理能力薄弱对非结构化数据处理能力薄弱
40、海量数据导致存储成本、维护管理成本不海量数据导致存储成本、维护管理成本不断增加断增加 海量数据缺乏快速备份与灾难恢复机制海量数据缺乏快速备份与灾难恢复机制 9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 数据库是存储在计算机系统内的有结构的数据的数据库是存储在计算机系统内的有结构的数据的集合。数据库是由很多数据库文件以及若干辅助集合。数据库是由很多数据库文件以及若干辅助操作文件组成的。操作文件组成的。基本的数据库模型有三种:网状数据库模型、层基本的数据库模型有三种:网状数据库模型、层次数据库模型和关系型数据库模型。次数据库模型和关系型数据库模型。新一代的数据技术应该是在成熟、稳定的基
41、础数新一代的数据技术应该是在成熟、稳定的基础数据库架构上,开发和重新定义新的数据库概念,据库架构上,开发和重新定义新的数据库概念,比如语义数据模式、事件驱动数据库,等等。比如语义数据模式、事件驱动数据库,等等。9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 目前在数据库技术领域的技术发展中,已目前在数据库技术领域的技术发展中,已经出现以下类型的数据库管理系统:经出现以下类型的数据库管理系统:1)面向对象数据库)面向对象数据库。面向对象数据库采用面向对象数据模型,是面面向对象数据库采用面向对象数据模型,是面向对象技术与传统数据库技术相结合的产物。向对象技术与传统数据库技术相结合的产物。
42、面向对象数据模型能够完整地描述现实世界的面向对象数据模型能够完整地描述现实世界的数据结构,具有丰富的表达能力。数据结构,具有丰富的表达能力。目前,在许多关系数据库系统中已经引入并具目前,在许多关系数据库系统中已经引入并具备了面向对象数据库系统的某些特性。备了面向对象数据库系统的某些特性。9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 2)分布式数据库。)分布式数据库。分布式数据库(分布式数据库(Distributed Data Base,DDB)是传统数据库技术与网络技术相结合的产物。一是传统数据库技术与网络技术相结合的产物。一个分布式数据库是物理上分散在计算机网络各结个分布式数据库
43、是物理上分散在计算机网络各结点上,但在逻辑上属于同一系统的数据集合。点上,但在逻辑上属于同一系统的数据集合。分布式数据库管理系统(分布式数据库管理系统(DDBMS)支持分布式数)支持分布式数据库的建立、使用与维护,负责实现局部数据管据库的建立、使用与维护,负责实现局部数据管理、数据通信、分布式数据管理以及数据字典管理、数据通信、分布式数据管理以及数据字典管理等功能。理等功能。分布式数据库在物联网系统中将有广泛的应用前分布式数据库在物联网系统中将有广泛的应用前景。景。9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 3)多媒体数据库)多媒体数据库。多媒体数据库(多媒体数据库(Multim
44、edia Data Base,MDB)是传统数据库技术与多媒体技术相结合的产)是传统数据库技术与多媒体技术相结合的产物,是以数据库的方式存储计算机中的文字、图形、物,是以数据库的方式存储计算机中的文字、图形、图像、音频和视频等多媒体信息。图像、音频和视频等多媒体信息。多媒体数据库管理系统(多媒体数据库管理系统(MDBMS)是一个支持多)是一个支持多媒体数据库的建立、使用与维护的软件系统,负责媒体数据库的建立、使用与维护的软件系统,负责实现对多媒体对象的存储、处理、检索和输出等功实现对多媒体对象的存储、处理、检索和输出等功能。能。9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 4)并行
45、数据库)并行数据库。并行数据库(并行数据库(Parallel Data Base,PDB)是)是传统数据库技术与并行技术相结合的产物,它在传统数据库技术与并行技术相结合的产物,它在并行体系结构的支持下,实现数据库操作处理的并行体系结构的支持下,实现数据库操作处理的并行化,以提高数据库的效率。并行化,以提高数据库的效率。超级并行机的发展推动了并行数据库技术的发展。超级并行机的发展推动了并行数据库技术的发展。并行数据库的设计目标是提高大型数据库系统的并行数据库的设计目标是提高大型数据库系统的查询与处理效率,而提高效率的途径不仅是依靠查询与处理效率,而提高效率的途径不仅是依靠软件手段,更重要的是依靠
46、硬件的多软件手段,更重要的是依靠硬件的多CPU的并行的并行操作来实现。操作来实现。9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 5)演绎数据库)演绎数据库。演绎数据库(演绎数据库(Deductive Data Base,DeDB)是传统数据库技术与逻辑理论相结合的产物,是是传统数据库技术与逻辑理论相结合的产物,是指具有演绎推理能力的数据库。指具有演绎推理能力的数据库。通常,它用一个数据库管理系统和一个规则管理通常,它用一个数据库管理系统和一个规则管理系统来实现。系统来实现。将推理用的事实数据存放在数据库中,称为外延将推理用的事实数据存放在数据库中,称为外延数据库;用逻辑规则定义要导
47、出的事实,称为内数据库;用逻辑规则定义要导出的事实,称为内涵数据库。涵数据库。9.3.2 支撑物联网的数据库技术支撑物联网的数据库技术 6)主动数据库)主动数据库。主动数据库(主动数据库(Active Data Base,Active DB)是)是相对于传统数据库的被动性而言的,它是数据库技相对于传统数据库的被动性而言的,它是数据库技术与人工智能技术相结合的产物。术与人工智能技术相结合的产物。传统数据库及其管理系统是一个被动的系统,它只传统数据库及其管理系统是一个被动的系统,它只能被动地按照用户所给出的明确请求,执行相应的能被动地按照用户所给出的明确请求,执行相应的数据库操作,完成某个应用事务
48、。数据库操作,完成某个应用事务。主动数据库提供主动服务功能,在计算机集成制主动数据库提供主动服务功能,在计算机集成制造系统、管理信息系统、办公自动化系统中,能够造系统、管理信息系统、办公自动化系统中,能够根据当前状态主动地作出反应,执行某些操作,向根据当前状态主动地作出反应,执行某些操作,向用户提供所需的信息。用户提供所需的信息。9.3.3 关系型数据库关系型数据库 关系数据库,是建立在关系模型基础上的数据库,关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间中的数据。现实世
49、界中的各种实体以及实体之间的各种联系均用关系模型来表示。的各种联系均用关系模型来表示。标准数据查询语言标准数据查询语言SQL就是一种基于关系数据库就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检的语言,这种语言执行对关系数据库中数据的检索和操作。索和操作。关系模型由关系数据结构、关系操作集合、关系关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。完整性约束三部分组成。9.3.3 关系型数据库关系型数据库 近年来,计算机的应用已从传统的科学计算、事近年来,计算机的应用已从传统的科学计算、事务处理等领域,逐步扩展到工程设计统计、人工务处理等领域,逐步扩展到工程设计统计
50、、人工智能、多媒体、分布式等领域,智能、多媒体、分布式等领域,这些新的应用领域需要有新的数据库支撑,而传这些新的应用领域需要有新的数据库支撑,而传统的关系数据库系统是以商业应用、事务处理为统的关系数据库系统是以商业应用、事务处理为背景而发展起来的,它并不完全适用于新领域。背景而发展起来的,它并不完全适用于新领域。因此,新的领域期待有新的数据库系统来支撑。因此,新的领域期待有新的数据库系统来支撑。9.3.4 非关系型数据库(非关系型数据库(NoSQL)传统的关系数据库在将来大量出现的物联传统的关系数据库在将来大量出现的物联网应用,暴露了很多难以克服的问题:网应用,暴露了很多难以克服的问题:对数据