APP下载

多媒体数据库引擎多任务并行控制方法仿真

2021-11-17

计算机仿真 2021年4期
关键词:多任务结构化聚类

王 艳

(重庆师范大学涉外商贸学院,重庆 401520)

1 引言

多媒体数据库是由互联网、传输数据库以及多媒体技术等所组成形成的产物,内容涵盖视频、音频、图像、数字、文字和数据库之间的安全性、独立性,因此多媒体数据库的实际应用前景特别广泛,例如在互联网上面的图片搜索系统;视频、音频的多媒体户籍管理系统等[1]。想要对这些数据进行处理,还要保证随时都能够使用、分享以及管理等,就需要同时对多个任务进行并行控制,以此增加数据的处理速度[2]。

文献[3]为了提高实时视频数据的采集与传输双重任务速度,将可编程门阵列作为核心处理器,以Verilog HDL叙述电路功能实现其同步动态,使随机存储可高速访问,同时采用经典FPGA并行处理方法,完成视频数据采集与传输速度的提高,但是多任务并行控制效果不尽如人意。文献[4]在电脑的控制系统内,为了解决实行多任务时电脑运行速度慢,控制实时较差的问题,利用FPGA用作控制系统的控制器,结合模糊PID对电脑进行控制,在通过FPGA并行处理方法提高实时性处理效率,与此同时,模糊PID控制可进一步加深对电动机控制的鲁棒性与实时性,且通过simulink仿真和实际测试,证明此控制器能够满足多任务的控制精度和效果,但是其对硬件要就较高,适用范围低。

针对传统的多媒体数据库引擎在进行多任务控制时,存在控制延迟、无法实时完成相应任务处理等问题,严重影响用户使用体验,提出一种多媒体数据库引擎多任务并行控制方法,首先对多媒体数据库进行分析,通过多任务非格式化处理,提升了数据处理效率,最后通过SSA算法和反馈机制实现多媒体数据库的多任务并行控制。通过仿真,验证了该方法的有效性。为多媒体数据库多任务的控制提供了便利。

2 多媒体数据库多任务并行控制机制设计

2.1 多任务并行存储

通过大数据统计,现阶段几乎视频、图像以及声音等任务数据都是采用磁盘、磁带或者是云服务来完成存储的,将各种任务数据存储机制放置在公共存储地,但是不同种类任务数据必须单独放置。

其中,要求多任务数据存储对象在数据库中能够快速定位,并可以完成其超媒体的任务数据记录以及文档随机存取,因此,要依据音频、图像或者视频的属性信息构建多媒体数据库索引,进一步确保多媒体文档的同步以及协调。

2.2 多任务并行查询

在传统多媒体数据库多任务查询系统中,只对其准确查询文字或概念进行处理。但是各任务存在着大量多样性因素,针对模糊的类似性查询和概念准确匹配会占有较大比例[5]。

针对相同的对象,假如采用不一样的任务进行表示,那么相对来说计算机同样是不相同的。例如,把狮子的声音以及图像保存在两个不同的文件中,而在计算机进行对比的时候会将两个文件认定是不同的物体。通过一个任务进行表示,如果在处理时出现误差,那结果也是不相同的,因为其任务的时序性质、形象化、分散和复合程度等特点,相同任务对象的不同目标介质在计算机中的处理也是不同的。

因此,相对传统多媒体数据库概念查询方式,设置在只能通过语义的搜索进行查询,可以有效分析观察者、应用以及媒体任务之间的不同,确保获得的任务数据符合需求。

2.3 多任务数据版本管理

多媒体数据库中包含存储对象在不同时期的不同内容,二者相似却又完全不同个,例如:将人的幼儿时期、青年时期和中年时期照片输入进多媒体数据库中,所显示出的内容即是完全不一样的;而在CAD的图纸上有着草图与正式图之间的分别。对于另外一方面,在相同处理对象上有着不同处理和表达,例如:相同的一段音频,其所拥有的格式有MIDI、WAN以及VOC等,它们之间表达的意思就不相同。当对目标任务数据存储时,就需要按照个体时间关系、表达软件以及版本信息等分别管理[6]。

在使用多媒体数据库时,会需要从动态的视频库进行提取或者播放一部数字化影片,通常要很长的时间,并且要保证多个任务在视频在播放过程中不被中断。因此,多任务的事务并行处理能力是多媒体数据库的基本要求。

2.4 多任务非格式化处理

1)提供非格式的任务搜索和查询功能。

