高性能架构(通用7篇)
高性能架构 篇1
摘要:本文以福建省超级计算中心为例, 探讨了搭建基于IBA架构的高性能集群计算工程的简易模式, 包括IBA架构、计算节点设计、操作系统设计等相关技术。
关键词:IBA,架构,集群
1、引言
随着计算技术和计算机技术的不断发展, 高性能计算目前已经成为解决复杂科学与工程问题十分有效的重要手段, 本文以福建省超级计算中心工程设计 (在高性能IBA架构上集群290个4路Intel Xeon E5440, 计算峰值13.58Tflops) 为例, 给出基于IBA架构的集群系统的设计和构建模式。
2、IBA架构 (InfiniBand Architecture)
2.1 IBA
InfiniBand是目前最适合高性能集群发展需求的互连架构, 采用RDMA和旁路核心技术, 具有高带宽、低延时的特点。IBA将计算网络和存储网络统一在一个系统域网之内, 支持最高达120Gb/s的单向传输带宽, 单端口的带宽甚至远高于目前的主流交换机的总带宽, IBA定义互联处理结点和I/O结点, 处理结点和I/O结点通过通道适配器连接到整个系统中。有两种类型的通道适配器:主机通道适配器和目标通道适配器, 主机通道适配器用于处理器结点如刀片服务器, 目标通道适配器用于I/O结点比如存储控制器, 每个通道适配器都不止一个端口, 可以连接多个交换机端口。
2.2 万兆以太网 (10GE)
万兆以太网 (10GE) 能够与10M/100M或千兆位以太网无缝地集成在一起, 使用IEEE 802.3以太网介质接入控制 (MAC) 协议、IEEE 802.3以太网帧格式和IEEE 802.3帧格式, 支持所有标准的第二层功能:802.1p、802.1Q、Ether Channel和生成树, 采用全双工, 没有固有的距离限制, 能够支持所有网络的上层服务, 包括在OSI七层模型的第二/三层或更高层次上运行的智能网络服务, 具有高可用性、多协议标记交换 (MPLS) 、服务器负载均衡 (SLB) 等特点。缺点是延迟大、服务质量控制不够好, 稳定性较差。
2.3 架构设计
在架构的选择上, 建议采用以IBA架构为主, 万兆网 (10GE) 架构为辅的互备方式, IBA用于计算数据传递, 10GE用于信令传递并作IBA备份, 充分结合InfiniBand网络和万兆以太网的优势, 确保节点稳定高效。
3、计算节点设计
3.1 集群节点
集群指采用并行计算将一个应用程序分割成多块可以并行执行的部分并指定到多个处理器上执行, 然后将结果重新组合, 返回给客户端, 就象由单一系统完成整个工作一样。典型的集群包括计算节点和I/O节点, 节点间通过高速内联机制组成一个安全的私有网络系统, 计算节点无须访问集群外部的机器, 集群外部也无须直接访问内部的计算节点。当某节点发生故障时, 节点上运行的应用程序将在另一节点服务器上被自动接管, 若应用程序发生故障时, 应用程序将被重新启动或被另一节点接管。
3.2胖节点与瘦节点
胖节点采用小型机或者大型机, 单台运算能力很强, 大多采用16颗以上的处理器, 操作系统专用。胖节点内部采用高速的CPU间直连技术, 而且专用的操作系统内部已实现并行技术, 因此胖节点的计算效率比较高, 但系统造价和升级昂贵、维护困难、能耗较大。
瘦节点采用标准商业微机, 造价相对低廉, 扩容简单;缺点是由于外部连接速度目前还无法和系统内部连接速度相比, 因此系统效率较胖节点方式低, 节点数量多, 管理难度增大。随着调优和互联技术的提高, 采用集群技术的计算节点效率越来越接近胖节点方式。
3.3计算节点设计
在计算节点的选择上, 建议兼顾了胖节点和瘦节点的特点, 配置组合胖瘦节点, 部分重要主节点采用胖节点方式, 通过IBA架构集群互联, 以更好的适应不同类型的计算需求。根据最近发布的一期TOP500排行榜, 超过80%的上榜系统都是瘦节点 (集群) 的, 在TOP500的前100名计算系统中, 瘦节点 (集群) 占据51%的份额, 大量信息并行处理机 (MPP) , 采用胖节点机方式, 占据47%的份额。瘦节点 (集群) 成为高性能计算节点的选择趋势。
4、操作系统设计
4.1 操作系统
操作系统以Windows平台、UNIX平台和开源的Linux平台三大类为主, Windows平台的普及性较好, 开发环境较友好, 但高性能运算基础较薄弱, 优化技术由于没有开放而比较困难, UNIX平台大多和专用硬件捆绑, 开放程度也较 (下转第116页) 差, Linux系统由于不仅具有UNIX平台的高效, 同时免费、开放的优点使大量的系统都在其上有深入的发展和研究。
4.2操作系统设计
在全球高性能计算TOP500的列表中可以明显感觉到Linux系统逐渐占据了主导地位, 2000年, TOP500中采用UNIX占65%, 而到2006年, TOP500中采用Linux却占到74%, 2007年TOP500中, 381台超级计算机采用Linux, 约占76.2%, 采用Linux操作系统作为高性能计算的平台的节点比例大幅增加, Linux操作系统是高性能计算的主流操作系统。建议采用Linux操作系统 (CentOS版) 为主, 兼顾部分应用采用的Windows平台。
5、结束语
本文提出以IBA架构为核心, 结合瘦胖节点和Linux系统的集群设计和构建方法, 满足了高性能、高性价比、稳定开放等用户需求, 有助于探索基于IBA架构的高性能集群计算环境工程建设的简易模式。
参考文献
[1]linux HPC Cluster Installations, IBM Redbooks, http://www.redbooks.ibm.com/.
[2]Cluster Computing White Paper, Mark Baker, University ofPortsmouth, UK.
[3]Alex Vrenios.Linux集群体系结构.北京:机械工业出版社, 2003
高性能架构 篇2
现在各高校普遍面临的一个问题就是毕业生就业难。大量的毕业生找不到工作和用工荒形成了鲜明的对比。
随着十二五规划的进行,振兴东北工业基地的政策的落实,东北工业面临着巨大的用工缺口。再加上国家对职业技术类学校的大力支持,职业类学校的毕业生就业前景非常广阔。但是近几年以来,一方面国家的支持和时代的机遇,另一方面毕业生和用人单位无法全面系统的互相进行了解和选择,职业学校还是面临着毕业生就业困难的尴尬境地。往往是学生签订工作之后,工作几个月就跳槽或者转行,这对于用人单位和就业学生甚至学校对学生的教育都是一种损失。如何针对这种现象,立足本学校实际情况,为就业生和来招聘的企业建立一个高质量,针对性强的就业信息管理系统,就成为当前我们学校面临的所有课题当中的重中之重。
在这样的背景之下,我院各系提出“展示本我特色,加强对外交流,配合就业处工作,自主招聘推荐”的口号,决定配合就业处整体工作,开发出适合自己系别的毕业生就业信息管理系统。本文所实现的是以Java技术代表的web应用系统技术对于传统就业管理方式的改进,提高了班主任、就业指导辅导员与同学的沟通,增强了毕业生与企业的互相了解和选择,提高了选择就业的效率。
与传统的高校培养理论研究型人才不同,职业技术类学校更重视的是同学的技能学习,理论教学和技能教学同步进行,达到与企业同步,与市场同步,与时代同步的三同步效果,学生就业的时候能够通过各种技能证书在企业单位面前更加全面的展示自我,得到高端企业单位的认可。
就业信息化管理的实现是一个业务层面上的突破与创新,是在总结了以往的就业管理经验出现的种种问题后,得出的一个业务过程监控和管理模式。如何对学生就业环节进行更加有效的过程监控?如果在系统中实现?也是学生就业工作本身要求的核心所在。
现在大专院校的毕业生的就业率和就业质量已经受到了社会各界的广泛关注,本文研究的结合本校的就业信息管理系统具有以下四点意义:
第一、建设完善的就业信息管理系统,实现学生就业网络化,从而减轻就业处,就业教师及班主任的压力,提高就业管理的办公效率。
第二、把以前经常采用的传统方式,如贴通知、电话联系方式、无规律面试改为利用就业管理系统来实现数据共享,将就业管理实现网络自动化。
第三、因为管理系统是双向性的,学生可以去了解企业单位,企业单位也可以通过系统去选择和了解毕业生,加大了签约的成功率,避免的毕业生刚毕业之后频繁跳槽的尴尬境地。
第四、首先对企业单位的认定,正规单位通过就业处的认定,再通过辅导员和老师对毕业生的指定就业指导,实现在线交流,线下指导的方式,实现就业信息化、网络管理化,提供了毕业生的就业率。
二、系统总体设计流程与测试步骤与方法
完成系统设计工作之后,我们一般是需要进行系统的性能测试。使用人工或者自动的方式来运行或者测定某个软件系统的过程,目前在与检验他是否满足规定的需求或是弄清预期结果与实际结果之间的区别。
系统采用黑盒测试的方法,按照单元测试、集成测试、确认测试、系统测试四个步骤实施。
(1) 单元测试
本系统在单元测试阶段主要完成了一下工作:
①保证模块中的所有独立路径,包括每个语句、每个分支至少被使用一次;②对所有逻辑值均按照True和False进行了了测试;③在上下边界及可操作范围内运行所有循环;④检查内部数据结构以确保其有效性。
经过以上的测试,结果发现了个别模块的形参和实参个数不相同、属性不匹配、个别变量名拼写错误、个别运算符的优先级别理解不正确等错误,并及时地进行了改正。
一组元测试用例见表2.1。
(2)集成测试
本系统在集成测试中主要采用了黑盒测试方法,重点测试模块相互之间的接口和数据通信问题。这一阶段主要测试了个人求职管理、单位招聘管理模块间数据传输与接收是否有误,经测试传输与接收正确无误。
(3) 确认测试
确认测试又称合格性测试,主要是检验系统是否能够按照用户的要求运行,经检验,系统的功能、性能及其它方面要求均满足用户需求。
(4) 系统测试
对项目交易管理系统登录画面和首页进行系统测试。根据表5.2和表5.3提供的登录测试用例,按照测试过程,使功能达到预期效果,保证模块质量。
根据表登录测试用例中提供的测试数据和测试过程,对登录画面进行测试,使其功能达到预期效果,保证模块功能的正常使用。
根据表2.2首页测试用例中提供的测试数据和测试过程,对首页画面进行测试,使其开始的画面显示功能达到预期效果,保证模块功能的正常使用。
三、总结
高性能架构 篇3
1.1 高性能的操作系统Linux
Linux是一个符合POSIX(Portable Operating System Interface of Unix,可移植操作系统接口)标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。同时还包括带有多个窗口管理器的X-Windows图形用户界面,允许用户象使用Windows一样使用窗口、图标和菜单对系统进行操作。
1.2 高性能的网页服务器Apache
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上应用最广泛的Web服务器。其优点是源代码开放、有一支开放的开发队伍、支持跨平台的应用以及可移植性等。
1.3 高性能的数据库My SQL
My SQL是一个关系型数据库管理系统,虽然My SQL规模小、功能有限。但是My SQL体积小、速度快、开放源代码、可移植性强、支持多种操作系统、为多种编程语言提供API、支持多线程、具有优化的SQL查询算法。既能单独应用也能嵌入到其他的软件中,对于一般的个人用户和中小型企业来说,My SQL提供的功能完全能够满足应用需求。
1.4 高效率的编程语言PHP
PHP(Hypertext Preprocessor,超级文本预处理语言)是一种在服务器端执行的脚本语言,可以嵌入到HTML文档中。PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
2 LAMP平台架构
LAMP平台是关注于Web应用程序的,因此LAMP架构十分简单如图1所示。
所有的HTTP连接请求将被Linux操作系统转发给A-pache处理,其中静态内容的请求将直接被Apache服务器处理,而相关的动态页面请求将被Apache服务器交由相应的动态语言模块处理,比如PHP、Perl或者Python。如果动态页面中涉及到数据库查询,相应的数据查询会被转交给My SQL数据库服务器。
3 LAMP的发展与演化
随着LAMP的不断发展和流行,结合不同的操作系统、Web应用服务器、数据库服务器及开发语言,AMP(Apache、My SQL、PHP/Perl/Python)演化出越来越多的组合,例如:
XAMPP(XAMPP是一个易于安装且包含My SQL、PHP和Perl的Apache发行版)。
WAMP(以 Microsoft Windows 替代 Linux)。
BAMP(以 BSD 替代 Linux)。
WIMP(指以Microsoft Windows替代Linux,用Microsoft IIS替代Apache)。
LAMJ(以 JSP/servlet 作为开发语言)。
LAPP(以 Postgre SQL 替代 My SQL)。
4 Web服务器搭建
4.1 Linux主机配置
(1)使用vi/etc/sysconfig/network-scripts/ifcfg-eth0命令进行网卡的配置。
(2)使用/etc/init.d/network restart或service network restart命令重启网卡。
(3)使用vi/etc/sysconfig/iptables命令对iptables进行配置,以对相应网段开放相应的端口。
(4)使用service iptables restart命令重启iptables。
(5)使用vi/etc/hosts命令修改hosts文件,以指定IP地址和域名的对应关系,提高解析速度。
(6)为Web用户建立专门的用户和组。
4.2 xampp的安装和配置
4.2.1 安装xampp
(1)从Apache Friends Web站点上下载xampp的最新版本到蛐root根目录下。
(2)进入Linux shell并以系统管理员身份登录。
(3)使用tar xvfz xampp-linux-1.4.7.tar.gz-C/opt命令将其解压到/opt目录中,这样XAMPP就被安装到/opt/lampp目录中了,使用浏览器访问http://localhost,浏览器显示XAMPP的welcome页面即表示安装成功。
(4)使用/opt/lampp/lampp start命令启动xampp。
(5)使用/opt/ampp/lampp security命令修改XAMPP p-ages passwort、My SQL/php My Admin user pma passwort、My - SQL root passwort、FTP user 'nobody' password 四个密码。
(6)在/etc/rc.d/rc.local添加/opt/lampp/lampp startapache、/opt/lampp/lamppstartmysql、蛐pt/lampp/lamppstartftp,将xampp加入到开机启动。
(7)在/opt/lampp/htdocs/下新建一个www目录,并使用chown-R hostuser:hostuser/opt/lampp/htdocs/www/命令,将该目录的用户和属组都设为hostuser。
4.2.2 Apache配置
(1)编辑/opt/lampp/etc/httpd.conf文件,尽量只保留必要的模块;确保Apache以nobody运行;只保留常用的index页面名称。
(2)编辑/opt/lampp/etc/extra/httpd-default.conf文件,关闭服务器签名。
(3)编辑/opt/lampp/etc/extra/httpd-xampp.conf文件,注销Perl模块和phpsqliteadmin。
(4)编辑/opt/lampp/etc/extra/httpd-languages.conf文件,设置字符集。
(5)编辑/opt/lampp/etc/extra/httpd-vhosts.conf文件,配置虚拟主机。
(6)编辑/opt/lampp/etc/extra/httpd-ssl.conf文件,修改日志记录的位置。
(7)编辑/opt/lampp/etc/extra/httpd-mpm.conf文件,进行Apache的性能调优。
4.2.3 PHP配置
编辑/opt/lampp/etc/php.ini文件:
(1)关闭display_errors和register_globals。
(2)酌情修改页面执行时间、页面消耗内存、用户提交的数据大小和上传文件的大小。
(3)关闭除zip.so和memcache.so外的所有模块。
4.2.4 Proftpd配置
编辑/opt/lampp/etc/proftpd.conf文件:
(1)确保Proftpd以nobody运行。
(2)适当修改最大子进程数、允许链接的用户数、每个用户允许的连接数和登录次数。
(3)如果开放虚拟主机给其它用户使用,则限制用户在主目录内。
(4)将相关项设置为关闭登陆用户的Shell、禁止从遗留的/etc/ftpusers文件中认证用户、关闭反向查询、连接时显示欢迎信息等。
(5)禁止以被动模式登录。
(6)禁止root登陆,避免使用FTP来猜root口令。
5 配置安全的Web服务器
构建一个有效的Web入侵防御体系,必须从多方面入手。使用硬件/软件防火墙、建立入侵检测系统和入侵防御系统、安装Web应用程序防火墙、遵循程序安全编码规范、记录完备的日志和监控方案,同时网站和数据都要有冗余备份,采用一定的网页防篡改机制等,都是常见的防御方法。
5.1 Apache日志
利用Web服务器日志可以用来进行访问分析、历史安全监察、历史运行状况监控等,因此管理好日志对网站的意义很大。将Apache日志设置为回滚并自动分割,可以避免日志文件过于庞大、便于进行日志检索,同时可以定期删除旧的日志。
5.2 日志分析工具Webalizer
Webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进行浏览。由于Webalizer是用C语言写的程序,所以其具有很高的运行效率。同时,Webalizer支持标准的一般日志文件格式和几种组合日志格式的变种,比较灵活。
5.3 使用Cacti监控Web服务器
Cacti是一套基于PHP、My SQL、SNMP及RRDTool开发的网络流量监测图形分析工具。通过snmpget来获取数据,使用RRDtool绘画图形。提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。
5.4 使用mod_security
mod_security是一个集入侵检测和防御引擎功能的开源Web应用程序防火墙。以Apache Web服务器的模块方式运行,目标是增强web应用程序的安全性,防止web应用程序受到已知或未知的攻击。
5.5 使用mod_evasive
mod_evasive是Apache服务器的防DDOS的一个模块。虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到降低Apache服务器压力的作用。
6 结束语
所探讨的基于LAMP的Web服务器的架构方案,可以保证Web服务器的安全性、可靠性和低成本。完全可以满足普通高校对Web服务器的要求,也能提高一般网络服务企业的竞争力。
参考文献
[1]黄雁.基于xampp的linux网络环境的配置[J].合肥.电脑知识与技术,2009(11):3025-3026,3033.
[2]冯有文.基于linux构建中小学校园网网络信息安全管理系统[J].北京:中小学信息技术教育,2010(5):87-88.
[3]刘志勇.Linux+PHP+MySQL案例教程[M].北京:中科多媒体电子出版社,2001:105-223.
[4]黄超.Linux高级开发技术[M].北京:机械工业出版社,2002:57-99.
[5]杨先麟,彭小阳.基于RHEL5影视Web服务器的构建[J].杭州:计算机时代,2009(2):47-49.
[6]冯素梅.基于Linux的重负载Web服务器的架构[J].杭州:计算机时代,2010(6):13-14,17.
[7]赵鹤芹.设计动态网站的最佳方案:Apache+PHP+MySQL[J].北京:计算机工程与设计,2007(4):933-934.
高性能架构 篇4
1 系统功能架构
交通视频监控系统的功能构架如图1所示。
由图1可知, 该系统功能架构包括三方面。
1.1 前端子系统
前段子系统包括道路交通视频监控子系统、隧道交通视频监控子系统和高点交通视频监控子系统, 其主要功能是获取与回传视频。采用高清视频监控摄像设备获取视频, 以国内外通用的编码格式将视频数字化后回传给后台系统。
1.2 通讯子系统
通讯子系统采用光纤专用网络进行视频通讯。
1.3 后台子系统
后台子系统主要包括视频监控、视频回放、报警联动、远程调度与控制、视频内容分发、用户管理、系统管理、统计查询、设备管理等。
路面交通视频监控系统是由布设在道路沿线的前端设备对各段路面交通状况进行实时监控, 将交通视频信息通过光纤专网传回后台中心管理系统进行综合管理。同时, 交通指挥人员通过GIS平台对前端交通视频监控设备进行控制。
下穿隧道交通视频监控系统是由布设在下穿隧道的前端设备对隧道交通状况进行实时监控, 将交通视频信息通过光纤专网传回后台中心管理系统进行综合管理。同时, 交通指挥人员通过GIS平台对前端交通视频监控设备进行控制。
高点交通视频监视系统是指在高点架设带云台的高清视频监控摄像机, 通过高清视频监控摄像机对一定范围内的交通状况进行实时监控, 将交通视频信息通过光纤专网传回后台中心管理系统进行综合管理。
系统内部接口有两个: (1) 外场交通视频监控设备的控制机和交通视频监控系统服务器的接口。外场交通视频监控设备的控制机和交通视频监控系统服务器之间的通讯遵循该种设备支持的通讯协议, 建立一对多的连接。 (2) 交通视频监控系统服务器和中心管理系统的接口。后台系统利用一套交通视频监控软件集成所有外场设备, 中心管理系统和交通视频监控系统的集成将一一对应, 通过规定的通讯协议, 实现中心管理系统和交通视频监控系统的集成。
2 系统物理架构
交通视频监控系统拓扑结构如图2所示。
视频监控后台系统作为平台系统设备层面上的管理中心, 负责监控前端设备, 各级监控中心设备的注册、请求等。
系统具体由管理服务器和录像服务器两部分组成。管理服务器主要负责响应客户端和设备提交的系统请求服务, 并进行视频分发和存储的调度管理, 同时完成设备管理、用户管理、业务管理、日志管理等事务性处理功能。当用户发出控制指令, 调阅某路图像或对某路图像进行控制的时候, 该指令被管理服务器接受并加以处理。管理服务器通过数据库对发出该指令的用户进行对比, 确认该用户是否具有相应权限。确认后, 管理服务器将指令转发给相应的录像服务器, 录像服务器直接通过网络将指令传送到用户的客户端。
系统也提供SDK软件开发包, 供外部系统使用。
前端高清摄像机将采集到的视频图像信号, 通过光纤传输网络传递至中心, 传输过程中保证每路图像每秒传输25帧。外场前端设备拓扑图如图3所示。
3 系统网络结构
交通视频监控系统的网络结构包括通过光纤专线网络接入的前端子系统和后台系统两部分。前端子系统数据通过防火墙、交换机与后台服务器进行交互。前端设备根据安装要求通过光纤专线与后台系统进行通信。
通信交换机作为通信网络的一部分, 主要负责汇聚接入的光纤专线。交通视频监控系统的网络通信分为三大部分, 即后台与前端设备的通信网络, 后台系统的网络, 视频监控系统和外部系统之间的数据交换网络。后台和前端设备之间的通信网络主要由运营商提供, 通过光纤专线方式组建专用物理网络, 使前端摄像机等设备可以与后台系统之间进行数据交换。后台系统主要由防火墙和交换机组成, 保证后台系统服务器、存储、终端之间的通信。本系统的网络拓扑结构如图4所示。
3.1 网络结构
系统网络由外场子系统和视频监控系统网络两部分组成。视频监控系统网络通过电信网对外场的视频监控前端设备进行视频服务管理, 通过与智能交通网的连接满足交管控制中心、交管分局交通管理人员和其他使用者对交通道路各路段交通视频监控系统进行视频监控的要求。通过与其他市政单位的网络连接满足水务局和其他使用者对下穿隧道或其他特定道路环境的交通视频监控系统进行视频监控的要求。视频监控系统网络通过防火墙与外部网络包括公网和智能交通网建立连接, 保证系统的安全运行。视频监控系统网络采用双冗余结构, 保证系统运行的可靠性。
3.2 主要服务器部署
交通视频监控系统主要包括两类服务器, 即视频监控管理服务器和视频监控录像服务器。视频监控管理服务器要求采用冗余热备的设计方式, 视频监控录像服务器的配置应根据接入的视频路数来设置。从前端设备到用户终端, 系统所传输的交通信息大致可分为控制命令和视频流这两种类型。
4 系统总体性能
视频监控系统在整个智能交通系统中的突出作用体现在交通监控和交通调控两方面, 因此, 为了保证视频监控系统的稳定运行和采集信息的实时、可靠, 视频监控系统的总体性能必须达到相应的技术要求。
4.1 交通视频监控系统
视频的硬盘阵列配置预先配置为RAID5级, 并支持其他RAID级别。硬盘阵列还需要支持热故障的驱动器或热备用交换, 视频的硬盘阵列也要支持双冗余电源的配置。实时视频图像的播放必须达到每秒25帧, 实时视频图像的延迟不少于300ms。视频的硬盘录像, 应该可以供全部视频影像保存15 d, 交通视频信息传输延迟不得超过2 s。
4.2 交通整体调控
对用户从系统的管理工作站上发出, 或来自基于GIS集成信息平台的控制命令, 要求从系统接收到命令起, 到命令从管理系统发到子系统为止, 所用的时间不超过1 s;要求设备状态信息从管理系统到子系统收到后在管理工作站上显示不超过3s;管理系统的失效备援功能, 要求从检测到管理系统中心服务器上的硬件或软件失效开始, 到系统的所有功能在备用服务器上完全恢复为止, 所用的时间不超过5 min。
5 结束语
总之, 城市道路交通视频监控系统可对机动车辆进行全天候监控, 改善了交通状况, 实现实时布控, 也为查处和侦破肇事逃逸、盗抢机动车等案件提供了依据。该系统作为城市智能交通系统的一个功能子系统, 在城市的综合管理系统中发挥着重要的作用。因此, 城市道路交通视频监控系统的应用前景将十分广阔。
摘要:在城市道路中, 应用交通视频监控系统可以疏导车流、人流, 改善交通状况。主要介绍了城市道路交通视频监控系统的功能架构、物理架构和网络结构, 并论述了系统的总体性能, 为该系统的应用提供一些参考建议。
关键词:城市道路,交通视频,系统架构,系统性能
参考文献
[1]李宝才.城市道路交通视频监控系统解决方案[J].科学之友, 2012 (09) .
高性能架构 篇5
1 设置服务器以适合Oracle数据库运行
服务器对Oracle数据库性能有着直接影响。服务器设置不合理将会直接降低Oracle的运行效率, 也就是说服务器是整个系统的基础, 如果基础没有打好, 整个数据库就不能真正发挥作用, 那么系统再怎样优化也无济于事。
首先, 要知道Oracle数据库按照什么样的原则为指导, 对服务器资源进行科学合理的分配:尽量使Oracle可使用的资源最大化。如果有条件, 尽量不使Oracle数据库和SAP系统同时使用同一个服务器, 尽可能使Oracle占有本服务器最多的资源。
其次, 对服务器里的内存加以优化, 对其进行调整, 尽量减少虚拟内存的使用。当物理内存不能满足Oracle的要求时, 操作系统会调用虚拟内存对物理内存中的信息进行页面替换, 这将引起大量的磁盘I/O操作, 使整个服务器的性能下降。只有使服务器中的内存增大了, 才能减少虚拟内存对物力内存的占用。
第三, 对Oracle进程进行参数调整, 使优先级统一为相同参数。因为在Oracle数据库系统中, 所有的后台和前台数据库服务器进程执行的都是同等重要的工作, 需要同等的优先级。
2 调整内存分配
内存参数的调整主要是指Oracle数据库的系统全局区 (System Global Area, SGA) 的调整。作为Oracle数据库的核心部分, SGA是对数据库数据进行快速访问的一个系统区域, 可以被服务器和用户共享[2]。共享池以及数据和日志缓冲区域组成了SGA。SGA在日常运行中须不停地对数据进行释放和配置, 只有把SGA设置在服务器的物力内存之中, 才能尽可能快地对数据进行访问使用。内存的调整主要是指调整组成SGA的内存区域的大小来提高系统性能, 具体由SGA_MAX_SIZE, DB_CASHE_SIZE, PGA_AGGREGATF_TARGET, SHARRED_POOL_SIZE 4个参数控制。在对SGA进行物理内存设置时, 只要按照一般原则设置即可:通常SGA占据物理内存的50%~70%左右。服务器物理内存越大, 给SGA的比例也可以越高一些。共享池主要存储如SQL, PL/SQL存储过程及包、数据字典等, 对于SAP系统较为固定, 设置时不需超过20 G, 富余的内存可以分配给数据缓冲区。
3 调整磁盘I/O
数据库的数据最终要存储在物理磁盘上。磁盘I/O操作是数据库性能最重要的方面, 它是系统消耗最大的Oracle数据库操作。为了避免与I/O相关的性能瓶颈, 监控磁盘I/O并对其进行调整非常重要。影响磁盘I/O的性能的主要原因有磁盘竞争、I/O次数过多和数据块空间的分配管理[3]。磁盘I/O的调优主要包括文件独立放置、使用磁盘阵列、使用分区、应用裸设备4个方法[4]。除了裸设备外, 前3个方法的核心思想都是将数据文件放置在不同的物理磁盘上, 从而利用并行访问提升磁盘读写的速度, 减少不同进程对磁盘竞争的几率。而裸设备指的是未经格式化的磁盘分区, Oracle可以对其进行读和写操作, 而没有缓冲开销。裸设备可以用于写操作频繁、顺序访问的数据和回滚日志文件, 但不能用在备份程序中。
4 调整数据库服务器的回滚段
通常Oracle在回滚段将数据修改前的值保存在内。回滚段包括3个作用:其一是事务回滚作用:数据库可以从回滚段找回数据改变前的数据记录, 也就是说回滚段具有原始数据读取功能;事务恢复作用:如果对数据的后期操作失败, 那么可以在下次打开Oracle时将未提交的原始数据利用回滚段中的重做日志文件对其进行恢复;读一致性功能:如果回话未对修改过的数据提交保存, 那么其他会话不会进行改变, 但是其他会话如果修改了查询所需的数据资源, 那么这个会话在进行查询操作时数据就会改变, Oracle将利用回滚段的数据前影像来构造一个读一致性视图。由此可见回滚段在数据库中起着关键性的作用, 如果设计得不合理, 不管多好的剩余部件设计, 都会使SAP系统不能发挥其应有的功能、作用。因此, 在开展回滚段的优化调整时应遵循以下原则。
(1) 回滚段独立放置。为了发挥回滚段应有的性能, 应将回滚段同其他诸如索引、数据字典等的数据分开放置, 此时应为回滚段创建一个或一个以上的独立表空间。
(2) 构建回滚段群。为了使回滚段在面对不同类型数据时能够快速作出反应, 应该构建较小、较大、特大3种大小不同的回滚段群, 须注意的是不要将这3种回滚段群放置在同一个表空间上, 应分开放置。并且每个群的内部大小相同, 以满足该组事务处理的最大要求。
(3) 回滚段的建立数量应科学合理。并不是回滚段的数量越多越好, 而应该参照SAP的并发事务数量建立, SAP的并发事务少于16个, 则设置4个回滚段;当并发事务多余16个少于32个时, 设置8个回滚段;并发事务多余32个时, 则设置并发事务数量/4的回滚段。
5 优化ABAP程序中SQL语句
ABAP开发语言是SAP公司为SAP软件专门开发的一种编程语言, 是为从事二次开发推出的一种面向对象的语言[5]。ABAP采用Open SQL来访问和操作数据库。优化ABAP中的SQL语句, 可以有效降低数据库的负载, 提升数据库的系能。ABAP的SQL语句的优化原则是尽量减少数据库中的IO操作, 有以下4个要求。
避免使用SELECT…ENDSELECT语句。SELECT END SELECT语句其实是一个循环体, 因此如果使用TABLE赋值, 将会大大降低循环体的使用, 提高性能。
尽可能减少SELECT*的使用频率, 尽量使用需要读取的字段来做检索。
使用FOR ALL ENTRIES IN语句用来把内表以及数据表相连, 能够大大减少数据的提取频率, 优化数据。
如果Where子句中含有选择性条件, 如Where N=20, 则将最具有选择性部分放在表达式最后。
6 合理使用视图、索引
为使用户能够快速便捷地使用应用程序, 在设计系统时可以利用视图对数据进行隐藏、删减, 同时能够将涉及多个表的复杂查询以视图的方式给出。这样能够通过索引快速查找数据, 同时还可减少磁盘I/O, 优化对数据表的查询, 加速SQL语句的执行。除此之外, 构建索引提高系统性能, 应从以下方面入手:该表常用来在索引列上查询, 该表不常更新、插入、删除等操作, 查询出来的结果记录数应控制在原表的2%~4%。
7 结语
综上所述, 随着SAP系统的应用深入, 对Oracle数据库的性能提出了越来越高的要求。对Oracle数据库性能进行调优, 根本目的在于提升SAP系统的效率和功能。但影响Oracle数据库性能的因素非常多, 优化与调整是需要不断摸索和总结的过程。必须对影响Oracle性能的因素进行分析, 针对每一个因素都作出科学合理的调整和优化, 才能够保证最终Oracle数据库应用系统性能达到SAP系统的要求。
摘要:随着信息技术的不断发展, SAP系统被越来越多的企业运用。Oracle作为SAP系统使用最广泛的数据库系统, 其性能对SAP系统有着重要影响。文章主要对SAP架构下Oracle数据库的主要性能进行了研究, 并提出了调整和优化的措施。
关键词:SAP架构,Oracle数据库,系统性能,优化
参考文献
[1]邹俊.基于Oracle数据库系统性能调整与优化研究[D].南昌:江西财经大学, 2006.
[2]魏亚楠, 宋义秋.Oracle数据库应用系统的性能优化[J].制造业自动化, 2010 (8) :204-206.
[3]刘哲.基于Oracle数据库系统的优化与性能调整研究[J].绿色科技, 2012 (5) :283-284.
[4]王雷, 曾蕴波, 王璐.Oracle数据库的性能调整与优化方法探析[J].航天器工程, 2008 (6) :129-133.
高性能架构 篇6
关键词:芯片架构,片上系统,Cortex-M3,CoreMark
ARM Cortex系列是ARM公司推出的基于ARMv7架构、使用高性能的Thumb-2指令集的32位嵌入式微处理器核。主要有三种款式,分别是Cortex-A、Cortex-R和Cortex-M。其中Cortex-M系列主要用于低功耗、低成本的嵌入式应用。本文用于So C(System on Chip)设计的Cortex-M3核便属于该系列。该处理器核凭借其高性能、低功耗、低成本和开发方便等特点,受到了各厂商的青睐。STMicroelectronics、NXP Semiconductors、ATMEL等都竞相推出各自基于Cortex-M3核的So C。由于Cortex-M3核的结构与传统ARM核有很大区别,因此基于Cortex-M3的So C架构设计也有与以往不同的特点。不同的架构对芯片整体性能影响很大。本文使用Core Mark对实际芯片作了性能测试,其结果证明了So C架构对芯片性能的影响。
1 Cortex-M3核So C架构设计
1.1 总线接口
处理器核对So C架构最大的影响是其总线接口。传统的ARM处理器使用单一总线接口。如ARM7处理器采用冯诺依曼结构,指令和数据共用一条总线,从而核外部为单总线接口[1];ARM9虽然使用了哈佛结构,核内部指令总线和数据总线分开,但这两条总线共用同一存储空间,且在核外共用同一总线接口[2]。使用单一总线接口的弊端是取指和取数据无法并行执行,效率相对较低。
Cortex-M3的结构如图1所示。Cortex-M3采用了多总线结构,在核外有ICode、DCode、System三个总线接口[3]。其中,ICode和DCode总线接口使得在地址空间Code区中的取指和取数据分开并行执行,而System总线使得在地址空间SRAM区中的取指和取数据使用同一总线接口,无法并行执行。
1.2 So C架构设计
由Cortex-M3的结构特点可以看出,Cortex-M3不适合像传统ARM处理器那样将代码由Flash搬移到RAM来提高效率,那样反而可能会降低效率(由于SRAM区中的取指和取数据使用同一总线接口)。而Cortex-M3是将代码和只读数据放在Flash中,程序执行时将可读写数据放在RAM中,从而获得最高效率。
基于以上考虑,设计Cortex-M3核的So C时,最好将片上Flash挂接在ICode和DCode总线上,即0x00000000~0x20000000地址空间,如图2所示,将片上SRAM挂接在System总线上,即0x20000000~0x40000000地址空间。这样从Flash中取指和取只读数据可以分别通过ICode和DCode总线并行执行,提高了Flash的读取效率。而对SRAM中的数据读写通过System总线进行。三条总线各自分工,使得So C性能大大提高。
1.3 自主设计的Cortex-M3核So C
实验室自主设计了一款基于Cortex-M3核的So C,并采用0.18μm CMOS工艺流片成功。如图3所示,芯片的片上Flash从0x20000000开始,共256 KB;片上SRAM从0x30000000开始,共96 KB。其架构特点是片上Flash和片上SRAM均处于0x20000000~0x40000000地址空间,即挂接在System总线上,但两者均可再映射Remap到0地址,即可挂接到ICode和DCode总线上。
默认情况下片上SRAM可Remap到0地址,这意味着SRAM默认拥有0x00000000和0x30000000两个起始地址。因此,将代码放在SRAM中时,若从0x00000000地址开始执行,则处理器通过ICode和DCode总线来访问SRAM;若从0x30000000地址开始执行,则处理器通过System总线来访问SRAM。下面将利用这特一点来进行性能分析。
2 性能测试及分析
2.1 Core Mark简介
传统的嵌入式微处理器性能测试普遍采用Dhrystone程序,WEICKER R P通过统计程序中常用的操作及其所占比例,构建了一个测试基准,并经过多次完善,才得到了Dhrystone程序[4]。但Dhrystone程序本身过于简单,并不能准确反映处理器运行实际应用程序时的性能。
EEMBC组织自成立之初就打算制定一种能够代替Dhrystone并能更好地测量嵌入式微处理器性能的标准。但由于EEMBC的程序和认证一般都是收费的,所以其发布的测试程序一直没能得到很好的普及。直到其发布了完全公开和免费的Core Mark程序,才逐渐改变这一局面,并有取代Dhrystone的趋势。Core Mark是一个虽代码量小但很复杂的测试程序,通过执行应用程序中常用的数据结构和算法来测试处理器性能,其内容包括链表操作、矩阵运算和CRC校验等,可以更好地反映处理器运行实际应用程序时的性能。本文采用Core Mark来测试So C的性能。
2.2 自主设计So C的性能测试
使用Keil开发环境:将Core Mark程序放在芯片的片上SRAM中,分别设置从片上SRAM的两个起始地址执行,其在72 MHz主频时的测试结果如表1所示。
可见,对于同一片上SRAM存储器,从0x00000000地址访问执行比从0x30000000地址访问执行时的处理器性能要高出约20%。因此,使用ICode和DCode总线取指和取只读数据比使用System总线性能要高。在今后的设计中将取消Remap,直接将片上Flash放在从0x00000000开始的空间,将片上SRAM放在从0x30000000开始的空间,实现取指、取只读数据、取可读写数据并行执行,从而达到最佳性能。
2.3 STM32F103性能测试
意法半导体的STM32系列MCU是目前市场上最常见的Cortex-M3核So C之一,该系列中的STM32F103架构如图4所示[5]。该芯片的片上Flash挂接在ICode和DCode总线上,片上SRAM挂接在System总线上。其中ICode总线直通Flash,而DCode总线和System总线通过一个总线矩阵分别连接到片上Flash和片上SRAM及其余外设。此外,STM32采用了一个64 bit的Flash,并使用了一个2×64 bit的缓冲器,一次可缓存128 bit数据,从而大大降低了Flash的访问频率,弥补了Flash速度较慢的缺陷,使得取指和取只读数据的速度大大提高。该架构与前述分析基本一致,故可以保证最佳性能。
使用Core Mark对STM32F103进行性能测试。将代码分别放在片上SRAM和片上Flash中执行,其在72 MHz主频时的测试结果如表2所示。
可见,STM32F103在片上Flash中执行代码的性能超过了在片上SRAM中的性能。主要原因是在片上Flash中执行时,三条总线合作分工,加之Flash本身位宽较大(64 bit),且外部有2×64 bit缓冲器,因此效率很高,代码在片上Flash中执行的性能可以与在片上SRAM中执行时相当。
与实验室自主设计的So C相比,两芯片在片上SRAM中执行代码的性能几乎相同。这是因为两者均只使用System总线对SRAM进行访问,且两芯片的SRAM存取速度均跟得上Cortex-M3核对其访问的速度。但如表1所示,自主设计的So C在片上Flash中执行代码的性能还不到STM32F103的一半,原因是所使用的Flash本身速度较低、位宽较低(2×16 bit),且没有采用外部高位宽缓冲器等手段减少访存频率,再加上测试时Flash挂接在System总线上,因此Flash的性能成为了所设计So C的性能瓶颈。
3 影响So C性能因素
(1)芯片架构:由以上分析可见,芯片架构对So C性能有很大的影响。要想获得最佳性能,关键是要深入了解所用处理器核的结构特点,再据其采用合适的芯片架构。
(2)存储器速度:存储器速度尤其是Flash速度也是限制So C性能的一个关键因素。存储器速度越慢,CPU需要插入的等待周期就越多,效率就越低。这一点在上述自主设计的So C中就不够好,需要在Flash部分作大的改进。而STM32在这方面做得很好,通过加大存储器位宽和增加缓冲器使Flash不会成为芯片性能的瓶颈。
(3)工艺:工艺对存储器速度及芯片整体性能的影响是显而易见的,更先进的工艺意味着更高的性能。但提升工艺同时意味着增加流片成本,故需根据实际情况考虑。
(4)主频:主频越高,意味着同一段时间内可以执行更多的指令,即测试结果Core Mark总分提升,但Core Mark/MHz没变。此外,若Flash速度跟不上,则会将最高性能限制住,提升主频不但不会提高整体性能,反而还会降低效率,即测试结果Core Mark总分不变,CoreMark/MHz反而降低。
本文主要研究了基于ARM Cortex-M3核的So C架构设计,重点分析了处理器核的总线接口对芯片架构设计的影响。采用Core Mark程序,对实验室自主设计的一款Cortex-M3核So C以及意法半导体的STM32F103MCU进行了性能测试及分析,说明了芯片架构对性能的影响。最后,对影响So C性能的因素作了总结。对高性能的Cortex-M3核So C设计有着指导作用,对一般的So C设计也有借鉴意义。
参考文献
[1]ARM Ltd..ARM7TDMI Technical Reference ManualRevision:r4p1,2004.
[2]ARM Ltd..ARM920T Technical Reference Manual Rev 1,2001.
[3]ARM Ltd..Cortex-M3 Technical Reference ManualRevision:r2p1,2010.
[4]WEICKER R P.Dhrystone:A synthetic systems programmingbenchmark[J].Communications of the ACM,1984,27(10):1013-1030.
高性能架构 篇7
3月30日, 博科公司发布了两个新的专业服务产品, 进一步证明了博科投资和承诺, 致力于帮助客户增加原有IP网络价值。其中, IP网络基础架构服务包括:博科IP网络基础架构服务为客户提供端到端下一代IP网络的评估、设计和部署。博科的专家建议和最佳方法指导帮助客户在部署IP网络技术时, 加速配置、最大化资源使用效率、降低风险;博科IP网络基础架构服务包括:IP网络评估、IP网络设计、IP网络执行、IP网络迁移、IP网络校对。
现在, 博科IP网络基础架构服务在美国、欧洲, 中东和非洲市场已经可以使用, 2009年第二季度将在亚太地区及日本市场提供。