通用黑板技术在大型分布式仿真系统中的应用

2019-07-20 13:24卫翔邵作浩
电子技术与软件工程 2019年10期
关键词:仿真系统分布式

卫翔 邵作浩

摘要:本文针对各类异构仿真系统在信息实时传输、信息共享、数据维护等方面的互联互通需求,研究了通用黑板技术的技术原理,总结了其技术优势,设计了基于黑板技术的异构仿真系统结构,为解决仿真系统数据实时共享难、业务协同难等问题提供了一种新的思路方案。

[关键词]通用黑板 分布式 仿真系统

分布式交互仿真要求通过采用协调一致的结构,统一的数据标准、协议、数据库,以及局域网或广域网技术,将分散配制的各类仿真器、仿真管理及应用程序进行互联,建立一个无缝的虚拟环境。每个分布的仿真器对应于仿真虚拟环境中的一个或多个实体。这就需要一个“数据软总线”,将各类应用挂接在这个数据软总线上,实现数据和信息的实时传输和共享。挂接在数据软总线上的应用程序必须要有统一的数据交换协议和必要的数据结构。

近些年来出现了基于内存共享的通用黑板GBB(GenericBlack-Board)技术,与传统技术架构相比,GBB在信息共享、协同计算、分布控制等方面性能优异,在业务构造、模型开发、系统集成等方面也有不俗表现,为解决信息实时共享难、业务协同难等问题,提供了一种新的思路方案。

1通用黑板概念

GBB在20世纪80年代在人工智能研究中提出,最早是用于开发基于黑板结构的专家系统。基于Common Lisp和CLOS的扩展,能为用户提供一个开放式的扩展结构,已在过程控制、设计规划、工作流协同等方面得到应用。随着技术的不断发展,通用黑板中的核心黑板数据机构在功能和性能上也有了很大的提升。由于其高效便捷的分布式数据快速共享特点,可以广泛应用于异地分布式、异构信息系统集成,解决海量业务信息的高速共享、快速处理问题。

GBB是一个通用的數据仓库。在仿真应用时,它包含了整个仿真执行过程的应用数据,采用共享内存空间机制,使得所有Agent能够在任何时间访问该数据。

GBB内存分配采用内存换性能的策略(即“以空间换时间”),在系统运行前按本地黑板所需最大的数据量提前分配内存空间,系统运行期间,黑板不再进行内存分配与释放。

GBB每块数据区采用“读、写”双缓存机制,通过双缓存的轮转解决多应用数据同步问题,实现黑板数据的一致性,具体是通过更新循环来实现。在每个周期的结尾,该周期所更新的数据对所有“读”的代理来说变成可用,而旧的数据变成“可写”。这种“双缓存”的机制,确保了未实现锁机制的条件下,没有代理读取数据而另一个代理正更新数据。

2GBB技术原理

2.1GBB存储结构

GBB以关系数据库的形式保持应用数据。GBB主要由四类表格组成:主实体表、实体表、描述符表、消息表。图1提供了一个表示主实体表、实体表和描述符表关系的示例。

2.1.1主实体表

主实体表保持了GBB中可用实体的列表。此表中每个条目包含了一个引用值,该引用指向实体表一个条目,并包含了该实体的附加通用信息。这些信息包括:

(1)实体ID:特有的标识,表示整个黑板内某个实体。该实体ID从实体创建开始到删除始终保持不变。

(2)创建时间:实体被创建和被引用到黑板中的时间。

(3)实体类型:枚举值,定义了实体的类型。实体的类型指向一个特定的实体表,该表中实体已经被定义。

2.1.2实体表

实体是用来表示应用域内的对象。不同实体类型定义了不同的数据项,而数据项里包含了相关信息。

GBB保持了一组实体表,每个实体表保持了一组特定类型实体的信息。一个实体表的每个条目保持了如下数据:

(1)实体ID;

(2)实体状态:对实体观察者来说实体可用时,可由用户设置;

(3)引用:指向主实体表中相关条目。

2.1.3描述符表

描述符用来“描述”GBB中实体的数据结构。每个描述符类型包含了数据的不同类型,可为几种不同实体类型所用。