多媒体数据库不能使用某些符号作为搜索的信息线索,例如:视频中的动作、音频的音调以及图像之中的颜色等,而搜索者难以把这些信息转换成信号,所以,要求多媒体数据库能够存储多任务的个体内容进行语义分析,从而达到更深层次的搜索。

2)对非格式化任务数据还应该根据不同的媒体提供不同操作,例如声音数据:声调、声音强度调整、声音合成、声音信号等;图像数据:比例、镶嵌、覆盖、裁剪、颜色的转变、交接等[7]。

多媒体数据库是在互联网的基础上建造完成的,多任务在不同的节点上,需要根据不同的应用情况得到高效快速的同时处理。多任务的基本处理操作多为查询、存储、数据版本管理、非格式化管理等等。在充分考虑了多任务基本处理操作的前提下,根据上述步骤,完成了多媒体数据库多任务并行控制机制的设计。以设计出的并行控制机制为基础,实现多任务并行控制的流程。

3 多任务并行控制方法的实现

针对各种多任务并行语言,多任务并行控制机制可以分为两种,在此采用的是串行程序内关于结构化的单入口方式,其单入口的定义是为非结构化与结构化两种并行控制机制[8]。

1)任务流图TASK GRA GH。任务流图TG是二元组,TG=(V,E),V代表程序中全部任务的多集合,E代表全部任务之间的依赖关系集合。

2)结构化的并行控制机制。

共同前驱与共同后驱的两个或者多个任务所构建的并行控制机制,是结构化的多任务并行控制机制。

结构化的多任务并行控制的特点是同步性能强,其并发机构和以后的并行与串行之间存在很强的依赖关系,要按照一定的先后次序执行。其示意如图1(a)和(b)所示。

3)非结构化的多任务并行控制机制。

通过其共同后续节点为0的两个或者是两个以上任务构成并行控制机制,视为非结构化的并行控制机制[9]。

这种结构又是以双分支并行控制完成的,其示意图如图1(c)所示:

图1 并行控制机制

4 基于SSA的多任务并行控制方法实现

多媒体数据库针对结构化的多任务并行控制问题叙述如下。

任务集合用T={Ti,0≤i≤M-1}表示,处理机集合用p={pi,0≤i≤N-1}表示,并且已经知道的任务Ti的计算量为T(i)。其任务Ti和Tj之间的通信量是C(i,j)。以此求T→P的分配方案使下式的值最小,exe[i]是处理机Pi的计算开销,comm[i,j]是处理机Pi和Pj间的通信开销。

(1)

首先要注意到网络中的程序进行多任务调度,坚持下列原则。依据实际的运行效果,考虑到多媒体数据库引擎中的数据任务分配较慢问题,在进行分配前必须将任务合并[10],同时也证明,其数据分配要大于计算量任务Ti和T0两者的合并量。再通过加速比简易公式推导出必要性的功能。假如有p个处理器同时并行,那么所有的处理器计算时间用TP表示,其总通信时间用Tc表示,即负载的平衡情况,所有同时并行的处理器加速比公式

(2)

式中:Tc≫TP的时候,SP<1。

为了方便对负载进行调节,应该先依据贪心算法,把任务按照从大到小的方式进行排列,然后分派出去。接着在根据硬件的易构性,在开始进行分配时,需要按照提取量的信息从N-1的任务分配到处理机上,以此保证最快的运行速度。

对多任务进行估算,其不准确性以及相关性任务执行时间所带来的不稳定,可通过反馈信息解决。将主任务分配给副任务,副任务执行着主任务所分配来的任务,且在执行完毕之后向主任务发送反馈信息,而主任务通过反馈的信息,从新进行分配接着在反馈,周而复始,直至所有的任务全部结束为止,这是将“一次分配完毕的静态策略”转变成“多次分配的策略”。

如果每次所要分配的任务量是B,那么依据任务的总量以及处理器B的大小,对于整个调度的性能影响较大,假如较大的情况发生,就会降低负载的调整能力;太小会致使其调度开销太大,如图2所示,设

图2 粒度并行能力关系

(3)

式中:α代表任意一台处理机的最低分配次数,而任务的平均提取量开销和近平均计算的开销两者相近时,是不能够频繁调度的,因为,B=任务总数/(α*处理机总数’),在所有的任务总量相等、粒度较粗的时候,其调整的余地比较大,与此同时,B/单个任务其粒度能达到1。

