多处理器系统(精选12篇)
多处理器系统 篇1
摘要:电信计费系统有着庞大的用户群,要并发地为很多用户提供各种各样的收费及查询服务,同时后台也要进行数据的采集和整合工作,并且要进行比如系统的权限管理等,因此对硬件的要求越来越高。虽然硬件也有了飞速的发展,但是始终赶不上用户增长的速度,如何在现有的多处理器(多核)硬件条件上,提高计费系统的性能,也成为人们研究的课题,在此对如何以最小的代价把现有的程序改造成适合多处理器上运行的程序,来最大限度的提高程序的运行效率,提出解决办法。
关键词:计费系统,多处理器,性能
电信计费系统有着众多的用户,要并发地为用户提供各种各样的计费及查询服务,同时在后台也要进行数据的采集和整合工作,因此对性能的要求是比较高的,我们如何在最小的硬件成本下提供最好的性能,这就要求我们在程序的设计开发上多下功夫,本文就是探讨在具有多个处理器或多个内核的计算机上,如何实现多线程然后在多个处理器上或内核上执行来提高程序的运行速度,是我们现在和将来在程序设计中会遇到的问题,还有怎样把现在的程序以最小的代价改造成适合在多处理器上运行来提高运行效率。
1 多核软件开发流程简介
如图1所示,首先进行性能分析,找出性能瓶颈所在,接下来进行多线程的设计,接着进行正确性调试最后进行性能调优,当然中间的步骤也可以返回上面的步骤进行处理,她是个循环反复的过程直至我们的程序最优。
2 英特尔编译器产品Compilers9.0
她支持C++和Fortran;同时支持多种平台IA32、Itanium2、EM64T、Xscale;和.net、Visual C++兼容;减少缓冲区过载的风险;实现code-coverage和test-prioritization;遵循OpenMp 2.0标准;Auto-parallel feature that automatically。
通用编译开关:
Od关闭优化选项
Zi生成调试信息
O1不增加代码尺寸的优化
O2速度优化(默认选项)
O3最高优化选项
特殊的编译开关:
自动向量化开关可以实现单指令流多数据流来提高程序执行的速度,如图2所示。
高层优化开关进行循环优化和内存存取优化;
/Qip/Qipo开关进行过程间优化;
/Qprof_gen/Qprof_use进行自导向优化,她不是静态优化而是编译过程的动态优化,是使用执行时间的反馈来指导优化,特别是用来进行内存分页、分支预测、基本块重排序优化;
/Qparallel自动使用多线程来实现循环;
/Qopenmp实现多平台共享内存的并行程序;
用openmp实现循环的例子:
#pragma omp parallel for
for(i=0;i
3 Intel Vtune performance Analyzer7.2
用来找出程序的瓶颈所在。如图3所示。
它具有的特点:
可以进行cpu执行上下文的采样,可以是时间采样也可以是事件采样,由于这个采样是基于cpu的内部寄存器,对原程序的影响小,因此得到的采样越精确,也不用重新编译;
根据出口、入口函数得到调用关系,她是直接扫描二进制代码,插入自己的性能收集代码,调用不是系统范围,只是用户态,反应函数的调用路径。
4 Intel Threading Tools 2.2
其中Thread checker用来调试错误,如多线程竞争和死锁的问题,支持Linux、posix和openmp。Thread profiler用来进行性能分析,解决性能问题。
在实际工作中最常见的多线程错误:
1)Race condition如多线程访问全局变量;2)Dead locks死锁;3)Thread stalls挂起。
Intel Thread Checker可以解决以上错误,她可以定位到错误的源代码行,描述可能的错误原因和建议;按错误等级分类;动态的数据加载;选择合适的输入数据使各个执行路径被执行到;监视的范围大。
影响性能的因素:
1)并行负载由于线程创建、调度等;2)同步;3)负载均衡;4)并行工作的分布、粒度等。
Thread prifiler是Vtune的Plugin,同时支持OpenMP和Win32主要用来解决执行时间瓶颈,她采用了二进制代码扫描技术,插入分析代码,进行关键路径分析。
5 Intel integrated performance primitives 5.0性能函数库
涵盖了信号、图像、多媒体、多线程处理、加解密,她是预建的功能库,使客户把精力集中于更有价值的地方,节省时间和成本。IPP5.0支持IA32、WinCE,硬件支持Inter pentium极限版IXP4XX网络处理器,她覆盖常用处理器及应用。
6 Intel Math Kernel Library 8.0数学核心函数库
主要用于科学计算、工程领域、金融应用,针对多核处理器进行了最好的优化,保证了线程的安全,并且有多线程支持,支持OpenMP标准。
功能域:BLAS.Lapack
Pardiso Sparse solver
Fast Fourier Transforms
Vector math Library
Random Number Generators
Cluster Math Kernel Library
MKL plus scalapack
7 Intel cluster Tools集群工具
工具用来使开发者和管理者在分布式系统里获得出色的性能。
Intel MPI Library1.0是计算机在集群环境下的消息传递协议。功能向下兼容开源的MPICHI0.96,她的通信环境是TCP、共享内存、以太网、InfiniBand、Myrinet。
Intel Trace Collector 5.0是MPI应用的基于事件的追踪。它是进行安全的二进制扫描,并且是基于事件的,同时提供EM64T的支持。
Intel Trace Analyzer进行图形化分析跟踪的数据。
8 结束语
并发思维需要培养,需要适当的努力才能学好,并进行实践开发才能真正掌握好,电信计费系统在英特尔的多处理器或多核环境下的编程,及英特尔的相关工具的使用,收益比较大,这些都可以从英特尔网站(www.intel.com/software/products)下载版本进行实际体验,觉得确实有其优势,在以后的项目中可以推广采用相应的工具软件进行开发,以节约成本和提高开发效率。
参考文献
[1]胡越黎,王尧明.单芯片多处理器系统任务并行处理设计[J].上海大学学报,2009(10):501-505.
[2]Herlihy M,Shavit N.多处理器编程的艺术[M].金海,译.北京:机械工业出版社,2009:73-78.
[3]张剑飞.多处理器共享缓存设计与实现[J].计算机与数字工程,2008(9):148-150.
多处理器系统 篇2
分布式多线程并行处理技术在大规模化学结构检索数据库系统中的应用
提出以分布式、多线程并行处理技术实现基于甲骨文数据库管理系统的高效大规模化学结构检索数据库系统的方法;以相同的结构搜索算法和不同的模块组合机制分别构建了单机单线程、单机多线程、分布式单线程和分布式多线程4种不同的化学结构检索数据库系统,并在4种不同的实现方案下对同一组化学结构分别做了结构检索实验.结果表明:在4种实现方案中,分布式多线程并行处理方法的.检索效率最高,稳定性也很好(与其他3种实现方法相同).该方法已成功应用于微芯公司开发的TASS (Target Activity and Structure System)软件系统中.
作 者:苏振强 鲁先平石乐明 作者单位:深圳微芯生物科技有限责任公司,广东,深圳,518057刊 名:计算机与应用化学 ISTIC PKU英文刊名:COMPUTERS AND APPLIED CHEMISTRY年,卷(期):200421(5)分类号:O665.4 O657.32关键词:分布式并行计算 多线程 化学结构数据库 互斥对象
多任务处理能力是否应提倡? 篇3
我们都愿意相信我们可以同时做很多事情,我们的注意力是无限的,但是这只是一个永恒的神话。实际上,我们能做的只不过是注意力在任务之间的快速转移。这将会产生两个不好的后果:第一,我们没有给一件事情足够的注意力,第二,我们降低了应对所有的任务所需注意力的质量。养成处理单一任务的习惯,将会使我们大脑的神经网络向好的方向改变,增加连通性。除此之外,这还被认为有防止老年痴呆的作用。事实证明,已参与过五次注意力控制培训课程的年长成年人的大脑活动模式已经开始显现出更接近于年轻成年人的大脑活动模式的倾向。
我们以为人们将会意识到他们不擅长多任务处理并改掉这个习惯。但是因多巴胺和肾上腺素刺激的反馈回路所造成的认知错觉,会使得多任务处理者认为自己做的很好。部分原因在于公司在工作场合错误地引导与鼓励员工进行多任务处理。很多管理者会给员工强加一些规则,如“你必须要在15分钟答复邮件”,或者“你必须保持聊天窗口开启”,但是这就意味着你要分散注意力,停止正在做的事情,分割前额皮质上的大量资源,而这个前额皮质上专注任务资源的形成则需要成千上万年的磨练。这个专注任务的模式才能够带给我们金字塔、数学、伟大的城市、文学、艺术、音乐、青霉素以及可以飞到月球的火箭等伟大的发明。这些发明在分散的两分钟富余时间中是不可能实现的。
最终赢得生产力效率竞争的公司都是怎样的?它们不仅保证员工的工作时间段,还允许他们有间隔的休息、小憩与锻炼的机会,同时为员工提供一个放松、平静、有序的工作环境。如果你一直处于一个紧张的环境中,总是有人要求你不断去产出,你将不可能拥有深刻的见解。这就是谷歌在总部安置乒乓球台的原因。研究发现,随着每周工作时间的下降,生产率反而升高,明显暗示着适宜的娱乐休闲和再充电的时间对雇主和员工都是有利的。伴随着睡眠的剥夺的过度工作将会导致员工易于犯错,而这些错误将需消耗比过度工作更长的时间去去弥补。(编译:郑丽莎;来源:http://www.strategy-business.com/)
多处理器系统 篇4
随着声纳和雷达以及电子对抗处理算法对信号处理机的性能要求越来越高, 简单的依靠单个信号处理机性能的提升已经出现瓶颈。一方面处理器速度的提升逐渐难以满足算法复杂度和实时性的要求, 另一方面通用处理器的性能难以和专用处理器 (DSP) 相媲美。为了解决以上矛盾, 多处理器协同, 大规模并行处理已经成为当前信号处理机的首选解决方案。
随着嵌入式系统应用的不断发展, 相继出现了一批优秀的IO互联技术及体系结构, 如PCI Express, Rapidio, HyperTransPort, InfiniBand等, 其中Rapidio以其高效的协议效率, 更加灵活的系统拓扑结构以及各大硬件和软件厂商的支持, 在嵌入式应用中占据越来越重要的地位[1,2]。
本文将阐述基于TS101, GS2E和MPC8641不同架构CPU基于Rapidio交换结构信号处理的系统软件设计与实现。
1系统架构概述
目标硬件为3种不同构架的CPU, 分别为TS101、GS2E和MPC8641 (MPC8548) 。由于芯片能力的不同, 对应系统的硬件结构也有3种不同形式[3,4]:
TS101和GS2E模块采用Local Bus与FPGA相连, FPGA通过IP核生成Rapidio接口接入Rapidio交换网络。而MPC8641已经集成Rapidio接口。
2系统软件方案概述
从硬件结构来看, GS2E与TS101系统结构更为相似。但是由于TS101处理器资源较少, 无法运行Linux操作系统, 而其他两种处理器的软件均基于Linux操作系统, 因此GS2E的软件方案与MPC8641更为相似, TS101则采用与其他二者不同的方案。GS2E相比MPC8641缺少以太网接口, 但可以通过软件方式在Linux下虚拟出基于RapidIO的以太网设备。
TS101系统的软件方案与二期平台的方案较为相似。TS101处理器间的通信通过RapidIO端口进行。同时还可以把RapidIO看作二期平台的CPCI总线, 主机和TS101之间是主从关系, 主机通过RapidIO直接向TS101加载程序, 访问TS101的片内资源。主机提供远程驱动代理服务器, 开发主机通过以太网与主机相连, 使用类似二期的远程方式操作TS101。
MPC8641系统采用RapidIO作为处理器间通信的方式。主机的开发和调试信息主要通过以太网传递, 不会占用RapidIO的带宽, 并可以利用众多现成的基于以太网的开发和调试工具。GS2E虽然不具有以太网接口, 但是可以通过软件虚拟出Linux下基于RapidIO的以太网设备。这样GS2E也可采用与MPC8641相同的开发和调试方式。
3软件方案
根据已有的研究成果, 基于模块化和可重构的思想, 以上三种不同模块采用的软件架构方案如下:
4Linux部署
MPC8641或者GS2E板上的软件可分为Bootloader、Kernel和Rootfs三部分。
(1) Bootloader
板卡复位后运行的第一个程序, 负责硬件的初始化和一些简单的设置, 然后将linux内核引导起来。一般固化在flash中。常用u-boot, 大小约为500KB。
(2) Kernel
Linux内核, 可以包含驱动程序。大小约为1MB。可固化在FLASH中或者使用bootloader通过网络下载到内存中运行。
(3) Rootfs
包含Linux内核运行的配置文件、动态加载的驱动模块、系统应用程序、用户程序及其依赖的库文件等。原始大小一般2MB以上, 只读, 还需要包含一部分可写的文件系统用来下载的用户程序。可固化在FLASH上, 可包含只读部分和可读写部分, 还可放在主机上通过nfs网络挂载。
三部分组件都可以通过网上获取到相应的源码和工具, 但制作较为复杂。1.2.0版的u-boot支持8548和8641的一些开发板, 需要移植到自己的板卡上。Linux新版内核支持8540和8641的开发板, 需要板级移植。Rootfs可采用busybox制作。编译这三部分组件之前需要先配置好主机linux的开发环境, 包括交叉工具链的安装和环境变量的设置。
Denx的网站提供了powerpc系列的嵌入式linux开发工具包eldk。其提供了全系列ppc的交叉工具链、linux内核源码、u-boot源码、ppc的各种工具和库文件[5]。
Freescale为其处理器系列提供了linux BSP, 包含交叉工具链、为其开发板移植好的linux、移植好的u-boot、busybox以及linux部署工具ltib。Ltib使用一个配置环境可制作出bootloader、kernel和rootfs[6]。
5用户程序开发
开发主机可安装redhat或者fedora core的linux发行版, 或使用Windows操作系统并在虚拟机上安装Linux, 使用eclipse作为系统的开发环境。Eclipse可调用gnu的gcc进行本地编译或者交叉编译, 然后使用gdb通过以太网或串口进行本地或者远程的调试。
6测试结果
我们在基于ATCA架构的机箱上实现了以上所述的硬件架构, 分别研制成功了基于MPC8641D, GS2E, TS101的AMC板卡, 以及基于Full-Mesh架构的Rapidio交换板以及载板, 根据以上系统软件方案的设计, 我们成功的架构了一套开发调试应用的解决方案, 示例应用方案采用一块MPC8641D AMC板卡做控制主机, GS2E和TS101做运算模拟雷达系统演示:
值得注意的是, 上述系统软件方案可以非常方便的进行改进和移植, 适用于不同的硬件架构方案, 后期我们已经实现在MPC8641上部署VxWorks操作系统, 还实现了MicroTC和VPX的硬件架构, 上述系统软件方案都可以在不需要繁杂修改的基础上顺利的移植和应用于新系统中。
参考文献
[1]RapidIO Trade Association. RapidIO Specification 1.3[EB/OL]. [2005-6]. www.rapidio.org/specs/current.
[2]RapidIO Trade Association. RapidIO, PCI Express and Gigabit Ethernet Comparison.[2005-5-3]. http://www.rapidio.org/education/documents/InterconnectComparison_v02.pdf.
[3]PICMG 3.0 Revision 2.0 AdvancedTCA Base Specification. http://www.picmg.org.
[4]Understanding backplane, chip-to-chip tech (EETimes) http://www.eetimes.com/industrychallenges/interconnect/showArti-cle.jhtmlarticleID=55800439
[5]Solutions offered by DENX Software Engineering. http://www.denx.de/en/Software/WebHome.
《信息处理方法多》教学设计 篇5
教学目标:
1、知道信息处理的发展过程。
2、能列举信息的表现形式和处理方法。
3、能根据需要恰当地选择信息表现形式。教学重点:信息处理方法与信息的表现形式。教学难点:信息表现形式的选择。教学方法:任务驱动式,自学探究。教学过程:
一、导入
1、音频导入:听这是什么声音?对这是发报机的声音。在战争年代,军人们通过他来传递信息。那什么是信息?信息是泛指社会中可以传播的一切内容。举例说明生活在信息世界里,每个人的大脑就像是一个信息处理系统,时刻都在处理不同的信息。
2、揭题:(出示课题)信息处理方法多
二、新知
1、信息处理的发展
诚信小故事:在很久很久以前,有一个朝代叫“周”,国王是周幽王,他有一个妃子叫褒姒。可是她有个苦瓜脸,不爱笑。为博取她的一笑,周幽王下令将都城附近20多座烽火台上点起烽火。烽火是边关报警的信号,只有在外敌入侵需召诸侯来救援的时候才能点燃。结果诸侯们见到烽火,率领
兵将们匆匆赶到。结果发现这是君王为博妻一笑的花招后又愤然离去。褒姒看到平日威仪赫赫的诸侯们手足无措的样子,终于开心的笑了。
可是五年后,外敌大举入侵,幽王再次点燃烽火而诸侯未到。因为谁也不愿再上第二次当了。结果幽王被逼自刎,褒姒也被俘虏。
过渡:在学习之前,我们一起来听一个小故事。在很久很久以前......这就是著名的诚信小故事——“烽火戏诸侯”。人无信不立,故事中的周幽王通过点然烽火传递假信息,国破家亡。古往今来,随着科学技术的不断发展,信息处理的工具不断更新,处理的方法和途径也多种多样。关键问题:从这个小故事你知道了什么道理?(初步感知信息处理重要性)
2、感受信息处理方法
过渡:我们从古代回现现代。关键问题:想一想,我们平时是如何处理信息的呢?
(1)我们平时是如何处理信息的?信息处理的方法多种多样,同一信息可以选择不同的方法处理。(2)看图说一说他们是如何处理信息的?
①传统邮件信息 ②手绘宣传信息③打个电话问好 ④用照相机拍照⑤打印机打印文件 ⑥网络视频交流
3、信息的主要表现形式
(1)过渡:信息处理的方式和方法有很多。关键问题:说一说下面每一种信息的处理方法和主要表现形式各有是什么? 内 容 传统邮递信件 手绘宣传板报 打个电话问好 用照相机拍照 用打印机打印文件 网络视频交流 处理方法 用笔书写文字
信息表现的形式 文字
(2)填写记录表。
三、巩固应用,拓展提升
过渡:信息的处理方法和表现形式都是多种多样的。借下我来考验下大家刚才学的怎么样——闯关测评,谁登高峰。
1、判断题
2、填空题
3、读一读:“关注农村留守儿童”。⑴选择信息的表现形式。
①文字、图形、图像、声音、动画和视频都是信息呈现、交流的重要表现形式,根据宣传活动的需要,选择合适的信息表现形式。
②我们选择的信息表现形式有:。⑵确定传播载体。
①过渡:信息的载体多种多样,要达到宣传的效果,可以选择板报、宣传画、幻灯片、数字视频、网页等。
②我们选择的传播载体是:。⑶确定宣传内容。
①过渡:要取得好的宣传效果,选择恰当的宣传内容十分重要。②我们确定的宣传内容有:。
2、读一读:根据需要恰当地选择信息表现形式。
对于文字、图片、声音、动画和视频等表现形式,我们不能简单认为某一种表现形式最好,某一种表现形式最差。
在选择信息表现形式时必须根据需要表达的信息内容、呈现方式(载体)等,选择相应的信息表现形式。比如平面广告的制作,一般选择使用文字、图片,而网络广告就可以采用更加丰富的表现形式。当然,在选择信息表现形式时,还要考虑信息处理的经济与方便。
3、动手做一做。
四、课堂小结
通过本课的学习,我们知道了信息处理的方法是多种多样的。
1、说说这节课,你有哪些收获?
2、教师小结。《信息处理方法多》学习单
一、什么是信息?信息是泛指社会中可以传播的一切内容。举例说明生活在信息世界里,每个人的大脑就像是一个信息处理系统,时刻都在处理不同的信息。
二、说一说下面每一种信息的处理方法和主要表现形式各有是什么? 内 容 传统邮递信件 手绘宣传板报 打个电话问好 用照相机拍照 用打印机打印文件 网络视频交流
三、自我测评 1)判断题
1、信息处理的方法是单一的。
2、我们每一个人的大脑就像是一个信息处理系统,时刻都在处理不同的信息。
3、古人曾经使用过“烽火”“狼烟”“信鸽”等方法传递紧急的信息。
4、信息传播的载体是多种多样的,可以选择板报、宣传画、幻灯片、网页等不同的载体达到宣传效果。
5、动画比文字好,更能达到良好的宣传效果。
6、要取得好的宣传效果,选择恰当的宣传内容十分重要。2)填空题
1、常见的信息处理方法有()等。
2、常见的信息表现形式有()等。
3、信息的传播载体多种多样,可以选择()等不同的载体来达到不同的宣传效果。3)读一读:“关注农村留守儿童”。据全国妇联2009年统计,我国的农村留守儿童约5800万人,占全部农村留守儿童人口的28.29%。处理方法 用笔书写文字
信息表现的形式 文字
其中,14周岁以下的约有4000多万人。这是一个庞大的群体,需要更多人的关爱。
请以“全社会都来关注农村留守儿童”为主题,策划一次宣传活动。
⑴选择信息的表现形式。
②我们选择的信息表现形式有:
。⑵确定传播载体。
②我们选择的传播载体是:
。⑶确定宣传内容。
多处理器系统 篇6
1、污水处理市场前景巨大;
2、全方位、多技术线路水
上海巴安水务有限公司(以下简称:巴安水务)是一家专门从事环保水处理业务,为电力、石化等大型工业项目和自来水厂、污水处理厂等市政项目提供持续创新的智能化、全方位水处理技术经济解决方案。目前公司已在多项技术领域处于行业领先水平,在火电厂凝结水精处理市场中,公司在公开招标中对空冷机组凝结水精处理系统的中标率为42.6%,领先于行业其他企业。2008年-2010年,公司净利润分别为1106.38万元、1994.99万元、3113.51万元,体现了良好的成长性。
污水处理市场空间广阔
国家的高度重视和产业政策的支持推动了市政污水处理行业的快速发展,截至2009年末,我国已建成城市污水处理厂约1100座左右,日处理能力达到8664万吨/天,城市污水处理率达72.3%。
我国市政污水处理与回用行业正处于逐步从达标排放到“低排放”及污水处理回用的发展过程当中,预计未来行业发展前景广阔。据悉,“十二五”和“十三五”时期,我国废水治理投入将分别达到12781亿元和15603亿元,其中用于工业和城镇生活污水的治理投资将分别达到5753亿元和5578亿元。
随着国内水资源日益紧张,市政污水处理和基于污水再利用的再生水市场发展潜力巨大,假定“十二五”期间,新增污水处理能力和再生水日利用能力保持“十一五”期间要求,则需新增日处理10万吨的中型再生水项目至少70个,按照再生水处理系统造价3,000万元,市场容量在21亿元以上;需新增日处理10万吨的中型污水处理厂450个,按照符合污水排放标准的污水处理系统造价1,500万元,市场容量在60亿元以上。
全方位、多技术线路水处理企业
目前,水处理的常规技术已经比较成熟、通用,水处理设备系统集成服务商主要是合理的运用各种技术,然后根据整体设计方案,选择适用的水处理设备,再将各设备集成为成套的水处理系统,以满足各种水处理需求。整体而言,公司的核心竞争优势可以分成两个层面:
(1)自主研发和技术创新能力
巴安水务作为创业型企业,一直都重视自主研发和技术创新,目前公司已经取得了14项专利。公司掌握了所提供的主要水处理系统如凝结水精系统、中水回用系统、市政给水系统、市政污水系统等相关技术,并不断创新,这使得公司在整体系统的设计和理解上具有不断创新的优势。
(2)水处理系统设计资料库齐全
巴安水务成立10多年以来,已经完成了近200个水处理项目,这样帮助公司积累了丰富的技术资料和实例资料。资料库的业务涵盖工业和市政水处理行业,极大地提升了公司系统设计能力和系统改进、创新能力。
除了以上两点核心竞争优势以外,巴中水务的多技术、多产品、多行业的“三多”品牌形象无疑给公司带来了更大的商机。巴中水务利用水处理系统的核心基础技术,整合了几个主要的技术要点,然后再此基础上通过工程实践,搭配组合各种水处理技术,打造出丰富的产品线。这极大地帮助了企业在承揽项目时财务多个水处理系统打包定价策略,为客户提供全套的“交钥匙”服务。
多处理器系统 篇7
关键词:区处理,中值-平滑滤波,自适应"波门"
引言
武器试验的快速发展对空间多目标跟踪测量提出了迫切需求。本文提出一种基于自适应"波门"识别技术的多目标图像跟踪处理系统, 利用成熟的DSP处理技术和现场可编程技术, 结合上位机控制, 灵活调整系统配置和参数选择, 针对多目标图像进行信息提取和目标识别, 建立多目标运动轨迹, 预测其运动速度, 实现多目标跟踪处理和综合测量。
1 系统组成
系统主要由视频传输单元、图像处理单元、控制台单元组成, 工作原理框图如图1。其中, 图像处理单元是以跟踪处理计算机为主, 包括同步机显示控制处理、预处理程控放大、A/D转换卡、FPGA图像运算、图像实时变换、分目标处理器、通信接口控制等模块的功能单元。同步机显示控制处理实现高精度的数字锁相, 增加跟踪测量精度;FPGA图像运算对图像数据进行卷积运算和中值-平滑滤波;图像实时变换进行实时的二维傅氏变换;跟踪处理计算机及分目标处理器完成目标识别及多"波门"捕获与跟踪。
2 图像区处理
图像区处理采用中值滤波和平滑处理相结合的混合处理方法, 对于提高多目标信号的识别率具有独特效果。
2.1 中值-平滑滤波
中值滤波能有效地降低图像噪声而保护目标图像边缘, 平滑滤波则具有较好的实时性。结合二者之长, 采用中值-平滑滤波进行图像处理。实践表明, 中值-平滑滤波所需时间明显少于同样窗口的二维中值滤波时间, 且降噪效果好[1]。
假设:输入图像为[X]M×N, 输出图像为[Y]M×N, 经过输入中值滤波处理后的图像为[X']M×N, 平滑滤波输出图像为[U]M×N, 列五输入中值滤波后的输出图像为[Y']M×N。那么:
2.2 自适应目标提取
设像素的灰度值时间函数为xk (i, j) , 一场图像的像素排列定义一个灰度矩阵 (k为场数) :
式中, 行矢量xk (i) =[xk (i, 1) , xk (i, 2) , …, xk (i, n) ]。
建立一场无运动目标存在的初始背景图像, 在此之后, 擦除视场中的运动目标, 以区域均值代替运动目标灰度值, 逐次更替背景图像。设背景图像为[G]M×N, k, 同样定义一个灰度背景矩阵:
式中, 行矢量gk (i) =[gk (i, 1) , gk (i, 2) , …, gk (i, n) ]。
为了提取动态目标, 计算实测图像与背景图像的灰度矩阵之差[△X]M×N, k:
设立一个门限值T, 将图像的灰度矩阵转换成图像灰度二值矩阵。由于经过中值-平滑滤波, 以及实测图像与背景图像的灰度差值运算, 目标和背景在灰度上有比较明显的差别。通过分析图像处理过程的数据, 为了动目标提取得实时性, 提出一种简单、快速的算法, 由实测图像的直方图确定灰度最大值xk, max及最小值xk, min, 取门限为
式中, α为常数, α∈{0.3, 0.6}。通过α的调节优化处理的结果, 压制外形边界上出现的干扰。
式中, qk (i, j) 为二值矩阵的元素, 则二值矩阵[Q]M×N, k为:
式中, 行矢量qk (i) =[qk (i, 1) , qk (i, 2) , …, qk (i, N) ]。
矩阵反映了在某距离、某时刻通过视场的动态目标图像的大小和形状。根据二值矩阵就可以进行多目标识别。
3 多目标自适应"波门"识别
由获取的二值特征图像参数, 经二值矩阵分析, 抽取目标图像面积、周长, 再用目标距离信息得到多目标面积、周长的关系;用目标图像中心位置的变化来确定其运动轨迹以及目标横向运动速度, 用目标距离的变化来确定其纵向运动速度, 再加上目标图像复杂度, 从而进行多目标识别[2]。完成对多目标的识别, 关键要建立一个自适应"波门"。
所谓自适应"波门", 是用数字"波门"来形成能够自己调节而适应多种目标的"波门"。该"波门"是将目标信号的前、后沿在视场中的位置量, 分别锁存于寄存器中, 由DSP通过数据采集口将目标的前、后沿位置量采入, 进行一系列判断, 找出目标在视场中上、下、左、右4个边缘, 利用目标图像4个边缘的位置数据, 通过校正后, 形成波门的上、下、左、右4个边。这样, 波门的大小就随目标图像的大小而变化, 如图2。
在这种自适应波门形成电路中, 对数字量进行校正是必要的, 否则, 波门的跟踪精度将难以满足系统要求。校正的方法比较多, 这里是利用前五场的目标位置量, 预测下一场的目标位置。预测值与实际下一场目标的准确值之差即为波门跟踪误差。为此, 应用函数构造理论, 以误差分析为依据, 构造一个自适应权函数, 形成一个综合预测算法:
式中, 表示利用直到k-1场的信息预测k+1场参数y, 其间隔两场是考虑到操作时间的需要, 和分别为线性预测器和二次预测器, ω为自适应权函数。二点线性预测器能较好地跟上动态目标的快速动作。
4 多"波门"系统的捕获与跟踪
在多波门跟踪系统中, 每一个波门的形成和单波门形成类似, 但并不是多个单波门的简单集合。对于单波门环路捕获和跟踪电视视场中的目标时, 单波门环路一般处于3种工作状态:当电视视场中没有目标信号时, 波门环路处于等待或搜索状态;当电视视场中出现目标信号时, 波门环路处于捕获状态;当波门捕获到目标信号时, 波门环路处于跟踪状态。
单波门环路的控制逻辑主要完成3种工作状态变化时, 各状态间信号的相应切换。
在多波门系统中, 各个波门环路不仅要完成上述3种工作状态变化时的各状态间控制信号的相互切换, 而且在多波门系统中各个波门之间的相互控制是必不可少的, 否则各个波门将去捕获同一个目标, 达不到多波门对多目标的跟踪要求。另外, 由于固定大小的波门对于小于波门的目标是没有问题的, 但当目标图像尺寸大于波门时, 会出现几个波门捕获同一个大目标的不同部分的问题, 因而, 各个波门均采用自适应波门。
视场内没有目标时, 系统处于等待状态, 并不断判别有无目标出现。目标出现时, 首先只允许第一波门对先出现的目标进行捕获, 若未捕获到目标, 则禁止其他波门对目标进行捕获;当第一波门捕获到目标后, 处于跟踪状态, 只跟踪波门内的目标, 同时将波门内的目标信号从视场中擦除, 这样, 其它波门环路对第一波门内的区域成为盲区, 再发出允许进行捕获的指令。第二波门在获得允许捕获的指令后, 重复以上类似运算。仅当第一、二波门都处于跟踪状态之后, 才发出允许第三波门对两波门以外的目标进行捕获的指令, 在第三波门获得进行捕获的指令后, 判别两波门以外的区域有无目标信号, 再作相关运算。
当下一场目标图像落在预测波门内, 则表示目标处于正常跟踪状态。对目标逐场的位置储存起来, 建立起目标的轨迹。对整个跟踪系统来说, 跟踪伺服机构是要驱动电视视场跟随目标而运动。
若视场中多个目标呈多元运动时, 采取特定的切选方案, 实现对某一目标的选择跟踪。
5 结束语
目前, 采用多片高速信号处理器构成的微型实时图像处理系统, 可有效解决图像处理系统受到运算速度、体积和成本限制的问题, 同时通过采取软件同步技术和对系统电路进一步优化、降额、温度补偿等[3], 可以提高系统应付复杂背景和处理多目标的能力。
参考文献
[1]王永仲, 琚新军, 胡心.智能光电系统[M].北京:科学出版社, 1999.
[2]宋丰华.现代空间光电系统及应用[M].北京:国防工业出版社, 2004.
多处理器系统 篇8
“核心平台”项目是从2013年底开始筹备建设的。该项目建设的初期目标是为了能够即早实现电子结算交易和进门收费功能, 从而能够正常地进入运营阶段。中期目标是运营逐步进入稳定阶段之后, 再把各大“业务系统”全部整合到一起, 在核心平台中实现“统一支付”、“统一收费”、“统一管理”, 这样就实现了各个业务系统模块在使用过程中无缝对接, 从而提升了整个运营市场的整体管控能力和运作效率。最终目标是对整个市场运营期间的各大业务系统所产生的全部业务数据进行数据挖掘、数据再造、统计分析, 实现为市场的管理层提供决策支持和商业智能的功能, 并且为将来的电子商务平台、门户网站的再拓展打下良好的基础和发展空间。
核心平台项目可以大大提高我们对客户服务质量、也会使我们在整个行业内的核心竞争力得到很大的提升。
二、多系统对接所遇问题及解决方式
1. 系统间接口对接模式问题 (Web Service+XML) 。
项目建设期间为了实现各大业务系统与核心平台的统一对接, 特别是针对外挂业务系统的对接问题上产生了问题。
多家系统开发商之间在系统对接问题上都提出各种各样的系统对接模式, 但都是站在自己的开发技术和观点之上提出来的, 并不具有统一性、标准性和后期的可扩展性, 多是一些单一的、固化的、甚至是一些影响系统安全性的方案, 都没有达到我们对系统接口后期可扩展性的要求。
为了解决各大业务系统开发商之间所使用的开发语言、开发平台、乃至开发技术不一致的情况, 我们经过多方面研究多次的讨论最终决定采用业界标准的系统对接模式, 即采用Web Service接口调用+XML国际统一标准跨平台数据格式来进行各大业务系统之间的统一接口、统一标准、统一方式的系统对接模式, 这样就规避了各个业务系统之间对接时开发技术和开发标准不统一的问题, 我们将最终定义下来的接口命名为【Web Service公共接口】, 此种接口模式具有非常方便的后期可扩展性和可移植性。
2. 数据信息的网络传输安全性问题 (压缩与加密) 。
接口模式统一后, 我们又发现核心平台Web Service公共接口需要实现的功能中有一些接口传递的数据信息涉及到了的客户资料信息的保密性和个人资金帐户安全性等问题, 而此类信息是不能直接在Web Service上以明文方式进行传递的, 必须要对此类信息进行加密处理, 根据这个问题, 我们为了保障客户资料信息在网络传输过程中的保密性和减少网络传输压力的问题上, 我们要求Web Service接口必须具有压缩数据包和对传输信息进行加密的功能, 并且这个功能是由核心平台来完成的, 统一实现压缩和加密算法, 把将其制作成动态链接库, 并将该动态链接库直接共享给其它各大业务系统, 由各业务系统直接调用此动态链接库中方法来对接收和发送的数据进行压缩和加密处理。
我们共享的是已经编译和封装好的动态链接库, 而不是直接把压缩和加密的算法共享, 这样就保障了算法的安全性和唯一性, 就不会使压缩和加密变成一纸空谈, 极大地保障了系统间重要数据传输的安全性及传输效率。
3. 多系统间接口调用期间信任关系的建立与安全验证问题 (验证令牌) 。
我们在测试【Web Service公共接口】的过程中发现了一个很大的问题, 就是多业务系统在调用核心平台Web Service公共接口时是随意的, 因为Web Service这项技术其本身就具有公开性的特性, 主要目的是为了方便各项技术对接, 只要是能够访问Web Service地址的程序, 都可以调用。这样的话, 随便任何一个人都可以编写一个程序来直接调用核心平台的Web Service公共接口, 就算不是授权范围之内的业务系统也可以随意调用, 如果真的出现这种情况的话, 那么我们就无法保障核心平台Web Service公共接口的安全性, 更加无法保障数据的安全性和可信性, 特别是我们的公共接口中还包括涉及到资金扣费的功能, 这就更加需要我们必须来解决这个可能会影响到资金账号安全的危险性问题。
针对这个问题, 我们经过多次讨论研究, 最终确定使用“验证令牌”的方式来解决此问题。“验证令牌”就是各大业务系统在与核心平台对接时, 都必须提前在核心平台中进行系统注册, 核心平台会将业务系统的程序根据算法抽取一部分特有信息, 由核心平台程序自动为该业务系统产生一个序列号, 该序列号是经过特殊算法加密的, 并且保证唯一性, 系统将此加密信息生成一个加密文件, 然后再把读取加密文件的方法生成动态链接库和加密文件一起发给每一个业务系统, 以后业务系统在调用核心平台Web Service接口时, 就必须先使用核心平台下发的动态链接库读取本地的加密文件, 并且动态链接库会自动的比对加密信息与业务系统程序本身的注册信息是否一致, 这样就相当于把业务系统的身份标识与加密文件进行了绑定, 就算有人得到了加密文件和动态链接库, 他也无法使用, 因为他没有业务系统程序, 无法仿造出业务系统程序的特有标识信息 (如果业务系统的程序发生了版本变更就要重新到核心平台中更新注册信息。)
本地的动态链接库验证通过后, 会生成一段随机加密的信息, 由业务系统程序发送给核心平台Web Service接口进行身份验证, 核心平台在验证通过之后, 业务系统才可以正常调用Web Service公共接口并返回正确数据, 否则业务系统是无法正常调用核心平台Web Service公共接口的。这样就相当于核心平台给每个业务系统都发一把独立的钥匙, 每把钥匙都不同, 只有拿着钥匙的人才可以打开核心平台Web Service公共接口这扇大门, 这样就防止了非法程序随便调用核心平台Web Service公共接口的问题, 保障了公共接口的安全性。
三、总结及分析
我们在“核心平台”建设期间所遇到的各种各样的问题, 给我们对以后的系统建设和多业务系统对接问题上积累了丰富的经验。
1. 凡涉及多系统对接, 一定要签定三方协议。
我们在经历了多业务系统对接时所引发的诸多问题, 总结出一条重要的经验, 就是当由多个系统开发商合作进行的多业务系统对接时, 一定要签定《三方接口对接合作保证协议》, 简称《三方协议》, 从协议条文中规定系统对接的双方开发商约束的条件, 要求系统接口在发生问题时, 双方一定要在第一时间派出相关的接口负责人, 组成问题处理小组, 双方积极配合工作, 即时解决问题, 从协议中尽量做到要求双方分工明确, 责任关系清淅, 以便于我们明确责任对象和处理方式。
我们一定要合理的利用合同和法律手段来维护公司的正当权宜。全面运用合同管理, 明确双方系统责任, 保护自己的利益。
2. 统一接口、统一技术标准、支持跨平台和后期可扩展性。
多系统业务对接时, 我们一定要求系统开发商做到保证接口技术的统一性、标准性、跨平台性、后期可扩展性, 大部分系统开发商都会为了节省自己的开发成本, 而采取一些省时省力的方式来做系统对接, 不考虑后期的扩展和可维护, 更甚至模糊系统安全性的概念, 做一些危险的动作, 这些情况是绝对不能允许的。这就要求我们的相关管理人员, 一定要做到工作细致, 在一定程度上要对当时业界的技术形态有一些了解, 要对自己技术水准的认知上做一些准备工作。
3. 系统对接, 尽量杜绝紧偶合。
我们在多业务系统对接时还发现了一个重大的问题, 这个问题也是多业务系统对接时经常会出现一个问题, 往往会被人们所忽视。这个问题就是系统对接紧偶合性问题。什么是紧偶合性问题?就是两个业务系统对接时, 其接口承担了某一个业务系统流程中的关键性节点, 必须通过此节点, 业务才能继续正常运行, 否则就无法使用系统。这就相当于把某一个业务系统完全绑死在另一个业务系统之上, 或者是两个业务系统之间完全性绑死了。这个问题, 是一个致命性的硬伤。
如果发生某一业务系统宕机, 或由于某些原因需要暂时停用, 那么另一个业务系统也就无法继续使用了, 只有等主业务系统修复之后, 才可以正常使用。这个问题会导致某些具有独立性业务特点的系统无法正常开展业务, 如果其业务本身具有人工管理的独立性还好, 但是如果是那种对业务系统依赖比较大的业务, 那么就无法开展下去了。
解决这个问题的方法是什么呢?就是在多业务系统对接时, 尽量的准备第二套方案来归避系统接口调用时的紧偶合性。也就是说在调用系统接口时, 我们可以使用第二套方案来跳过接口调用, 或者摸拟关键性节点接口调用的数据, 先将数据保留在本地业务系统中, 当主业务系统重新恢复之后, 通过一个切换的手段, 还可以再把系统接口切回主业务系统, 并将当前业务系统产生的数据再上传到主业务系统进行处理。这样就解决了两个业务系统紧偶合性问题。这样就可以保障当出现主业务系统宕机, 或两个业务系统需要进行独立运行时, 也可以正常开展业务。
4. 一定要保障传输数据的安全性。
多业务系统对接时, 一定要保障数据的安全性, 特别是涉及隐密信息和资金数据的信息, 这更加的重要了。所以我们必须要了解我们的业务接口要做哪些工作, 所传输的数据都是什么, 要多和相关业务部门沟通, 了解传输的数据中哪些是需要保密的, 数据量有多大。如果存在此种情况, 那么系统就必须做到保障业务数据的安全性, 实现对传输数据的加密功能和业务系统身份验证的功能。
5. 测试时一定要注意系统兼容性。
通过上次的用户推广工作中出现的问题, 我们得到了一个教训, 就是前期一定要注意测试时注意系统兼容性问题, 不管系统开发商以前保证过什么, 但是我们在做系统测试时, 还要尽量将各种情况都考虑进去, 从而尽量避免出现问题时使我们自己陷于很被动的状态。
而且在系统开发前期, 我们一定要求系统开发商确保实际业务系统中特别是占关键性地位的后台服务性程序支持32位和64位操作系统, 并且支持大并发性。
6. 接口调用例程。
多业务系统对接时, 因为程序之间的相互调用, 所以有时很难分清是谁的责任, 所以为了避免这种情况的发生, 我们就要求开发双方, 都要制作一套独立的接口调用测试样例程序, 最好能够做到B/S、C/S两套实例, 当出现问题的时候, 就可以很容易找到问题的根源, 是哪一方的问题可以一目了然。
7. 至少布署两套实例系统。
业务系统在布署时应该至少准备两套实例, 这样就可以方便地切换业务实例, 不但可以保障用户的体验度和自己的测试系统时的方便性, 同时当某一个业务实例出现问题时, 可以方便地切换到正常运行的业务实例中来, 保障了业务运行的稳定性和不间断性。
8. 考虑系统可配置性。
系统开发期间, 经常会出现某些业务系统的开发人员为了图省事, 没有把一些关键的指向性系统参数做成可配置的, 而直接写死到了程序中, 导致当我们需要把业务系统切换到另一个业务实例时, 竟然还需要去修改程序, 然后重新编译, 这样大大降低了系统的灵活性, 给后期调试和维护带来了不便。
所以, 我们需要在业务开发期间, 了解业务系统的一些关键性参数, 特别是那些具体指向性、可变动性, 可配置性的参数, 一定要求系统开发人员将此类型的参数做成可配置的, 方便后期系统的维护和调试的灵活性, 这也是一个系统本应该具有的基本特性。
四、结束语
通过在核心平台系统建设中所遇到诸多问题, 我们吸取了很多的教训, 增长了很多的经验, 从需求调研到实际开发, 从系统布署到环境测试, 我们经历了每一个环节。
我们一定要更加进一步强化系统建设的管理工作和我们工作的细度, 不但要从技术层面不断的提高自己, 还要从项目管理层面不断的学习, 提高自己的应对突发事件时的应急处理能力, 为我们的系统建设工作打下坚实可造的基础。
摘要:本文阐述了信息化系统建设期间多业务系统对接时所遇到的各种情况及处理方式, 对于接口模式、数据安全性、系统间信任关系的建立方式进行了简要的介绍和论述, 对信息化系统间对接具有一定的指导意义。
多处理器系统 篇9
高性能的IC制造装备涉及超过40个运动轴的超精密同步运动控制, 具有实时性高、任务复杂、计算量大和数据吞吐率高等特点, 对计算性能的要求超过了单一处理器的计算能力, 因此通常采用多处理器并行计算架构[1]。超精密运动控制涉及多种测量系统, 且测量数据需要在多个并行计算节点间传输;工作台多自由度运动存在紧密的运动耦合[2], 多轴运动控制可能在不同的并行计算节点中实现, 各节点需要共享临时数据。此外, 工作台的响应频率、控制精度等要求较高的伺服带宽, 这意味着需要在较短的采样周期中完成针对所有轴的运动控制[3]。因此, 如何实现并行计算节点间的高效数据交互成为了关键问题。数据交互须具备高可靠性、高数据吞吐量、低传输延迟等特性, 同时应占用较小的处理器软件开销[4], 以确保多维精密工作台运动控制的实时性。
通常在并行架构中设计数据传输网络来实现节点间的数据交互, 根据不同传输网络结构, 并行计算系统可分为紧耦合式系统和松 耦合式系统[5], 前者共享总线或存储器, 编程模型简单, 适用于大量共享数据且实时性要求不高的应用, 但随着处理器的增多, 处理器之间的访问竞争和不断增加的延迟易造成总线带宽瓶颈, 从而限制了系统性能[6];后者采用分布式内存结构, 易于扩展, 但需设计专门的消息传递机制, 如广泛应用于并行计算 系统的MPI (message passing inter- face) [6,7]需专门设计数据通信层来处理数据传输, 编程模型复杂且占据较多的处理器软件资源[8,9]。文献[10-11]采用较新思路设计了共享内存模型, 避免了总线带宽瓶颈, 分别实现了3个、 4个处理器之间的高速数据传输, 但基于该思路的共享内存结构在处理器增多时会异常复杂。运动控制算法具备明显的周期性, 即在每个插补周期中具备一致的数据传输交互需求, 即使具备复杂的数据传输源、目的地址, 但数据传输关系仍具备明确的周期性。
本文提出了一种应用于多处理器并行计算运动控制系统的分布式储存机制方案, 为每个并行计算节点定义了本地存储区, 设计了基于自定义总线高效消息传递服务, 实现了分布式存储区之间共享数据的自动刷新, 在分布式物理内存上建立了统一编址的共享内存模型;数据刷新过程不占用处理器软件资源, 软件编程模型简单, 数据交互服务性能不受并行计算节点数量的影响。
1分布式存储结构与并行计算节点
分布式存储区结构如图1所示, 采用自定义内部总线 (internal bus, IB) 来构建数据传输网络, 各个DSP拥有其本地存储区, 各存储区之间通过数据传输网络进行共享数据交互。并行计算节点的处 理器采用TI公司的浮 点型DSP TMS320C6713。
考虑到针对不同运动轴的控制算法可能在不同的并行计算节点中实现, 而并行计算节点间的数据访问相互独立即存在并行计算节点同步访问共享数据 (如工作台的位置测量数据等) 的需求, 因此采用拷贝策略, 即允许针对同一共享数据的不同拷贝存储在各个本地存储区中, 则各处理器可同步访问其本地存储区, 而无共享总线冲突, 不会导致数据传输性能瓶颈问题。采用内部总线构建了本地存储区之间的数据传输网络, 来实现共享数据的拷贝。在各并行计算节点的地址映射中, 本地存储区的对应物理地址是独立的, 但为了实现分布式存储区间的数据拷贝, 在分布式存储空间中定义了统一的逻辑地址。如图1所示, 内部总线包含1个主控制器与若干个从控制器, 数据传输由主从控制器协同实现。
图2描述了基于DSP并行计算节点的结构。 DSP为处理核心, 其外部存储器访问接口 (exter-nal memory interface, EMIF) 与外部设备无缝连接。因此扩展的 数据存储 器 (包含SRAM与FLASH) 挂接在EMIF总线上, 可实现DSP对外部数据的高速访问。利用FPGA (field program- mable gate array) 的片内存储资源设计了双端口RAM (dual-port RAM, DPRAM) , 并将其作为每个并行节点的本地存储区。在FPGA内部设计了针对DPRAM的双端口访问时序, 一方面, DSP可通过EMIF总线访问DPRAM;另一方面, 内部总线控制器通过自定义的内部总线时序, 亦可同步访问DPRAM。设计了总线缓冲 (buffer) 来隔离高速数据访问 (SRAM访问) 与低速访问 (其他数据访问) , 改善了数据访问通道的物理特性, 使DSP能达到较高的数据访问带宽。
DPRAM允许内部总线与DSP对其同步访问, 但若两侧的访问针对同一个物理地址, 则将导致访问冲突, 发生存储错误。因此, 需考虑到当内部总线执行共享数据拷贝的同时, 一旦DSP执行外部数据访问, 将可能导致错误情况。在DSP侧, 可通过配置EMIF接口来应对访问冲突问题, 如维持数据访问控制信号直到访问冲突结束, 但在内部总线上难以设计相类似的机制。因此内部总线的数据访问应该具备更高的优先级, 即内部总线上的数据传输一旦启动, DSP对其本地存储区的访问应被禁止, 以避免产生本地存储区访问冲突。将本地存储区定义为共享资源, 并设计了针对DSP的中断信号 (作为访问共享资源的信号量, 来开启或禁止DSP对于本地存储区的访问) 。
2分布式存储机制的实现
2.1分布式存储空间分配
分布式存储空间分配的目的是统一各分布式内存的存储空间定义, 建立统一编址的共享内存模型。根据分布式内存的拷贝策略, 每个节点的本地存储区既含有需要被其他节点共享的数据, 也含有源自其他节点的共享数据拷贝, 分布式存储空间分配如图3所示。
存储空间的组织规则如下:①各并行计算拥有一个私有的存储空间, 且该空间基地址与DSP编号相关, 如2号DSP持有0x2000~0x2fff的存储空间;②各DSP能对其私有存储空间执行读或写操作, 但对其他空间仅能执行读操作。上述存储空间的总存储深度为64K×32bit, 其组织规则支持16个并行计算节点, 各节点持有4K×32bit存储空间。将多轴运动控制的插补周期作为一个并行计算周期, 在每个并行计算周期内, 各并行计算节点将需共享的数据写入其私有存储空间, 此时, 共享数据刷新尚未开始, 分布式存储区的状态如图4a所示。在内部总线上, 周期性执行的消息传递服务实现共享数据的刷新, 即将各节点的共享数据拷贝到所有节点的分布式存储区对应地址, 数据刷新之后的分布式存储区如图4b所示。
各节点的分布式存储区包含了所有的共享数据拷贝, 即忽略节点间的数据交互关系, 简化了软件编程模型。但带来以下问题:①冗余数据可能浪费部分传输能力;②必须严格确定消息传递服务的数据刷新与并行节点数据访问的时序关系, 否则会引起各分布式存储区间数据的不一致。
2.2基于内部总线的消息传递服务
内部总线为分布式存储区之间的数据传输提供实时、快速的媒介。内部总线信号定义如表1所示, 含16位的地址总线信号 (Addr) 、32位的数据总线信号 (Data) 、地址有效信号 (AEn) 、输出使能信号 (OEn) 。
内部总线采用了总线型的拓扑结构, 其数据传输规范如下:①内部总线上包含了主从控制器。 其中, 主控制器唯一 (对应DSP0) , 从控制器有多个, 各对应一个其他编号的DSP, 如图1所示。② 主节点提供地址总线信号、控制信号。在控制信号作用下, 主节点或从节点协同完成数据传输。 虽然内部总线上并无同步的时钟信号, 但所有控制信号基于同一内部时钟触发, 数据传输过程中无需涉及握手。③通过地址总线信号来寻址数据发送方。每个内部总线周期中, 如果地址总线信号的高4位所表征的二进制数值和节点DSP的编号相符, 则该节点被选中作为数据发送方, 其余节点作为数据接收方, 可见, 在每个内部总线周期, 有且仅有一个数据发送方。④数据发送方从存储区读取数据到总线, 数据接受方将总线上的数据存入其对应存储区。
根据数据传输规范, 内部总线被设计成非复用的同步广播方式总线。“非复用”意味着数据和地址信号同时出现在总线上。“同步”意味着总线信号基于统一的同步时钟驱动, 在数据发送者与数据接收者之间无通信握手。因此, 不可能出现总线数据传输的任何一方去影响 (延迟或者终止) 总线数据传输过程的情况。“广播”意味着在总线上一个设备提供数据而其他所有设备可同时存储数据。
图5描述了内部总线上的数据传输过程。在每个内部总线数据传输周期, 内部总线主控制器地址FIFO (first in first out) 将输出一个地址到地址总线信号上。由于在该地址中定义了数据传输的源、目的方, 故可通过设置内部总线主控制器中的地址FIFO, 来定义内 部总线的 数据传输 行为。
每个定义的地址对应一个内部总线周期。当内部总线地址FIFO中的地址逐一输出, 将构成一个数据传输序列 (它含有若干个内部总线周期, 在每个周期内执行32bit共享数据的广播发送) 。 通过上述消息传递服务, 在每个并行计算周期中, 各并行计算节点仅需将共享数据写入其私有存储区;此后, 数据传输序列启动, 且一旦地址FIFO中的地址被遍历, 则所有规划传输的数据已完成其传输, 分布式存储区对应存储地址空间已实现数据刷新, 所有并行计算节点皆获取所有共享数据拷贝。
由于内部总线采用广播方式, 故上述的数据传输服务并未因为冗余数据传输而耗费不必要的时间开销。分布式存储区及内部总线控制器皆基于FPGA实现, 因此, 分布式存储区之间的数据拷贝对于系统软件而言是透明的, 有效减少了DSP用于数据交互的软件开销, 传输时序一旦被规划便能始终如一地执行。根据上述的数据传输方式定义, 传输延迟仅取决于底层数据传输硬件的性能, 因此数据传输模型会更加精确。
2.3共享数据的传输规划
共享数据的刷新过程中, 若某DSP访问了其分布式存储区, 则可能会引发内部总线上的数据读写与DSP读写的冲突。此外, 需考虑共享数据的一致性, 即所有分布式存储区中的共享数据应被同步一致刷新。针对伺服控制运算的特点, 将每个伺服周期作为一个并行计算周期。共享数据传输规划策略如图6所示。
将信号量作为数据传输过程与DSP数据访问之间的标识, 即在每个伺服周期中的数据传输序列启动时, 产生同步 触发信号1 (用于中断DSP, 禁止其访问共享存储区) ;在数据传输序列结束时, 产生同步触发信号2 (表明所规划的共享数据已全部刷新, 开启DSP对共享存储区的访问) 。同步触发1和2交替出现, 使得在每个并行计算周期内, 各处理器的运算与数据访问皆遵循同一个时序基准, 确保了分布式存储区中的共享数据一致性。
3实验平台与验证
如图7所示, 内部总线数据传输实验平台包含有2块DSP处理器板、内部总线主控制器板、 Power PC处理器板。所有的板卡安装在自行设计的内部总线底板之上。每个DSP处理器板包含1个并行处理节点DSP及FPGA器件。调试PC机通过仿真器连接DSP, 以查询其存储区状态。DSP处理器板卡及内部总线主控制器板卡皆为自主设计。
实验过程如下:Power PC完成所有设备初始化后, 内部总线主控制器启动内部总线数据传输序列, 本文所描述的存储机制数据刷新开始进行。
图8所示为内部总线信号波形, 该波形采用SignalTapⅡ工具捕获。经测试, 实际的内部总线的误码率低于10-14。
通过示波器的数字通道测量内部总线信号, 可分析内部总线性能, 所采用的示波器型号为Agilent MSO7032A, 采样率为2GHz。图9所示为不同并行节点数和大小不同的数据包时, 内部
总线数据传输延迟。可见, 内部总线上能实现稳定320Mbit/s的数据传输带宽。内部总线的速度瓶颈在于总线信号的物理特性, 采用定制的总线底板可保证该特性, 进一步提高内部总线速度。 此外, 由于采用文中所讨论的数据广播传输方式, 当共享数据输出数据到总线上时, 多个节点可同步接收, 使得总线的数据传输性能不受并行节点数量增多的影响。
本文所讨论的分布式存储机制已得到实际应用。实际应用中, 并行计算周期设定为400μs, 内部总线速 率为320 Mbit/s, 共享数据 大小为200byte, 共享数据刷新时间大约占整个并行计算周期的2.5%。
4结论
(1) 基于自定义实时总线构建了高效数据传输网络, 能达到稳定320Mbit/s的数据传输带宽, 实现了分布式存储区间的数据交互通道。
(2) 设计了高性能的消息传递服务, 实现了分布式存储区共享数据刷新, 建立了基于分布式物理内存的共享内存模型。
(3) 分布式内 存及数据 传输控制 皆依赖FPGA硬件实现, 因此不占用处理器的软件资源, 编程模型简单, 与处理器类型无关。
(4) 本研究的不足在于仅针对具备明确周期性数据交互需求的应用, 即在每个并行计算周期中仅需进行静态源和目的地址的数据传输, 这是下一步研究需解决的问题。
参考文献
[1]杨亮亮, 周云飞, 潘海鸿, 等.步进扫描投影光刻机同步机制研究[J].中国机械工程, 2009, 20 (1) :20-23, 43.Yang Liangliang, Zhou Yunfei, Pan Haihong, et al.Research on Synchronous Mechanism of Step-scan Projection Lithography[J].China Mechanical Engineering, 2009, 20 (1) :20-23, 43.
[2]穆海华, 周云飞, 周艳红.洛仑兹电机运动控制耦合机理分析及动力学建模[J].中国电机工程学报, 2009, 29 (15) :95-100.Mu Haihua, Zhou Yunfei, Zhou Yanhong.Coupling Mechanism Analysis and Dynamic Modeling for Lorentz Motor Motion Control[J].Proceedings of the CSEE, 2009, 29 (15) :95-100.
[3]程鑫, 周云飞.针对多轴精密同步运动控制的并行计算架构设计[J].中国机械工程, 2011, 22 (18) :2156-2162.Cheng Xin, Zhou Yunfei.Design of Parallel Computing Architecture for Multi-axis Ultra-precise Synchronous Motion Control[J].China Mechanical Engineering, 2011, 22 (18) :2156-2162.
[4]Kohout J, George A D.A High-performance Communication Service for Parallel Computing on Distributed DSP Systems[J].Parallel Computing, 2003, 29:851-878.
[5]Milenkovic A, Milutinovic V.A Performance Evaluation of Cache Injection in Bus-based Shared Memory Multiprocessors[J].Microprocessors and Microsystems, 2002, 26 (2) :51-61.
[6]Bruck J, Dolev D, Ho C T, et al.Efficient Message Passing Interface (MPI) for Parallel Computing on Clusters of Workstations[J].Journal of Parallel and Distributed Computing, 1997, 40 (1) :19-34.
[7]Lauria M, Chien A.MPI-FM:High Performance MPI on Workstation Clusters[J].Journal of Parallel and Distributed Computing, 1997, 40 (1) :4-18.
[8]Hurwitz J, Feng Wuchun.Analyzing MPI Performance Over 10-Gigabit Ethernet[J].Journal of Parallel and Distributed Computing, 2005, 65 (10) :1253-1260.
[9]Karwande A, Yuan Xin, Lowenthal D K.An MPI Prototype for Compiled Communication on Ethernet Switched Clusters[J].Journal of Parallel and Distributed Computing, 2005, 65 (10) :1123-1133.
[10]Yan Luxin, Zhang Tianxu, Zhong Sheng.A DSP/FPGA-based Parallel Architecture for Real-time Image Processing[C]//Proc.of 6th World Congress on Control and Automation.Dalian, China, 2006:10 022-10 025.
多处理器系统 篇10
广东电力广域ATM网络采用北电ATM技术组网, 整个广域网分为核心层、骨干汇接层和边缘交换层。核心层和骨干汇接层均采用北电PASSPORT-15000交换机和PASSPORT-7480交换机, 其余的地区局及各电厂、各变电站作为边缘交换层, 采用北电PASSPORT74系列ATM交换机。目前配置的网络管理系统是网元级的ATM网管系统——Nortel MDM, 利用该网管系统对全网设备进行管理和维护工作。为了提高现有网络管理和维护的水平, 解决现有ATM网管系统的不足, 研究开发了ATM网络IP VPN网管系统, 加强了对ATM网络和IP业务的运行参数的分析, 实现了对现有ATM网络和IP VPN业务端到端的管理。如何正确采集和处理网络管理系统需要的相关数据是实现ATM网络IP VPN网管系统的关键。本文重点研究和探讨多业务ATM网络的数据采集和处理过程的实现。
2 系统设计
2.1 网络管理架构
针对现有的网络环境, 结合电信网络管理 (TNM) 和SNMP网络管理的结构, 采用如下网络管理架构, 如图1所示。
说明:
(1) FMIP为北电网管系统MDM对ATM设备进行管理所采用的专有协议;
(2) EMS-NMS为本系统自定义的接口, 主要通过socket方式调用MDM网管系统的API接口。
(3) SNMP方式为在ATM设备配置了agent的情况下, 多业务ATM网管系统 (简称NMS, 下同) 对ATM设备的直接的SNMP管理访问。
2.2 EMS-NMS接口设计
2.2.1 EMS-NMS连接设计
在物理连接上, 多业务ATM网管服务器与MDM网管工作站的在同一个子网, 通过以太网连接, 如图2所示。
多业务ATM网管 (简称NMS) 分别与网元管理系统MDM1、MDM2连接。MDM2作为备份服务器存在, 在MDM1失效的情况下, NMS和MDM2连接通信。NMS和MDM1/MDM2之间以心跳线连接。目前的设计是NMS发送周期性的探测信息给MDM1/MDM2, 正确返回信息表明MDM1/MDM2正常运行。可以选择确定重新连接的时间间隔和次数, 在主服务器正常的情况下, 切换到主服务器。
NMS到MDM1/MDM2的接口信息流程设计:NMS的相关的操作指令其目标是主服务器MDM1 (在主服务器失效的情况下, 发送给MDM2) 。由MDM1对相关的指令根据不同情况进行相应处理。处理方式主要有如下两种:
(1) Alarm log信息通过查询MDM1的log数据库实现
(2) 其他信息由MDM1/MDM2发送命令给ATM设备获得相关信息, 并反馈给NMS。
2.2.2 EMS-NMS接口功能要求
根据多业务ATM网管 (NMS) 开发的实际要求, 参考ISO-7498-4文件定义, 对EMS-NMS接口功能要求按照配置管理、故障管理、性能管理和测试管理进行分类定义。
(1) 在配置管理方面, 主要功能要求如下:
(1) 采集ATM设备网元信息, 包括 (Nodename、NamesID、RID、MID等)
(2) 采集ATM设备网元的资产数据 (物理资产和逻辑资产数据) 。物理资产包括所有卡板的软、硬件版本, 端口和端口状态;逻辑资产包括ATM VCC连接信息, IP连接信息和trunk信息)
(3) 采集拓扑信息数据 (包括物理拓扑和逻辑拓扑)
(2) 在故障管理方面, 主要功能要求如下:
(1) 由MDM1/MDM2转发网元告警信息给NMS
(2) MDM1/MDM2发送自身产生的告警信息 (包括与网元的连接中断、自身网管软件内部处理错误)
(3) NMS可以设置告警过滤板对网元告警进行过滤
(4) NMS本身故障, 或与MDM1/MDM2连接中断的情况下, 在系统正常后可以同步告警信息
(5) 进行告警的相关性分析
(3) 在性能管理方面, 主要接口功能要求如下:
(1) 实时采集设备运行数据, 包括CPU、内存、总线利用率。
(2) 实时采集ATM (接口利用率, 收/发信元数、信元丢弃)
(3) 实时采集IP的运行数据 (收/发数据, 数据包丢弃等)
(4) 设置性能阈值
(4) 在测试管理方面, 主要功能要求如下:
(1) ATM VCC连通性测试
(2) 点对点/点对多点IP连通性测试
(3) 基于业务的单个VPN内部ATM VCC连通性测试
(4) 基于业务的单个VPN内部, 对指定目的IP地址进行全网连通性测试
2.3 API调用接口设计
对于2.2.2接口功能的具体实现, 下面是系统API调用实现的用例设计, 如图3所示, 分别通过socket的方式访问4000, 4001, 4002端口, 采集对应的数据。
用例清单如表1所示。
3 数据采集和处理
从2.2.2 EMS-NMS接口功能要求的论述, 基本上确定了要求动态采集的数据是告警信息和性能流量数据两类。根据采集的特点, 我们对这两类数据采取了不同的方式。
对于告警类的数据采集, 主要是要保证采集的告警信息的完整性。N M S网管服务器通过socket方式连接到M D M 1/M D M 2, 侦听对应的socket端口, 被动接收告警信息。为了保证完整接收MDM1/MDM2的告警信息, 定期主动收集网络设备的当前运行状态与当前active告警做比较, 以保证研究开发的多业务ATM网管系统 (NMS) 故障信息的完整和正确。如果出现N M S和MDM1/MDM2的连接问题, 在系统启动时, 通过调用MDM1/MDM2的log记录信息来同步告警信息库。
对于性能流量数据采集, 采用传统的轮询 (polling) 方式来设计, 通过MDM1/MDM2以固定周期逐一询问每一台ATM设备, 再依照回传的结果得到被管理对象的值。考虑到目前采集数据是以集中化的方式, 通过MDM1/MDM2网管系统动态采集数据, 必须要对数据采集的方式和对象做合理的选择, 否则必然会增加网络的整体流量。在轮询 (polling) 方式的机制处理上, 重点考虑和确定不同数据采集对象的轮询周期、逾期时间、重传次数, 以保证网管系统正确有效收集数据。在管理对象选择上, 根据维护实际要求, 主要采集流量数据 (如ATM接口、IP接口流量) 和系统数据 (如CPU利用率、内存利用率) 。部分数据直接从设备采用SNMP的方式采集, 一定程度减少MDM1MDM2的负荷。
4 系统应用
目前, 多业务ATM网络数据采集和处理系统已经应用到广东电力通信的ATM网络IP VPN网管系统当中, 系统运行稳定、可靠, 其采集的配置数据、故障管理数据、性能管理数据和测试管理数据基本满足了ATM网络IP VPN网管系统的实际要求。
在拓扑管理上, 能够on-demand的方式发现IP VPN逻辑拓扑, 将IP VPN的拓扑图和物理拓扑图在视图上展现, 并且相关的故障信息实时在拓扑图当中表示。
在性能流量采集上, 可以以多任务的方式实现同时采集多个性能指标。
测试数据的采集能实现全网ATM/IP的测试采集。
另外在系统实现上, 也为进一步的与智能分析/知识管理系统结合在一起, 通过系统自学习的方式, 得到网络正常时所表现的特性, 实现全方位、主动的、面向IP VPN业务的性能预警监测系统提供了很好的保证。
5 结束语
本文研究的多业务ATM网络数据采集和处理系统, 主要是针对ATM网络环境下实现对ATM和承载在ATM之上的多个IP VPN的业务系统进行网络管理而开发的。它不同于我们常见的以太网网络环境的IP管理, 可以通过采用成熟的SNMP、RMON等网络管理软件来实现。另外即使对于ATM的网络管理, IETF标准RFC1695、RFC2515和ATM论坛的有关建议草案RMON MIB扩展都对ATM管理做了一定的探讨, 但基本上设备厂家对这些协议都不支持。本系统通过借鉴TNM的模型结构, 提出了网络管理体系结构, 并根据网络管理的实际需求, 自定义功能接口需求, 实现对数据的采集和处理, 技术上有一定的先进性, 对今后研究开发不同设备管理系统的数据采集和处理方式有实际的参考意义。
摘要:研究的是多业务ATM网络管理系统的主要组成部分——网络数据采集和处理系统。针对多业务ATM网络的特点和实现端到端的ATM/IP业务监控管理要求, 提出了与网元管理系统对接的网络管理架构和接口功能设计, 并针对不同的采集数据类型, 提出了数据采集处理的方法。在此基础上, 研究设备网元管理系统接口, 利用J2EE技术实现了数据采集和处理系统, 提供准确数据给网络管理系统。
关键词:网络管理,网元管理系统,ATM,数据采集
参考文献
[1]雷振甲.计算机网络管理及系统开发.北京:电子工业出版社, 2002
[2]ATM Forum, "ATM Performance Management Bulk, Data File Structure, "ATMF Specification af-nm-0194.000, April, 2003
[3]ATM Forum, "M4Interface Requirements and Logical MIB:ATM Network View Version2, "ATMF Specification af-nm-0058.001, May, 1999
[4]ATM Forum, "Requirements and Logical MIB for Management of Path and Connection Trace, ”ATMF Specification, af-nm-0153.000, April, 2001
[5]IETF, RFC2515Definitions of Managed Objectsfor ATM Management, February, 1999
轻松安装多系统 篇11
这里,以一台刚刚分区的裸机安装Windows 98/XP双系统为例进行介绍:
一、安装Windows 98
为避免复杂起见,一般都是首先安装Windows 98,然后再安装Windows XP,这样可以自动生成双引导菜单。
1.更改系统引导顺序
进入BIOS设置程序,在“Boot Device Priority”下将第一引导设备设置为“CDROM”项,这样就能够利用Windows 98安装光盘引导系统,当然你也可以使用Windows 98/Me系统盘启动进入DOS方式,在命令提示符执行setup.exe手工启动安装程序。
2.启动安装程序
用Windows 98安装光盘引导系统,按照下面的步骤进行操作:
①Boot from CD-ROM:从光驱引导系统。上面的“Boot from Hard Disk”是指从硬盘引导系统。
②Start Windows 98 Setup from CD-ROM:从光盘启动Windows 98安装程序。其实,即使在这里不作任何选择,也会在30秒后自动启动安装程序,不过想来你没有必要等待这长长的30秒吧?
③显示欢迎画面,这里会要求你决定下一步的操作,当然是按下ENTER继续啦。
④检测系统,仍然是按下ENTER键,如果按下ESC键则会退出安装程序。
3.图形化的安装过程
上述工作完成后,现在我们终于见到久违了的图形化安装界面,接下来还需要完成哪些操作呢?
①很明显,这里当然是点击“继续”按钮,然后就可以开始正式安装Windows 98。
②选择安装目录,缺省路径是C:WINDOWS,如果没有特殊需要的话,那当然不用更改。
③检查已安装的组件和可用的磁盘空间,一般不会有什么问题。
④选择安装方式,这里有典型、便携式、袖珍、自定义等四种,建议大家还是选择“典型”比较好,因为这样就不需要多动脑筋了。
⑤至此为止,安装程序向导已经收集好足够的信息,接下来将开始复制Windows 98文件,这一过程所需要的时间将视系统配置而定,不过至少也需要15分钟左右,现在终于可以坐下来喝一杯咖啡了。
4.设置和配置
①输入用户信息,由于这里无法省略,因此只得随便起了一个名称和单位,反正安装结束后可以从注册表中进行更改,因此这里可以随便输入一个了事。
②输入产品密钥,也就是我们平常所说的安装序列号啦,如果错误的话,就无法进入下一步啦。
③设置硬件和即插即用设备
④安装Widnows组件,例如时区、控制面板、“开始”菜单中的程序、Windows帮助、MS-DOS程序设置、调整应用程序启动、系统配置等内容,这一过程不需要多少时间,很快便可结束。
5.登录系统
呵呵,终于可以正式登录系统了,,到这里为止,Windows 98的安装终于告一段落。
二、安装Windows XP
由于我们是在Windows 98的基础上安装Windows XP,因此这不再需要利用光盘引导系统,可以直接在Windows 98的窗口模式下启动安装向导,只要将Windows XP安装光盘插入光驱,安装向导会自动启动。
1.手工启动安装向导
如果由于某些特殊原因,安装向导未自动运行的话,可以进入“我的电脑”中找到“Setup.exe”文件手工运行即可。
2.选择安装任务
安装界面中共提供了三种选项:
①安装Microsoft Windows XP:选择即可启动开始安装系统。
②执行其他任务:在这里可以设置远程桌面连接、设置一个家庭或小型办公网络、转移文件或设置、浏览CD、查看发行说明等工作,可以暂时不用考虑这些内容。
③检查系统兼容性:对原系统与Windows XP的兼容性进行检查,一般情况下这一步可以忽略。
3.选择安装类型
①由于必须安装Windows 98/XP双系统,因此这里必须选择“全新安装(高级)”,而不能选择“升级(推荐)”,否则原来的Windows 98就会荡然无存了。
②选择“全新安装”方式后,记住点击“高级选项”按钮。
③请一定要复选“我想在安装过程中选择安装驱动器和磁盘分区(W)”项,否则Windows XP会缺省安装在C盘的Windows文件夹下,更厉害的是安装程序会毫无警告的先对C盘进行格式化,然后才会进行文件的拷贝和安装,这样一来,损失可就大啦!
4.选择安装分区
接下来,当然是接受许可协议、输入产品密钥等老一套,如果你愿意的话,也可以利用动态更新功能从Microsoft Windows Update网站获得最新的安装程序文件,这样安装结束后所有驱动程序版本就都是最新的了,而且所有正式发布的补丁包也会自动安装。不过,根据我的体会,还是暂时先跳过这一步骤,待安装结束后再进行更新吧。
①在这里,可以选择Windows XP的安装分区,或者按下C键创建一个新的磁盘分区,甚至还可以在这里删除所选磁盘分区呢。
②对Windows XP来说,当然是使用NTFS格式效率更高,而且也可以获得更好的安全性和保密性。不过,考虑到与Windows 98的兼容性,这里还是老老实实选择了FAT32格式。
5.复制文件并安装组件
在文件复制结束后,安装程序将接连两次重新启动系统,然后才会正式开始安装Windows XP。
①安装设备时,可以看到一个进度条,这令我们倍感亲切,这样心中就有数了,否则等待的时间太漫长太无聊了。
②这里是设置管理员密码,可一定要记住呀。
③可以选择使用典型设置或自定义设置,一般是选择前者,这样可以省去不少麻烦。
6.注册Windows XP
第一次启动Windows XP时,系统会要求进行必要的设置,如果你不想马上与Microsoft联机注册的话,可以选择“否,现在不注册”选项。
7.激活Windows XP
多处理器系统 篇12
在计算机科学领域, 针对超级计算机的研究与开发正处于高速发展中, 把超级计算机应用到高速实时信号处理的领域中, 用超级计算机系统结构来构造具有通用性的高速实时信号处理系统, 并实现阵列信号处理算法, 是近年来高速实时信号处理领域一个重要的发展方向。
下面综述一种通用高速实时信号处理系统———DSM (Data flow Shared memory and Multiple bus interconnection) 。其目标是开发出一种适合于高速实时信号处理的、具有超级计算机结构的通用计算平台, 构造出一个通用的, 具有并行性、可编程性和可扩展性的信号处理计算机系统。
1 DSM系统
DSM系统的整体结构如图1所示。系统分为硬件平台和软件平台两部分。前者采用共享内存和多总线互连的结构, 由多总线和挂接在多总线上的各类结点组成。后者由专用的DSM并行高级语言、DSM并行编译器、以及DSM多处理机操作系统组成。两者的设计都充分考虑了系统的并行性、可编程性、可扩展性、可重构性的特点。
系统的实际工作流程与计算机类似。用户首先根据待处理的任务确定算法, 而后使用DSM高级语言编写源程序;源程序通过专门为DSM所开发的并行编译器进行编译, 生成可执行目标代码;操作系统将目标代码加载到硬件平台上进行计算和处理工作。
主控结点通过运行在其上的操作系统分配和调度整个系统的资源, 并将目标代码中的具体计算任务加载到处理结点上完成。处理结点负责接收主控结点下发而来的指令包并完成相应的计算。各处理结点之间通过共享存储结点完成数据交换和通信。整个系统通过I/O (Input/Output, 输入/输出) 结点与外界交换数据。而仲裁结点主要负责多条传输总线的调度与分配。
综上所述, 处理结点必须具备能够快速高效地完成多种阵列信号处理基本运算的能力。这就要求处理结点具有:强大的数据处理能力、较高的数据吞吐能力、实现多种算法的能力。
2 并行处理结构
目前一般的并行处理结构主要分为流水线计算机、阵列计算机、多处理机等3种:流水线计算机的基本思想是将复杂的运算分解为若干个子运算, 运算对象顺序流经每个子运算器, 从而完成最终的复杂运算。由于各个子运算器可以同时工作, 所以运算速度大大提高了, 非常适合于重复地执行同一操作, 但是其通用性不强;阵列计算机是由许多相同处理单元所组成的同步并行计算机。处理单元和存储器通过网络以某种特定的方式互连, 根据控制器发出的命令, 各个处理单元对不同的数据集并行地完成同一条指令。比较适合向量, 相对而言编程比较简单;多处理机由多个控制器分别操纵多个处理器, 各个处理器以它们各自的指令流处理各自的数据流。因此多处理机系统可以更全面地利用各种级别的并行性, 包括数据并行性和控制并行性。但是对算法和系统软件的设计要求较高。典型的多处理机系统的结构, 如图2所示。
考虑到高速实时信号处理的特殊性以及基本运算的多样性, 同时为了维持DSM系统运行的高效率, 处理结点的运算性能应达到上百MFLOPS (Million Floating point Operations per Second, 每秒百万次浮点操作) 、甚至接近GFLOPS (Billions o Floating Point Operations per Second, 每秒十亿次浮点运算) 的量级。因此选用可编程的多片DSP (Digital Signal Processing) 并行处理的方案不失为一种合理的选择。
处理结点的硬件框架以上述多DSP并行计算结构为核心, 并在ADSP-2106x的总线上外加了与系统指令总线和传输总线的接口, 如图3所示。为了适应计算任务的多样性并开发相邻指令间的并行性, 处理结点采用主、从式拓扑结构, 把一片ADSP-2106x用作任务管理器, 另外4片ADSP-2106x作为运算器。
在DSP的分工上, 任务管理器主要负责分配运算任务, 管理数据的输入输出, 并合理调度各个运算器协同完成算法;而运算器则负责具体的计算工作。各个运算器之间可以采取SPMD (Single Program-stream&Multiple Data-stream, 单程序多数据流) 的工作方式, 也可以采取MPMD (Multiple Programstream&Multiple Data-stream, 多程序多数据流) 的工作方式进行并行计算, 主要取决于具体应用与具体算法。
指令总线接口和传输总线接口的设计是遵照“并行机总线协议”进行的。通过指令总线接口, 处理结点可以接收到主控结点下发的指令包;通过传输总线接口, 各片DSP能与挂接在多条传输总线上的共享存储结点交换数据。
处理结点软件方案。处理结点软件的任务是:与硬件配合, 按序执行由主控结点发来的各条运算指令。一般而言, 每条指令的执行过程包括如下几步: (1) 取指令, 分析指令码及操作数信息; (2) 从某存储结点中取出源操作数 (通过传输总线) ; (3) 进行运算; (4) 将结果操作数送回某存储结点 (通过传输总线) 。
处理结点上的多片DSP在逻辑上构成了主从式拓扑结构。在以顺序方式执行指令的情况下, 基本的软件流程如图4所示。
为了提高处理结点的执行效率, 可以利用主从式拓扑结构实现指令间的流水处理。在软件编程时, 为了增强算法实现的可扩展性和可维护性, 减小软件开发维护时的工作量, 遵循层次化、模块化的设计思想。整个软件被划分为两层:底层驱动软件和上层应用软件。
底层驱动软件负责实现对系统资源的调用。其中包括:硬件资源分配、硬件资源调用、软件资源分配、软件资源调用、多DSP间通信等具有通用性的功能。上层应用软件则负责具体实现处理结点的功能。它又被进一步划分为系统管理软件和运算子程序库两部分。系统管理软件主要负责实现那些对于各种运算指令都相同的操作, 比如:维持处理结点正常运转、与共享存储结点进行通信等。运算子程序库负责具体的计算工作。
3 结束语
整个软件按照上述层次化、模块化的方式进行划分后, 就可以使底层驱动软件与上层应用软件的开发调试相互独立;与此同时, 又能使系统管理软件的开发调试与各种算法的具体实现相互独立。这样不仅能够简化和加速系统研制阶段的工作, 更为重要的是当硬件或其它系统资源发生变化时, 只需修改底层驱动软件, 上层应用软件不需进行改动。即使在今后增加新的运算指令、新的算法流程、或改进旧有的算法时, 只需修改个别的运算子程序, 比较容易实现。
摘要:随着阵列信号处理技术的迅速发展和快速算法的不断出现, 对信号处理系统适应新技术和新算法的能力提出了更高的要求, 其中并行处理是目前提高系统处理能力较为常见的办法。介绍了并行处理结构的特点, 并具体说明了多DSP并行计算结构在高速实时信号处理系统中的应用。
关键词:DSP,并行处理,结点
参考文献
[1]汤俊.新一代高速、实时雷达信号处理系统的研究[M].北京:清华大学出版社, 2000.
[2]王威.高速实时信号处理系统的设计与实现[M].北京:清华大学出版社, 1999.
[3]H.Krim, M.Viberg.Two decades of array signal processing research, IEEE signal processing magzzine, July1996.