描述符表与主实体表和实体表不同,它用于维持应用程序的特定数据,而后两者用于保持通用信息。每个描述符表维持特定类型的信息(由应用程序所定义);在描述符表内每个单一条目包含了如下信息:

(1)引用,指向相关实体(实体表内的一个条目);

(2)最后更新时间;

(3)描述符数据,每个条目包含了数据的两份拷贝,使得“读者”在更新新的数据时,还可以查询前一个计算周期里所更新的数据。

2.1.4消息表

GBB中的消息包含单独的表中。每个消息表包含了特定类型的消息,也就是说特定结构的数据。

消息表作为循环队列来处理;当一个表满时,旧的消息被删除以腾出空间给新的消息。

2.2消息处理机制

分布式的应用之间除数据交换以外,还需要进行事件的通知,称之为“消息”。一般采用消息管理器进行消息分发,但受网络和运行环境的影响,消息会在传递过程中发生丢失,延迟,业务应用系统会等待这些丢失和延迟的消息,从而造成业务处理的延迟。

GBB将消息作为数据进行处理,在本地黑板中设置消息数据区,并充分运用通用黑板中数据的快速同步机制,任何一个应用只须读写共享内存区中的消息数据区,就可在近实时的时间内获取或发布消息信息。

因为在本周期内发送的消息,需要等待网络管理器在下一周期同步所有内存数据区时,才能更新到所有节点,接收方在下一周期才能取到该消息数据。为保障实时性要求高的消息交互需求,GBB技术框架产品也提供了业务应用间消息直接传递的机制。

两种消息传递机制并存,使得在网络中只需传递少量的“实时消息”即可实现实时交互,这在很大程度上简化了业务系统间的信息交互,确保了业务信息交互的实时性。

“发后不管”如何解决消息的丢失问题?本地黑板中为每个消息维护一个缓冲池,池的大小根据消息发送的频率提前定义,从而有效的解决了消息丢失的问题。

3GBB技术优势

3.1信息实时共享

GBB采用轮转式的双缓冲内存数据共享区技术,信息更新快、信道占用少,能够精巧解决海量、分布、异构系统间信息实时同步、高效共享的老大难问题。

采用这种轮转式的双缓冲内存数据共享区技术,十分巧妙的将数据一致性问题转换为内存切换问题,可在毫秒级确保多个内存数据区内的一致性,极其高效地解决了分布式内存数据区的近实时同步更新问题。由于只更新变化的数据,有效降低系统网络通信流量,同时又能充分利用当前内存读写性能、网络传输速度提升、价格降低的优势。

3.2方便的数据维护机制

由于GBB技术框架的数据集中管理机制,可以使用户能够很方便的对本地黑板的所有数据进行集中维护,如通过GBB浏览器可以很方便的查看、显示本地应用所读写的所有数据。

3.3数据与应用高度解耦

GBB技术架构突出以数据为中心的系统集成思想,首先将整个系统的数据整合为一块大的“逻辑黑板”,也就是完整的数据集。在进行分布式应用部署时,从逻辑黑板中为网络中的每个节点分配相应的数据块,即“本地黑板”。本地黑板数据的定义、分配、管理与应用程序的处理逻辑完全无关,不仅方便实现数据与应用的解耦,而且也方便应用与应用之间的解耦。

从业务应用的角度看,每个应用只须从本地黑板读写数据,不需要关注其他数据的提供者和使用者,不需要向某个指定的应用去申请数据,也不需要向某个指定的应用提供数据。

从数据的角度看,所有应用可以分为数据提供者和数据使用者,数据使用者只需关注具体的应用功能,而无需关注数据的来源。

3.4并行处理优势

根据GBB这一优势,可实现业务构件根据多样化的任务需求自由组合、即插即用,业务处理能够方便的實现从传统“单线”串行处理模式转变为“多线”并行处理模式,这种模式能够支持当前大数据和人工智能时代高速处理、复杂协同、智慧涌现等各种智能化、并行处理方法的引入。从而使我们能够更加灵活、快速地构建系统,各业务系统可灵活配置,也使得系统能够快速部署,柔性重组能力更强。更加适应联合作战体系海量信息共享、决策知识涌现、多维业务协同的要求。