针对上述计算方法,文中得到的多媒体数据库多任务并行控制调度算法SSA如下列所示[11]:

1)先将所有的处理器计算速度和主任务到所有的副任务间通信速度进行测定。能够得到两个数组的参数x[i],c[j];

2)将所有任务进行合并,其通信量C(0,i)与计算量T(i)的任务TI和T0两者合并,接着把任务T0分配到主机上P0;

3)对N-1个C(0,i)比较小任务按照升序方式分别将其分配到通信速度按照降序排列的处理器{Pi,i>0}中,以及保证P0以外的处理器,能够快速有效完成工作。

4)将N个C(i,M-1)且T(i)比较小的任务进行选择,放置最后分配,通过这种方法来保证最终分配的任务所带来的延迟降到最低。

5)依据贪心算法,把全部剩余任务,通过T(i)从大到小的顺序进行排列,将B求出,在通过按组分配的模式,将任务分配给最早进行反馈的处理器。

6)通过C(i,M-1)是根据大致小的顺序,把(4)中的N个任务分配到最先进行反馈信号的处理器上。

7)最终把TM-1对其分配给处理器P0上。

通过上面能够看出:其任务比处理器大的时候,步骤2)与步骤5)能够发挥主要的作用;而任务数据和处理相近时,那么其步骤3)、4)、6)能够起到调节作用[12]。

5 仿真研究

实验环境:Java语言进行编写,双盒处理器,3.2GHz频率,4G的内存。为了验证所提并行控制方法有效性,对多媒体数据库进行1000次的引擎任务操作,用于检测针对硬盘查询处理的距离比较数、硬盘的输入/输出以及平均回应时间。

首先制作一台合成聚类发生器,确保生成的数据模拟特征是不具备类似特征,要先将多个|C|d-维中心进行生成,其半径相同,对每个聚类都提供多维空间的位置。

因此,所有数据集能够用〈n,d,|C|〉、点数、多维空间的大小、聚类数表示,其产生的非均匀以及均匀的数据集全部在下列范围

n∈{106,107},

d∈{10,20,50,100,150,200,256,1000}

(4)

(5)

而且,所有的聚类c都有ncd-维高斯点。{r,&,p}代表任何一个聚类,而半径r代表了单个聚类所占据的空间位置,&代表密度,就是单位容量所包括的点数量。其种群p决定了聚类中的d-点数,总数值在以下的范围内

r∈{1,[1,3]}

(6)

最终会得到187个数据对象,其控制所使用的k值,将其设为50、100以及150。

图3 不同数据之间的维度非均匀数据集的1000次控制次数

通过上图,可明确了解处理时间是随着维数的增加而增长的,并且是呈现指数形式上涨,不过,这种的上涨指数没有预期的快。

图4 硬盘输入输出计数和距离计算结果

上图中的曲线是趋向于稳定状态,这归功于多任务控制方法,不论什么时候。其多任务并行控制都是在非均匀种群前面lg2n聚类上。任何处理器在传回k个结果,就可获取到k=100与150几乎是相近值,因此在曲线上面是没有办法非常具体的表现出来。而聚类大小是主要的因素影响,因此,规模相对较小的聚类能够缩短控制时间,所以,不用关注入选聚类内部的控制效率。

通过上述的实验可以看出,本文方法效果良好,有效性能较高。

5 结束语

科技时代互联网快速发展,多媒体数据库的庞大性、复杂性以及多样性都是注定了其系统在进行多任务工作时,难以有效的且快速的完成,因此本文提出一种多媒体数据库引擎多任务并行控制方法。本文具体措施如下所示:

1)通过分析多任务并行存储、查询、数据版本管理以及非格式化处理为后续数据处理奠定可行基础。

2)通过对多媒体数据库的了解,采用串行程序内结构化单入口方式,其中非结构化与结构化两种并行控制机制。

3)通过SSA算法,完成最终的控制。经过试验证明,本文方法能够有效的控制运行,且效果良好。

猜你喜欢

多任务结构化聚类
数字时代的注意困境:媒体多任务的视角*
一种傅里叶域海量数据高速谱聚类方法
顾丽英:小学数学结构化教学的实践探索
借助问题情境,让结构化教学真实发生
基于知识图谱的k-modes文本聚类研究
基于数据降维与聚类的车联网数据分析应用
结合自监督学习的多任务文本语义匹配方法
面向多任务的无人系统通信及控制系统设计与实现
深度学习的单元结构化教学实践与思考
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习