3.5协同开发优势

通用黑板技术的提出背景就是为了解决人工智能中的协同工作问题,其运行机制为协同开发提供了便利条件。

在复杂系统的研究与工作中,必然会涉及到多人异地的协同并行开发。协同开发的本质问题就是如何解决异地分布式开发条件下的成果共享。GBB提供了一种基于黑板的信息交流机制。该机制由网络管理员、本地管理员、本地黑板组成,本地黑板是指在网络中的每台计算设备上创建的共享内存数据区,本地管理员负责创建、维护本地黑板上的数据,网络管理员负责确保网络上所有节点的本地黑板数据的一致性。

每个应用读写本地黑板的内容,本地管理员提供相关读写服务,当本地黑板有数据更新时,本地管理员会发出通知,并由网络管理员负责将更新后的数据发布到其他节点的本地黑板,完成网络上数据的一致性。

4基于GBB的分布式仿真系统应用

在仿真领域,多Agent系统(MAS,Multi-AgentSystems)是由若干自主交互实体(Agents)组成的,每个Agent通常执行一个指定的任务或模拟一个智能的实体。MAS的继承结构为分布系统和创建分布式Agent系统提供极大的优势。在分布式多Agent系统(DMAS,DistributedMulti-AgentSystems)中,Agent分布在网络空间中,突破了单机计算能力的限制。

如图2所示,GBB框架设计为DMAS,其中的黑板作为主要信息的仓储、应用Agent间数据交换的机制,提供全系统的明细和通告服务。GBB处于系统架构的核心。该架构背后的主要概念是创建一个联合的数据仓储,使得多个软件Agent在需要时来访问和修改数据,这样使整个系统进行时间异步操作,同时通过强制事件驱动操作来保证同步。架构的顶层是基于GBB的应用和DMAS,包括图中的系统工具部分和应用程序部分,以及GBB记录和回放应用程序。

GBB就是一个分布在节点之间的通用的数据仓储,使得应用数据能够被每个节点中的Agent所获得。该数据仓储由两个应用支持:GBB管理器(GBBManager)负责每个独立节点中仓储的创建和维护,SNA(SerialNetworkAdapter)负责数据的分发和节点间的同步。该架构的主要指导思想是:

(1)Agent之间的全部交互都要通过GBB;

(2)在所有的系统节点中,分布的数据都是一*样的;

(3)一个Agent并不需要知晓其它Agent的动作和知识。

5总结

GBB通用黑板技术适用于大型分布式仿真系统的基础内核和底层支撑框架。采用GBB技术,可以非常方便的实现分布式仿真计算,将大量的复杂模型根据计算量的大小合理配置到不同的仿真节点,充分发挥计算机网络中的硬件计算资源,大大提高了仿真模型的计算效率;采用GBB技术,实现了本地黑板数据的快速读写,以及网络数据的高速共享;同时也方便实现复杂仿真系统的分布式集成与部署。

通用黑板相比传统技术架构,先进性包容性更强,特别是在信息共享、协同计算、分布控制等方面性能优异,在业务构造、模型开发、系统集成等方面也有不俗表现,为解决信息系统实时共享难、业务协同难等问题,提供了一种新的技术方案。

参考文献

[1] Nii P H. Blackboard systemsblackboard application , systems,blackboard system from a knowledgeengineering perspective[J]. AIMagazine,1986, 7(3):82-106.

[2]Corki1l D D. Countdown to success:dynamic objects, GBB and RADARSAT-1 [J]. Communications of the ACM,1997,40(5): 49-58.

[3]侯平魁,史习智,林良骥。基于通用黑板的数据融合系统[J]上海交通大学学报,2000,34(05):1200-1205.

[4]李明军,李伟华,何华灿,基于黑板Agent结构的应用模块工作流通用模板设计[J].计算机工程与应用,2001,37(14):11-12.

猜你喜欢
仿真系统分布式
基于预处理MUSIC算法的分布式阵列DOA估计
数控仿真系统三维建模技术研究
西门子 分布式I/O Simatic ET 200AL
家庭分布式储能的发展前景