氢氧化铵的英文铵翻译铵英语怎么说-倒装壶
2023年4月6日发(作者:口才培训班)
第五章
SoWhatisCloudComputing?
WeseeCloudComputingasacomputingmodel,model
“customers”plugintothe“cloud”toaccessITresourceswhicharepriced
andprovided“on-demand”.Essentially,ITresourcesarerentedandsharedamong
multipletenantsmuchasofficespace,apartments,orstoragespacesareused
redoveranInternetconnection,the“cloud”replacesthe
,CloudComputing
osection
ofTypesofCloudComputing.
CloudComputingvendorscombinevirtualization(onecomputerhostingseveral
“virtual”servers),automatedprovisioning(servershavesoftwareinstalled
automatically),andInternetconnectivitytechnologiestoprovidethe
service[1].Thesearenotnewtechnologiesbutanewnameappliedtoacollection
ofolder(albeitupdated)technologiesthatarepackaged,soldanddelivered
inanewway.
Akeypointtorememberisthat,atthemostbasiclevel,yourdataresideson
someoneelse’sserver(s).Thismeansthatmostconcerns(andthereare
potentiallyhundreds)rust
themwithyourdata?
那么,什么是云计算?
我们看到云计算作为一种计算模式,而不是一个技术。在这种模式的“客户”到“云”
访问它的价格和“按需”提供的资源插件。从本质上讲,IT资源之间的大部分写字楼,
公寓,或存储空间的多个租户租用和共享,是由住户使用。“云”通过Internet连接
传递,取代该公司的数据中心或服务器提供相同的服务。因此,云计算是简单地在互联
网上销售和交付IT服务。是指部分类型的云计算。
云计算厂商将虚拟化(一台电脑主机多个“虚拟”的服务器),自动配置(服务器有软
件自动安装),互联网连接技术,提供的服务[1]。这些都不是新技术,但一个新的名字
(虽然更新)适用于老年人的集合打包,销售和技术提供一种新的方式。
关键的一点要记住的是,在最基本的层面上,您的数据驻留在别人的服务器(S)。这意
味着,最关心的(和有潜在的数百个)真的来了,信任和控制问题。你信任你的数据呢?
TheEconomics
rented
RealEstate,thecostsofownershiparepooledandspreadamongalltenantsof
uentially,acquisitioncosts
arelowbuttenantsneverownthetechnologyassetandmightfacechallenges
iftheyneedto“move”orendtheserviceforanyreason[2].
SomethingthatisoftenoverlookedwhenevaluatingCloudComputingcostsisthe
continuedneedtoprovideLANservicesthatarerobustenoughtosupportthe
mple,ifyouhave6
ormoreworkstationcomputers,youwillprobablyneedtocontinuetomaintain
aserverinadomaincontrollerrole(toensurenameresolution),atleastone
switch(toconnectallofthecomputerstoeachotherandtherouter),oneor
morenetworkedprinters,andtherouterfortheInternetconnection.
WhatdoIneedtouseCloudComputing?
AllthatisreallyneededtoacquireanduseCloudComputingsolutionsisacredit
card(orotherpaymentmethod)andaLANwithanInternetconnectionrobustenough
worequirementsaredeceptively
simple.
Fromatechnicalpointofviewthebiggestchallengeforbusinesses,particularly
SMBs,maybetheneedforanappropriatelyrobustLANinfrastructureandInternet
lly,Internetaccessisprovidedbyasinglecommercial
cteristicofthis
typeinstallationisthatallofthecomputersconnectingthroughtheLANshare
nquicklybecomeanissue.
经济学
规模经济和技能驱动云计算经济学。与出租房地产,所有权的费用汇集和传播的多租户
云计算解决方案的所有住户之间。作出相应,收购成本低,但住户从未拥有的技术资产,
并可能面临的挑战,如果他们需要“移动”,或因任何原因终止服务[2]。
评估云计算成本时,常常被忽视的东西,是需要继续提供网络服务,这是强大到足以支
持云解决方案。这些费用并非总是很小。例如,如果你有6个或更多的工作站电脑,你
可能会需要继续保持在一个域控制器角色的服务器(确保名称解析),至少有一个开关
(连接所有的计算机和对方的路由器),一个或多个网络打印机和互联网连接的路由器。
使用云计算我需要什么?
真正需要购买和使用云计算解决方案,是一个信用卡(或其他付款方式)和一个强大到
足以支持云提供的服务与互联网连接的局域网。看似简单的这两项要求。
从技术角度查看企业面临的最大挑战,尤其是中小型企业,可能需要适当强大的网络基
础设施和互联网连接。通常情况下,互联网接入提供一个单一的商业服务的ISP提供商
通过在路由器上的单个端口。这种类型的安装的一个特点是,所有的计算机通过局域网
共享连接互联网的带宽同样。这能迅速成为一个问题。
TypesofCloudComputing
SaaS(SoftwareAsAService)
ides
allthefunctionsofasophisticatedtraditionalapplicationtomanycustomers
andoftenthousandsofusers,butthroughaWebbrowser,nota
“locally-installed”application[4].LittleornocodeisrunningontheUsers
localcomputerandtheapplicationsareusuallytailoredtofulfillspecific
iminatescustomerworriesaboutapplicationservers,storage,
applicationdevelopmentandrelated,commonconcernsofIT.
,Google\'sGmailandApps,instant
messagingfromAOL,YahooandGoogle,andVoIPfromVonageandSkype.
PaaS(PlatformasaService)
Deliversvirtualizedserversonwhichcustomerscanrunexistingapplications
ordevelopnewoneswithouthavingtoworryaboutmaintainingtheoperating
systems,serverhardware,endors
provideAPIsordevelopmentplatformstocreateandrunapplicationsinthecloud
–dServiceproviderswithapplicationservices
providedtoITdepartmentstomonitorsystemsanddownstreamapplicationssuch
asvirusscanningfore-mailarefrequentlyincludedinthiscategory[5].
WellknownproviderswouldincludeMicrosoft\'sAzure,Salesforce\',
GoogleMaps,ADPPayrollprocessing,andUSPostalServiceofferings.
IaaS(InfrastructureasaService)
Deliversutilitycomputingcapability,typicallyasrawvirtualservers,on
oudComputingprovidesgrids
orclustersorvirtualizedservers,networks,storageandsystemssoftware,
usually(butnotalways)designedto
vescost(time
andexpense)ofcapitalequipmentdeploymentbutdoesnotreducecostof
configuration,integrationormanagementandthesetasksmustbeperformed
remotely.
(ElasticComputeCloud[EC2]andSimple
Storage),IBMandothertraditionalITvendors.
云计算的类型
的SaaS(软件作为服务)
是云计算最广为人知的和广泛使用的形式。它提供了一个复杂的传统应用程序的所有功
能,许多客户和经常成千上万的用户,但不是一个“本地安装”应用程序通过Web浏览
器,[4]。很少或根本没有代码,用户的本地计算机上运行的应用程序通常是量身定制,
以满足特定功能。SaaS的消除对应用服务器,存储,应用软件开发和相关的共同关心
的问题,IT客户的后顾之忧。
最引人注目的例子是,谷歌的Gmail和Apps,从AOL,雅虎和谷歌即时
消息,并从Vonage和Skype的VoIP。
的PaaS(平台即服务)
提供虚拟服务器上的客户可以运行现有的应用程序,而不必担心维护的操作系统,服务
器硬件,负载均衡或计算能力或开发新的。这些供应商提供API或开发平台来创建和运
行在云中的应用-例如使用互联网。应用服务托管服务提供商提供的IT部门监控系统
和下游应用,如电子邮件病毒扫描经常被包括在这一类[5]。
众所周知的供应商将包括微软的Azure,Salesforce的,谷歌地图,ADP薪
资处理,美国邮政服务产品。
的IaaS(基础设施即服务)
提供实用的计算能力,通常作为原始的虚拟服务器上的需求,客户的配置和管理。在这
里,云计算提供网格或集群或虚拟服务器,网络,存储和系统软件,通常在一个多租户
架构(但不总是)。IaaS是设计,以增加化作春泥更护花的上一句 或更换整个数据中心的职能。这样可以节省资
本设备部署的成本(时间和费用),但不降低配置,整合或管理成本,这些任务必须远
程执行。
供应商将包括亚马逊(弹性计算云EC2上]和简单存储),IBM和其他传统的IT厂商
第六章
ThetermInternetofThingsappearstohavebeencoinedbyamemberoftheRFID
developmentcommunitycirca2000,whoreferredtothepossibilityofdiscovering
informationaboutataggedobjectbybrowsinganInternetaddressordatabaseentry
hattime,visionarieshaveseizedon
thephrase“InternetofThings”torefertothegeneralideaofthings,especially
everydayobjects,thatarereadable,recognizable,locatable,addressable,and/or
controllableviatheInternet—whetherviaRFID,wirelessLAN,wide-areanetwork,
ayobjectsincludesnotonlytheelectronicdeviceswe
encountereveryday,andnotonlytheproductsofhighertechnologicaldevelopment
suchasvehiclesandequipment,butthingsthatwedonotordinarilythinkofas
electronicatall—suchasfood,clothing,andshelter;materials,parts,and
subassemblies;commoditiesandluxuryitems;landmarks,boundaries,andmonuments;
andallthemiscellanyofcommerceandculture.
AlthoughanalystsdefinetheIoTintermsofconnectedeverydayobjects,the
-wayconnectionbymeans
oftheInternetProtocolconstitutestheidealcase,buttheoriginatorsoftheIoT
c
IoTwillbeinextricablefromsensornetworksthatmonitorthingsbutdonotcontrol
nnectedeverydayobjectsandsensornetworksbothleverageacommon
setoftechnologicaladvancestowardminiature,power-efficientsensing,processing,
tscommonlydescribetwodistinctmodesof
communicationintheInternetofThings:thingtopersonandthing-to-thing
communication.
长期上网的事情似乎已经由RFID发展社区大约2000年,谁发现通过浏览互联网地址或
数据库条目对应一个特定的RFID标签对象的信息的可能性的成员创造。自那时以来,高瞻
远瞩,抓住了那句“物联网”指的事情,尤其是日常的对象,是通过互联网无论是通过RFID
的可读性,可识别,可定位,可寻址,和/或可控的总体思路,无线局域网,广域网,或其
他手段。日常物品包括电子设备不仅我们遇到的日常生活,不仅较高的技术开发的产品,如
车辆和设备,但是,我们通常不认为所有这些,如电子,食品,服装,住房的东西;材料,
零件和组件;商品和奢侈品;地标,边界,古迹;所有的商业和文化的杂物。
虽然分析师定义IOT,连日常物品连接的性质仍有待确定。通过互联网协议的双向连接,
构成了理想的情况下,但物联网概念的始作俑者似乎都强调了RFID的查询和响应简单的模
型。物联网将是不可分割传感器网络监控的东西,但不控制的东西。首尾相连的日常物体和
传感器网络都利用一套共同对微型,低功耗传感,处理,无线通信技术的进步。分析家普遍
描述了两种不同的通信联网模式:事情和事情的东西的人沟通。
Thing-to-person(andperson-to-thing)communicationsencompassesanumberof
technologiesandapplicationswhereinpeopleinteractwiththingsandviceversa,
includingremoteaccesstoobjectsbyhumans,andobjects(sometimescalled
“blogjects”)thatcontinuouslyreporttheirstatus,whereabouts,andsensordata.
Thing-to-thingcommunicationsencompassestechnologiesandapplications
whereineverydayobjectsandinfrastructureinteractwithnohumanoriginator,
recipient,scanmonitorotherobjects,takecorrective
actions,e-to-machinecommunication
isasubsetofthing-to-thingcommunication;butmachine-to-machinecommunication
oftenexistswithinlarge-scaleITsystemsandsoencompassesthingsthatmaynot
qualifyas“everydayobjects”.
Developersandvisionarieshavedescribedanumberofconceptsthataredistinct
yetcloselyrelatedtotheIoT.
SensornetworksneednotbeconnectedtotheInternetandindeedoftenreside
inremotesites,vehicles,ust
isatermthatsomehaveusedtoexpressavisionoftiny,wireless-connectedsensors;
morerecently,othersusethetermtodescribeanyofseveraltechnologiesthatrange
fromthesizeofapackofgumtoapackofcigarettes,andthatarewidelyavailable
thinkofthevisionoftinyinstancesofsmartdust
asaDisruptiveTechnologiesdevelopmentthatwillariseafteralongperiodofIoT
evolution,duringwhichanumberofdisruptionsareforeseeablewellbeforeusable
wirelesssensorsshrinktothesizeofgravel.
事到人(人事)通讯包括一些技术和应用,其中人用的东西,反之亦然,包括人类的远
程访问的对象,和对象(有时称为“blogjects”)连续报道互动他们的身份,行踪和传感器
数据。
事情的东西通讯,包括技术和应用,其中日常物品和基础设施,没有人类的鼻祖,收
件人,或中介互动。可以监视其他对象的对象,采取纠正措施,并通知或提示人类所需。机
对机通信的事情,事情沟通的一个子集,但机器对机器通信,往往存在于大型IT系统等包
含的东西,可能没有资格作为“日常物品”。
开发者和梦想家所描述的一些独特而又密切相关的物联网的概念是。
传感器网络需要互联网连接,的确经常驻留在远程站点,车辆,建筑物有没有互联网连接。
智能灰尘是长远一些用来表达一个微小的,无线连接的传感器的视野;最近,别人用这个词
来描述任何几个技术,范围从一包口香糖大小的一包香烟,而且是广泛地提供给系统开发。
有人可能会认为智能灰尘微小的情况下,作为一个颠覆性技术的发展,将出现长时间后物联
网的演变,在这期间的中断数量是前缩小到可用的无线传感器砾石的大小可预见的视力。
Ubiquitouspositioningdescribestechnologiesforlocatingobjectsthatmay
resideanywhere,includingindoorsandundergroundlocationswheresatellite
signalsmaybeunavailableorotherwiseinadequate.
Biometricsenablestechnologytorecognizepeopleandotherlivingthings,
tedeverydayobjectscouldrecognize
authorizedusersbymeansoffingerprint,voiceprint,irisscan,orotherbiometric
technology.
MachinevisionisanapproachtotheIoTthatcanmonitorobjectshavingno
onboardsensors,controllers,orwirelessinterfaces.
Progressinthefollowingtechnologieswillcontributetothedevelopmentof
theIoT:
Machine-to-machineinterfacesandprotocolsofelectroniccommunicationset
therulesofengagementfortwoormorenodesonanetwork.
Microcontrollersarecomputerchipsthataredesignedtobeembeddedinto
objectsotherthancomputers.
differentwirelesstechnologieshavethepotentialtoplayimportantrolesinthe
IoTincludingshort-rangeandlong-rangechannels;aswellasbidirectionaland
ssdevicesidentifythemselves;inpractice
virtuallyallwirelessInternetdevicescontainuniqueidentifiers,includingall
r,seethenextbullet.
无所不在的定位描述为定位对象可能驻留在任何地方,包括室内和地下的卫星信号的地
方可能无法或其他不足的技术。
生物识别技术识别人及其他生活的东西,而不是无生命的物体。连日常的对象可以识
别授权用户指纹,声纹,虹膜扫描,或其他生物识别技术的手段。
机器视觉是一种方法,可以监控对象,有没有板载传感器,控制器,或无线接口的IOT。
在下面的技术进步,将有助于物联网的发展:
机器对机器的电子通讯接口和协议设置为两个或两个以上的节点在网络上的交战规
则。
微控制器被设计为嵌入到比电脑的其他对象的计算机芯片。
无线通信是在发达世界的大多数人所熟悉。许多不同的无线技术有可能在IOT发挥的
重要作用,包括短距离和长距离通道;以及双向和单向通道。无线设备确定自己在实践中,
几乎所有的无线上网设备包含唯一标识符,包括所有的手机和Wi-Fi客户端。然而,看到未
来的子弹。
RFIDtechnologyresemblesanelectronicbarcodethatareaderdevicecandetect
IDreaderscanidentifymultipleobjects
eRFIDtag-readerarchitecturessupportsecurityfeaturessuch
a
havevaryingsizes,powerrequirements,operatingfrequencies,amountsof
rewriteableandnonvolatilestorage,andsoftwareintelligence;rangesvaryfrom
r,largerdeviceshavinganinternalpower
sourcetendtooperateatlongerranges;conversely,smallerdeviceshavingno
internalpowersource(RFengineerssaytheyareilluminatedbythereaderdevice,
muchasaradarilluminatesatarget),
architecturesthatsupportmorestorage,rewriteability,andprocessingtendtocost
morethansimplerarchitectures.
Energyharvestingtechnologiescapturesmallbutusableamountsofelectrical
tenergy-harvestingR&Dconcentrateson
adventitioustemperaturevariations,ambientsoundandvibration,andambientRF.
UnlikepassiveRFIDs,whichsimplyresonatewhenilluminated,anenergy-harvesting
transducerproduceselectricalpowerthatrunsamicrocontroller,sensor,and/or
cally,energyharvestingtransducers
respondnotonlytoadventitioussourcesbutalsotointentionaltransmissionsof
power,say,ticexampleofintentional
transmissionofpowerviaRFchannel:MIT’srecent“Witricity”demonstrationof
closely-coupledresonators,enablingrelativelyefficientwirelesspowertransfers
overadistanceofafewfeet.
Sensorsdetectchangingattributesintheenvironmentandreportthemtoa
system;sensornetworksaimtoexploitthebenefitsofsensingatmorethanone
sareatypeoftransducerthatmustproducetheminisculeamount
,light,
atmosphericconditions,vibrations,andotherenvironmentalsignalsareallfair
gameforsensordesigners.
RFID技术类似于一个电子条码,读卡设备,甚至可以检测无视线。一些RFID阅读器可
以同时识别多个物体。和一些RFID标签阅读器的架构支持安全功能,如需要人为操作,解
码之前输入一个ID是一个挑战代码。RFID技术有不同的大小,功率要求,工作频率,可
重写的非易失性存储金额,和软件的情报;范围从几厘米到几百米不等。然而,大型设备,
有一个内部电源往往在较长的范围经营;反之,较小的设备,有没有内部电源(RF工程师说,
他们照亮读者的设备,就像一个雷达照亮目标)往往在较短的操作范围。此外,架构,支持
更多的存储空间,rewriteability和处理往往要花费超过简单的架构。
能量收集技术从环境捕获量小,但可用的电能。目前的能源收获的研发集中在温度变化
不定,环境声音和振动,环境射频。能量采集传感器与RFID的被动,只是共鸣照亮时,产
生电力运行的微控制器,传感器,和/全部或部分或网络接口。从技术上讲,能量采集传感
器不仅不定的来源,但也故意传输功率,说,通过射频和声学渠道。最近麻省理工学院的
“WiTricity技术”的紧密耦合谐振器的示范,使超过几英尺的距离相对高效的无线电力传
输:通过射频通道传输功率故意戏剧性的例子。
传感器检测环境中不断变化的属性和汇报制度;传感器网络的目标是利用多个位置传感
的好处。传感器是传感器的类型,必须出示微乎其微的权力需要一个可用的错误率在传达的
信息。声,光,大气条件下,振动,和其他环境信号都是公平的游戏所有的sensordesigners
的。
Actuatorsdetectanincomingsignalandrespondbychangingsomethinginthe
mple,arelayisanactuatorthattogglesamechanicalswitch,
andcanthuscauseagoodnumberofresponsestooccursuchasenablingillumination,
heatingsystem,audiblealarm,orssuchasmotors,pneumatics,and
hydraulicscanmoveobjectsandpumpfluids.
Locationtechnologyhelpspeopleandmachinesfindthingsanddeterminestheir
splayaroleindeadreckoning,butthatapproachdoes
notsatisfypracticalneedsforgeolocation,resultingintheriseofwireless
approachesincludingGPS(whichisoftenaugmentedbyothersignals)andcellular
oadcasttiming
signals,andreceivingdevicestriangulatebycalculatingtheamountofdelayfrom
,lidar,andsonarcandetectrelativelocationsofthings,
dependingontheirelectromagnetic,optical,e
thingstransmittheirownradio,light,and/orsoundinordertodisclosetheir
whereaboutstopeopleandmachines.
pmentoftheIoTwill
relyonmanydimensionsofsoftwarecapabilitiesincludingdistributedexecution,
self-describingdatastructures,reticalframeworkexiststo
circumscribethelimitsofsoftwaredevelopment,leadingtospeculationabout
softwarethatemulateshumanreasoningandperformstasksonbehalfofpeople.
Regardlessofthemeritoflong-awaitedartificialintelligence,softwarewillno
doubthelpfutureusersmakesenseofcomplexdatasetscollectedfromnetworksof
everydayobjectsandsensors.
驱动器检测输入信号和响应不断变化的环境中的东西。例如,一个继电器是一个机械开
关执行器,切换,从而可以引起良好的反应发生,如使照明,供热系统,发出声光报警,等
等。如电机,气动,液压作动器,可移动物体和泵油。
定位技术可帮助人与机器找东西,并确定他们的身体下落。传感器在航位推算中发挥了
作用,但这种做法不符合实际需要的地理位置,导致无线方式的兴起,包括全球定位系统(通
常是由其它信号增强)和蜂窝塔。固定或轨道发射机已知位置。他们播出的定时信号,接收
设备,通过计算从每个发射器的延迟量三角。雷达,激光雷达,声纳可以探测事物的相对位
置,取决于其电磁,光学,声学特性。有些事情,发送自己的电台,光,和/或声音,人与
机器,以透露他们的下落。
软件包括一个广阔的发展领域。物联网的发展将依靠软件功能的许多方面,包括分布
式执行,自我描述的数据结构,以及更多。没有理论框架存在外接软件开发的限制,导致投
机软件模拟人类推理和履行人民代表的任务。无论是期待已久的人工智能的优点,软件无疑
将有助于未来的用户感,复杂的数据集从日常生活中的对象和传感器网络收集。
第十一章
Agent-orientedtechniquesrepresentanexcitingnewmeansofanalyzing,
vethepotentialto
significantlyimprovecurrentpracticeinsoftwareengineeringandtoextendthe
,todate,therehavebeen
fewseriousattemptstocastagentsystemsasasoftwareengineeringparadigm[1].
ically,itwillbearguedthat:
(i)theconceptualapparatusofagent-orientedsystemsiswell-suitedtobuilding
softwaresolutionsforcomplexsystemsand(ii)agent-orientedapproachesrepresent
agenuineadvanceoverthecurrentstateoftheartforengineeringcomplexsystems.
Followingonfromthisview,themajorissuesraisedbyadoptinganagent-oriented
approachtosoftwareengineeringarehighlightedanddiscussed.
面向Agent技术代表一个复杂的软件系统的分析,设计和建设令人振奋的新手段。他们
有可能显着改善目前的做法,在软件工程和延长能够切实解决的应用范围。然而,迄今为止,
有一些严重的尝试投代理系统作为一个软件工程的典范[1]。本文旨在纠正这一疏忽。具体
来说,它会被认为:(一)面向代理系统的概念设备是非常适合于构建复杂系统的软件解决
方案及(ii)面向代理的方法比目前的艺术状态的真正提前复杂的系统工程。从这个观点上,
采用面向代理的软件工程方法提出的主要问题是突出和讨论。
TheNatureofComplexSoftwareSystems
Industrial-strengthsoftwareiscomplexinnature:itistypically
characterisedbyalargenumberofpartsthathavemanyinteractions.
Moreoverthiscomplexityisnotaccidental:itisaninnatepropertyofthe
eofsoftwareengineering
isthereforetoprovidestructuresandtechniquesthatmakeiteasierto
ately,thiscomplexityexhibitsanumberof
importantregularities
,the
systemiscomposedofinter-relatedsub-systems,eachofwhichisitselfa
cisenatureoftheorganisationalrelationshipsvaries
betweensub-systems,althoughsomegenericforms(suchasclient-server,
peer,team)sationalrelationshipsarenotstatic:
theycan,andfrequentlydo,varyovertime.
Thechoiceofwhichcomponentsinthesystemareprimitiveis
relativelyarbitraryandisdefinedverymuchbytheobserver’saimsand
objectives.
复杂的软件系统的性质
工业强度的软件在本质上是复杂的:它通常是由大量有许多相互作用的部分特征。此外,
这种复杂性并非偶然:它是一个软件用于任务类型的先天属性。因此,提供更容易地处理这
种复杂的结构和技术,软件工程的作用。幸运的是,这种复杂性表现出的一些重要规律
频繁复杂层次的形式。也就是说,该系统是相互关联的子系统组成,每个本身就是一个
层次。组织关系的确切性质不同子系统之间,虽然可以识别一些通用的形式(如客户端-服
务器,同行,团队)。组织关系不是静态的:他们可以,而且经常不随时间变化的。
系统中的组件是原始的选择是比较乱,被定义为观察员的宗旨和目标非常。
Hierarchicsystemsevolvemorequicklythannon-hierarchiconesof
rwords,complexsystemswillevolvefromsimple
systemsmuchmorerapidlyiftherearestableintermediateforms,thanif
therearenot.
Itispossibletodistinguishbetweentheinteractionsamong
terarebothmore
frequent(typicallyatleastanorderofmagnitudemore)andmorepredictable
vesrisetotheviewthatcomplexsystemsarenearly
,sub-systemscanbetreatedalmostasiftheyare
independentofoneanother,butnotquitesincetherearesomeinteractions
er,althoughmanyoftheseinteractionscanbepredicted
atdesigntime,somecannot.
分级系统比同等规模的非层次的发展更加迅速。换句话说,复杂的系统将进化,从简单
的系统,更迅速,如果有稳定的中间形式,如果没有。
这是可能的区分分系统和子系统内的相互作用之间的相互作用。后者更频繁(通常至少
一个量级更多的订单),比前更可预见的。这引起了复杂系统的近可分解认为。因此,系统
可以被视为几乎一样,如果他们是彼此独立的,但不相当,因为它们之间存在着一定的相互
作用。此外,虽然许多这些相互作用可以在设计时的预测,有些不能。
Theprincipalmechanismsinclude[3]:
Decomposition:Themostbasictechniquefortacklinganylarge
problemistodivideitintosmaller,moremanageablechunkseachofwhich
canthenbedealtwithinrelativeisolation(notethenearlydecomposable
sub-systemsinfigure1艾青诗歌 ).Decompositionhelpstacklecomplexitybecauseit
limitsthedesigner’sscope:atanygiveninstantonlyaportionofthe
problemneedstobeconsidered.
Abstraction:Theprocessofdefiningasimplifiedmodelofthe
systemthatemphasizessomeofthedetailsorproperties,whilesuppressing
,thistechniqueworksbecauseitlimitsthedesigner’sscope
ioncanbefocusedonthesalientaspects
oftheproblem,attheexpenseofthelessrelevantdetails.
的主要机制包括[3]:
分解为最基本的技术,解决任何大的问题是划分成更小,更易于管理的块每一个都可以
在相对隔离的处理(注意图1中的近可分解子系统)。分解有助于铲球的复杂性,因为它限
制了设计师的范围:在任何给定的瞬间,只有部分问题需要考虑。
抽象:定义了一个系统,它强调的一些细节或属性的简化模型的过程,而抑制其他。再
次,这种技术的工作原理,在一个给定的时间,因为它限制了设计师的兴趣范围。可重点关
注的突出问题方面,在牺牲少有关细节。
Organisation:Theprocessofidentifyingandmanagingthe
inter-relationshipsbetweenthevariousproblemsolvingcomponents(notethe
sub-systemandinteractionlinksoffigure1).Theabilitytospecifyand
enactorganisationalrelationshipshelpsdesignerstacklecomplexityintwo
ways.
Firstly,byenablinganumberofbasiccomponentstobegrouped
mple,the
individualcomponentsofasub-systemcanbetreatedasasingleunitbythe
ly,byprovidingameansofdescribingthehigh-level
mple,anumberofcomponentsmay
needtoworktogetherinordertoprovideaparticularfunctionality.
组织的识别和管理的各种问题的解决组件之间的相互关系(注意图1中的子系统和互动
环节)的过程。指定,并制定组织关系的能力,帮助设计师解决两方面的复杂性。
首先,实现了基本元件组合到一起,并作为一个更高级别的分析单位处理。例如,一个
子系统的各个组成部分可以被视为一个单一的单位,由父系统。其次,通过提供描述各单位
之间的高级别关系的一种手段。例如,一个组件的数量可能需要共同努力,以提供特定的功
能。
Thereareanumberofpointsaboutthisdefinitionthatrequire
are:(i)clearlyidentifiableproblemsolving
entitieswithwell-definedboundariesandinterfaces;(ii)situated
(embedded)inaparticularenvironment—theyreceiveinputsrelatedtothe
stateofthatenvironmentthroughtheirsensorsandtheyactonthe
environmentthroughtheireffectors;(iii)designedtofulfilaspecificrole
—theyhaveparticularobjectivestoachieve,thatcaneitherbeexplicitly
orimplicitlyrepresentedwithintheagents;(iv)autonomous—theyhave
controlbothovertheirinternalstateandovertheirownbehaviour;(v)
capableofexhibitingflexible(contextdependent)problemsolvingbehaviour
—theyneedtobereactive(abletorespondinatimelyfashiontochanges
thatoccurintheirenvironmentinordertosatisfytheirdesignobjectives)
andproactive(abletoopportunisticallyadoptnewgoalsandtakethe
initiativeinordertosatisfytheirdesignobjectives).
有这个定义的点,需要进一步解释。代理是:(i)清楚地识别问题的解决具有明确的界
限和接口的实体;(二)位于(嵌入)在一个特定的环境中,他们收到有关该环境通过其传
感器的状态投入,他们的行为对环境的通过他们的效应;(三)设计,以满足特定的角色,
他们有特定的目标来实现的,可以是明示或暗示的代表在代理商;(四)自治区,他们都超
过其内部状态和对自己有控制行为;(五)能够表现出灵活(contextdependent的)解决问
题的行为,他们需要的是反应(能够在他们的环境中发生的变化,及时回应,以满足他们的
设计目标)和主动(能够机会主义采取新的目标,并采取主动,以满足他们的设计目标)。
Whenadoptinganagent-orientedviewoftheworld,itsoonbecomesapparentthat
oblemsrequireorinvolvemultipleagents:
torepresentthedecentralizednatureoftheproblem,themultiplelociofcontrol,
themultipleperspectives,er,theagentswill
needtointeractwithoneanother,eithertoachievetheirindividualobjectives
orelsetomanagethedependenciesthatensuefrombeingsituatedinacommon
nteractionsrangefromsimplesemanticinteroperation(the
abilitytoexchangecomprehensiblecommunications),throughtraditional
client-servertypeinteractions(theabilitytorequestthataparticularaction
isperformed),torichsocialinteractions(theabilitytocooperate,coordinate
andnegotiateaboutacourseofaction).Whateverthenatureofthesocialprocess,
however,therearetwopointsthatqualitativelydifferentiateagentinteractions
fromthosethatoccurinothersoftwareengineeringparadigms.
当采用面向代理的世界,它很快变得明显,一个单一的代理是不够的。大多数问题都需
要或涉及多个代理商代表分散性质的问题,控制的多个位点,多角度,或相互竞争的利益。
此外,代理商将需要彼此互动,可以实现各自的目标或者管理的依赖关系,坐落在一个共同
的环境,随之而来的。这些相互作用的范围从简单的语义互操作(能够交换可理解通信),
以丰富的社会互动(合作,协调和谈判的能力,通过传统的客户-服务器类型的相互作用
(能力要求,执行特定的动作)行动过程)。然而,不管是什么性质的社会进程,有两点定
性区别于那些发生在其他软件工程范式剂相互作用。
Firstly,agent-orientedinteractionsgenerallyoccurthroughahigh-level
(declarative)agentcommunicationlanguage(typicallybasedonspeechacttheory).
Consequently,interactionsareusuallyconductedattheknowledgelevel:interms
ofwhichgoalsshouldbefollowed,atwhattime,andbywhom(invocation
orfunctioncallsthatoperateatapurelysyntacticlevel).Secondly,asagents
areflexibleproblemsolvers,operatinginanenvironmentoverwhichtheyhaveonly
partialcontrolandobservability,interactionsneedtobehandledinasimilarly
,agentsneedthecomputationalapparatustomake
context-dependentdecisionsaboutthenatureandscopeoftheirinteractionsand
toinitiate(andrespondto)interactionsthatwerenotnecessarilyforeseenat
designtime.
首先,面向代理的交互通常发生通过一个高层次的(声明)代理通信语言(通常在言语
行为理论为基础)。因此,相互作用通常在知识的层面进行:在其中的目标,应遵循在什么
时候,由人(参方法调用或函数调用,一个纯粹的语法水平),条件。其次,作为代理商灵
活的解决问题,他们只是局部的控制和可观的环境中运作,互动需要在一个同样灵活的方式
处理。因此,代理商需要的计算设备,使它们之间的相互作用的性质和范围的上下文相关的
决策,并启动(和响应),不一定在设计时所预见的相互作用。
TheCaseforanAgent-OrientedApproach
Havingcharacterisedcomplexsystemsanddescribedagentsoftware,
wenowconsiderwhysuchagent-orientedtechniquesarewellsuitedto
gumenthasthreeparts:
showthatagent-orienteddecompositionsareaneffectivewayof
partitioningtheproblemspaceofacomplexsystem(section2.3.1);
showthatthekeyabstractionsoftheagent-orientedmindsetare
anaturalmeansofmodelingcomplexsystems(section2.3.2);
showthattheagent-orientedphilosophyforidentifyingand
managingorganisationalrelationshipsisappropriatefordealingwiththe
dependenciesandinteractionsthatexistinacomplexsystem(section2.3.3).
Tomakethecaseforagent-orientedsoftwareengineeringevenmore
compelling,thefinalstepistoarguethatagent-orientedtechniques
end,
theagent-orientedapproachwillbecomparedwithleading-edgetechniques
frommainstreamsoftwareengineering(section2.3.4).Inparticular,this
involvescomparisonswithobject-orientedanalysisanddesign(systemis
builtoutofinteractingobjectsthatencapsulatebothdataandthe
proceduresthatoperateonthatdata)andwithcomponent-ware(systemis
builtbyassemblingpre-existingcomponentsintosomeoverallstructure).
一个面向Agent的方法为例
在复杂系统的特点和描述的代理软件,现在我们考虑为什么这些代理为导向的技术非常
适合开发这样的软件系统。这种说法有三个部分:
表明,面向代理的分解是一个复杂的系统的问题(2.3.1节)空间分区的一个有效途径;
表明,代理为导向的思维定式的关键抽象复杂系统建模(2.3.2节)一个自然的手段;
表明代理人为本的理念识别和管理组织的关系是适当的处理,在一个复杂的系统(2.3.3
节)中存在的依赖关系和相互作用。
为了使面向Agent的软件工程更引人注目的情况下,最后一步是认为代理为导向的技术
代表了真正的进步,在当前的艺术状态。为此,代理为导向的方法,将与领先的技术主流软
件工程(第2.3.4节)。特别是,这涉及到面向对象分析和设计(相互作用的对象封装数据
和操作数据的程序,建立系统)和组件的软件(系统通过预现有的组件装配到建的比较一些
整体结构)。
第十六章
WhatIsanEmbeddedSystem?
Toughquestion,atleastahalf
,itwassohardto
pindownadefinitionthatIalmoststartedthinking\"embeddedsystem\"was
justanothertermfor\"software.\"Nevertheless,there\'sonefactabout
embeddedsystemsthatalltheexpertsdoseemtoagreeon:
Anembeddedsystemisanysoftwaresystemthatmustbedesignedona
platformdifferentfromtheplatformonwhichthesystemisintendedtobe
deployed[1].
棘手的问题,真的。有没有一个答案。我问了至少半打的行业专家,并得到尽可能多的
答案。事实上,它是如此难以确定的定义,我几乎开始思考“嵌入式系统”是另一个“软件。”
然而,有一个关于嵌入式系统的事实,所有的专家们似乎同意:
嵌入式系统是必须在一个平台上,从不同的平台,在该系统的目的是要部署[1]设计的
任何软件系统。
Whatismeantbyplatform?Onthedevelopmentside,platformtypically
referstoanoperatingsystemcapableofhostingsoftwaredevelopment,such
asWindows,Solaris,HP,argetside,thewordplatformrefers
tothedevicesonwhichtheembeddedsystemwillbedeployed[2].
OKthen,whythedesignconstraint?Whyaren\'tembeddedtargetscapable
ofhostingsoftwaredevelopment?Becausethesetargetsareoptimizedfor
performanceand/orsimplicity,theylacktheequipmentnecessaryfor
development(suchaskeyboards,monitors,networking,etc.).Ingeneral,
developmentfortheembeddedenvironmentisreferredtoas\"cross-platform
development.\"[3]
由平台是什么意思?在开发方面,平台通常是指一个操作系统托管软件开发能力,如在
Windows,Solaris,HP等,在目标端,字平台是指在设备上的嵌入式系统将部署2。
OK,然后设计约束,为什么呢?为什么没有嵌入的托管软件开发的目标吗?优化的性能
和/或简单,因为这些目标,他们缺乏发展所必需的设备(如键盘,显示器,网络等)。在一
般情况下,为嵌入式环境的发展被称为“跨平台开发。”[3]
EmbeddedSystemPerformance
Toreiterate,targetplatforms,theactualembeddeddevicesandsystems
themselves,areoptimizedforperformanceand/wemean
byperformance?Ifyouthinkitmeansthetargethastobeextremelyfast,
thenyou\'tembeddedsystems,amaximally
acceptableprocesstimeisrigidlyobserved,butthattimeneednotbesuper
ertheairplane:
Howmuchtimeisacceptablebetweenachangeinexternalatmospheric
conditionsandtheappropriatealterationmadebytheautopilot?Perhapsthe
reactionneednotbelightningquick,butitcertainlycan\'tbesluggish.
Andhowaboutsimplicity?Dependingontheresponsibilityofthe
embeddedsystem,small,inexpensive,low-powermicrochipsareviableand
preferableoptionstomorebulkyalternatives[4].Didyouknowthatthere
ismorecomputationalpowerinamodern-dayautomobilethantherewasinthe
Apollo13moonlander?Canyouimaginethecostandsizeoftoday\'s
automobilesiftheirembeddedsystemswerecomplexandbulky?
重申,目标平台,在实际的嵌入式设备和系统本身,优化性能和/或简单。通过性能是
什么意思?如果你认为这意味着目标是非常快的,那么你只是部分正确。对于大多数嵌入式
系统,最大可以接受的处理时间是严格遵守,但需要时间不超快速-系统问题只是速度不
够快。考虑飞机之间在外部大气条件的变化,自动驾驶仪和相应的改动是可以接受的多少时
间?也许反应不一定是闪电快,但它肯定不能是缓慢的。
以及如何简单吗?根据嵌入式系统的责任,体积小,价格低廉,低功耗的芯片是可行和
可取的选项,更笨重的替代品[4]。你知道,有更多的计算能力比在阿波罗13号月球着陆器
在现代汽车吗?你能想象今天的汽车的成本和尺寸,如果他们的嵌入式系统的复杂和笨重
的?
Okay,let\'nderstandthatembeddedsystems:
Mustbedevelopedinacross-developmentenvironment;
Implementfunctionsthatprovideanelementofcontrolinan
asynchronousworld;
Usethesmallestamountofcodetoachievethegreatestnecessaryspeed
anddegreeofpredictabilitypossible.
好吧,让我们的审查。我们现在明白,嵌入式系统:
必须在交叉开发环境中开发;
实现的功能,提供了一个控制在异步世界的元素;
用最小的代码量达到必要的速度和程度的可预见性可能最大。
TargetPlatforms
Forthesimplesttargetplatforms--platformsthatareinexpensiveand
consumeminimalpower--allfunctionsareconsideredequallyimportant,so
onsaretypicallywritten
inCandthen\"burned\"intosomeReadOnlyMemoryonan8-bitor16-bit
snooperatingsystemandperhaps0.5KofRandom
\'sinformationin,informationout.
Lightningquick.(Thebitsizejustreferstotheamountofmemoryaccessed
oryisdividedintolittlestoragebinswith
ebitssupportedbyaprocessor,themore
addressesthatcanbespecified.)
对于最简单的目标平台-平台,价格便宜,消耗最小的力量-所有的功能被认为是同
样重要的,因此该系统具有不承认优先权。通常是用C写的函数,然后“烧”到一些只读存
储器读取一个8位或16位微处理器。有没有操作系统,也许一些轻微的使用随机存取记忆
体0.5K。这是中,信息的信息。闪电般的速度。(位大小仅仅是指处理器访问的内存量。
所有内存被划分成单个地址的小储物箱。位处理器的支持,更可以指定地址。)
Astheneedforfeaturesincreasesand/orastheneedtoestablish
prioritiesarises,itbecomesmoreimportanttohavesomesortof
tadvanced
systemsactuallyhaveatiny,streamlinedoperatingsystemrunningtheshow,
calledaReal-Time
OperatingSystem(RTOS)[5].
anonethingmaybehappeningatthesame
timeonthisdevice,
whyreal-time?Here\'swhatmyexpertshadtosay:
Intheembeddedindustry,\"real-time\"isusedtorefertoasystemthat
mustcomputearesult,basedoncertaininputs,inlessthanamaximally
Thefactis,real-timeresponseisnotalwaysnecessaryinanembedded
heless,withintheindustry,thetermreal-timehasbecome
almostsynonymouswithembeddedsystem.
需要随着功能的增加和/或需要建立优先次序出现,它成为更重要的是有某种决策机制
是嵌入式系统的一部分。最先进的系统实际上有一个微小的,精简的操作系统上运行的表演,
32位或64位处理器上执行。这就是所谓的实时操作系统(RTOS),[5]。
RTOS的运行您的PDA。超过一件事可能会发生在此设备上的同时,和RTOS的工作是指
挥交通。但是,为什么实时?这里是我的专家们说:
在嵌入式行业中,“实时”是用来指一个系统必须计算结果,根据一定的投入,在小于
最大可接受的时间-即,它必须实时响应。
事实是,实时响应是在嵌入式系统中并不总是必要的。然而,行业内的,长期的实时嵌
入式系统几乎成了代名词。
EmbeddedSystemCertification
Embeddedsystemsassociatedwithsafetyandmission-critical
a
example,allinternationalaviationadministrationsdisallowtheuseofa
newembeddedsystemwithinairplanesuntilthatsystemhasbeendeveloped
andtestedwiththetechniquesandmethodsdefinedwithinadocumentlabeled
altothiswell-definedprocessisaninsistenceonexposing
andtestingcode,baseduponcodecoverageuptothelevelofcompleteness
softwaredevelopersrefertoasMC-DC(ModifiedConditions--Decision
Conditions).
安全和关键任务应用的嵌入式系统通常有极其严格的认证标准。例如,所有的国际航空
主管部门禁止使用一个新的嵌入式系统内的飞机,直到该系统已开发和测试,在标有
“DO-178B的文件中定义的技术和方法。此明确定义的流程的关键是坚持揭露和测试代码,
根据代码覆盖了完整的软件开发人员的水平,指的MC-DC(修改条件-决策条件)。
Sohowdoyoutestandcertifysuchcriticalembeddedsystems?Yourtesting
toolsetmust:
Executeitstestsdirectlyonthetargetsystem.
Supportallpotentialdevelopmentplatformsanddevelopmenttools.
Accommodate,andnotinterferewith,thepotentiallylimitedmemoryand
processpowerofthetargetsystem.
,testingoffunctions,
classes,tasks)tooverallsystemtesting.
ProvidecodecoveragemetricsuptotherigorousMC-DCstandard.
那么,你如何测试和认证等关键嵌入式系统?您的测试工具集必须:
直接在目标系统上执行测试。
支持所有潜在的开发平台和开发工具。
适应,不干扰,潜在的有限的内存和进程目标系统的电源。
一切从单元测试(即,函数,类,任务测试)使整体系统测试。
代码覆盖率度量提供严格的MC-DC标准。
第十九章
Increatingcomputer古诗词大全600首李白 systemsthatcanidentifypeopleandinterprettheir
actions,researchershavecomeonestepclosertobuildinghelpfulhomeandwork
environments.
在创建计算机系统,它可以识别人,并解释他们的行动中,研究人员已经前来帮助的家
庭和工作环境建设的更近了一步。
•Imagineahousethatalwaysknowswhereyourkidsareandtellsyouif
theyaregettingintotrouble.
•Oranofficethatseeswhenyouarehavinganimportantmeetingand
shieldsyoufrominterruptions.
•Oracarthatsenseswhenyouaretiredandwarnsyoutopullover.
•Scientistshavelongtriedtodesigncomputersystemsthatcould
accomplishsuchfeats.
•Despitetheirefforts,mo秋天的经典古诗 dernmachinesarestillnomatchfor
ycouldbe.
想象一下,一个房子,总是知道您的孩子在哪里,并告诉你,如果他们陷入麻烦。
或者,当你看到有一个重要的会议,并从中断屏蔽你的办公室。
或一辆车,当你累了,并警告你拉过来的感觉。
长期以来,科学家们试图设计的计算机系统,可以完成这样的壮举。
尽管他们的努力,现代化的机器仍然没有保姆或秘书的比赛。但他们可能。
•Theproblem,inmyopinion,isthatourcurrentcomputersarebothdeaf
andblind:theyexperiencetheworldonlybywayofakeyboardandamouse.
•Evenmultimediamachines,thosethathandleaudiovisualsignalsaswell
astext,simplytransportstringsofdata.
•Theydonotunderstandthemeaningbehindthecharacters,soundsand
picturestheyconvey.
•Ibelievecomputersmustbeabletoseeandhearwhatwedobeforethey
canprovetrulyhelpful.
•Whatismore,theymustbeabletorecognizewhoweareand,asmuch
asanotherpersonorevenadogwould,makesenseofwhatwearethinking.
在我看来,这个问题是,我们目前的电脑都是聋哑人和盲人,他们的经验世界,只能通
过键盘和鼠标的方式。
即使是多媒体机,那些处理音像信号以及文本,只需传输数据的字符串。
他们不明白背后的人物,他们传达的声音和图片的含义。
我相信计算机必须能够看到和听到的,我们做什么,才可以证明真正的帮助。
更重要的是,他们必须能够认识到我们是谁,只要另一个人,甚至狗多,我们正在想什
么感。
•Tothatend,mygroupattheMediaLaboratoryattheMassachusetts
InstituteofTechnologyhasrecentlydevelopedafamilyofcomputersystems
forrecognizingfaces,expressionsandgestures.
•Thetechnologyhasenabledustobuildenvironmentsthatbehavesomewhat
likethehouse,officeandcardescribedabove.
•Theseareas,whichwecallsmartrooms,arefurnishedwithcamerasand
microphonesthatrelaytheirrecordingstoanearbynetworkofcomputers.
•Thecomputersassesswhatpeopleinthesmartroomaresayinganddoing.
为此,我在麻省理工学院媒体实验室的小组最近开发出一种计算机系统认识的面孔,表
情和手势的家庭。
该技术使我们能够建立环境行为有点像上面介绍的房子,办公室和汽车。
这些领域,我们称之为智能的客房,配有摄像头和麦克风,转达他们的录音,到附近的
电脑网络。
计算机评估在智能房的人说和做。
•Thankstothisconnection,visitorscanusetheiractions,voicesand
expressions---insteadofkeyboards,sensorsorgoggles---tocontrol
computerprograms,browsemultimediainformationorventureintorealmsof
virtualreality.
•Thekeyideaisthatbecausethesmartroomknowssomethingaboutthe
peopleinit,itcanreactintelligentlytothem.
•WorkingtogetherwithPattieMaesandme,graduatestudentsTrevor
rgconstructedthefirstsmartroomin1991at
M.I.T.
•Theinitiativequicklygrewintoacollaborativeexperimentandnow
involvesfivesuchrooms,alllinkedbytelephonelines,aroundtheworld:
threeinBoston,oneinJapanandoneintheU.K.(Installationsarealso
plannedforParis,NewYorkCityandDallas.)
•Eachroomcontainsseveralmachines,nonemorepowerfulthanapersonal
computer.
•Theseunitstackledifferentproblems.
•Forinstance,ifasmartroommustanalyzeimages,soundsandgestures,
weequipitwiththreecomputers,oneforeachtypeofinterpretation.
•Ifgreatercapabilitiesareneeded,weaddmoremachines.
•Althoughthemodulestakeondifferenttasks,theyallrelyonthesame
statisticalmethod,knownasmaximumlikelihoodanalysis:thecomputers
compareincominginformationwithmodelstheyhavestoredinmemory.
•Theycalculatethechancethateachstoredmodeldescribestheobserved
inputandultimatelypicktheclosestmatch.
•Bymakingsuchcomparisons,oursmart-roommachinescananswerarange
ofquestionsabouttheirusers,includingwhotheyareandsometimeseven
whattheywant.
由于这方面,参观者可以用自己的行动,声音和表情---而不是键盘,传感器或护目镜
---控制计算机程序,浏览多媒体信息或进入虚拟现实领域的企业。
关键的思想是智能的房间,因为知道有关它的人的东西,它可以反应智能他们。
•馅饼梅斯和我来说,研究生工作特雷弗达雷尔和布鲁斯米的布隆伯格修建于1991年在
麻省理工学院的智能房
该倡议迅速成长为一个协作的实验,现在涉及到等五室,所有由电话线连接,在世界各
地,在波士顿,一个在日本和英国(装置也为巴黎,纽约市和计划达拉斯。)
每个房间里有几台机器,没有超过个人电脑的强大。
这些单位解决不同的问题。
例如,如果一个聪明的房间必须分析图像,声音和手势,我们装备三台电脑,为每个类
型的解释之一。
如果需要更大的能力,我们添加更多的机器。
•虽然采取不同的任务模块,它们都依赖于相同的统计方法,被称为最大似然分析:电
脑比较传入的信息,他们已经存储在内存中的模型。
他们计算每个存储模型描述所观察到的输入,并最终挑选最接近的机会。
•通过这种比较,我们的智能房的机器可以回答问题,了解他们的用户范围,包括他们
是谁,有时甚至是他们想要的东西。
第二十章
Computervisionisthebranchofartificialintelligencethatfocuseson
,computer
visionhasproducedimportantapplicationsinfieldssuchasindustrialautomation,
robotics,biomedicine,ieldof
industrialautomationalone,itsapplicationsincludeguidanceforrobotsto
correctlypickupandplacemanufacturedparts,nondestructivequalityandintegrity
inspection,fewyearsago,chronicproblems
affectedcomputer-visionsystemsandpreventedtheirwidespreadadoption.
计算机视觉是人工智能的一个分支,着重提供典型的人类视觉功能的计算机。迄今为止,
计算机视觉,产生了重要的应用领域,如工业自动化,机器人技术,生物医药,卫星观测地
球。仅工业自动化领域,其应用包括机器人正确地拾起和放置零部件制造,无损的质量和完
整性检查,并上线测量的指导。直到几年前,长期存在的问题影响了计算机视觉系统,并阻
止其广泛采用。
Sinceitsstart,computervisionhasappearedasacomputationally
intensiveandalmostintractablefieldbecauseitsalgorithmsrequirea
minimumofhundredsofMIPS(millionsofinstructionspersecond)tobe
einput–outputofhigh-resolution
imagesatvideoratewastraditionallyabottleneckforcommoncomputing
ethese
problems,theresearchcommunityhasproducedanimpressivenumberof
hfamoussystemwastheMassively
ParallelProcessor(MPP),designedattheGoddardSpaceFlightCenterin1983
usedanarrayof16,384single-bit
processorsandwascapableatpeakperformanceof250millionfloating-point
operations/s—animpressivefeatatthetime.
自其启动以来,出现了计算机视觉为计算密集型和几乎棘手的领域,因为它的算法需要
至少数以百计的MIPS(每秒百万条指令),在可接受的实时执行。即使是高分辨率图像输入
输出视频率是传统的通用计算平台,如个人计算机和工作站的一个瓶颈。为了解决这些问题,
研究社会生产的专用计算机视觉系统,令人印象深刻的数字。这样一个著名的系统是大规模
并行处理器(MPP),于1983年在戈达德太空飞行中心的设计和经营直到1991年。MPP的
使用16,384单位处理器阵列,并能够在2.5亿次浮点运算/S-令人印象深刻的壮举时的峰
值性能。
DedicatedcomputerssuchastheMPPhavealwaysreceivedacoldreceptionfrom
industrybecausetheywereexpensive,cumbersome,
recentyears,however,increasedperformanceatthesystemlevel—faster
microprocessors,fasterandlargermemories,andfasterandwiderbuses—hasmade
croprocessorsanddigital-signal
processorsarenowavailableasoff-the-shelfsolutions,andsomeofthemcanexecute
asInstrumentsC6414processor,
forexample,runsat600MHzandcanachieveapeakperformanceof4,800MIPS.
如MPP的专用电脑一直收到从行业的冷遇,因为它们价格昂贵,手续繁琐,难以方案。
然而,近年来,提高系统的性能水平更快的微处理器,更快,更大的存储器,更快和更广泛
的巴士,已取得了计算机视觉上的大规模的经济实惠。快速的微处理器和数字信号处理器是
目前可用的现成的解决方案,其中一些可以执行数以千计的MIPS率计算。例如,德州仪器
C6414处理器,运行在600MHz和可以达到4800MIPS的最高性能。
HighspeedserialbusessuchastheIEEE1394andUSB2.0arecapable
oftransferringhundredsofmegabitspersecond,aratethatgreatlyexceeds
usesare
alreadyintegratedintothemostrecentpersonalcomputerchipsetsorare
er,videocamerashavegone
almostcompletelytodigital,andtheycomeinseveralpricerangesandtypes.
ConsumercamcordersarebasedonstandardssuchastheDigitalVideo(DV),
whichprovidesvideoswith720480pixels/frameatarateof30frames/s.
EvenWebcamscannowprovideimagesofsatisfactoryqualityatprices
startingaslowas$25.
如IEEE1394和USB2.0的高速串行总线能够传输数百兆位每秒的速度大大超过任何常
见的高分辨率摄像机的要求。这些公交车都已经集成到最新的个人电脑芯片或作为廉价的子
板。此外,摄像头了,几乎完全数字,他们在几个价格的范围和类型。消费者摄录一体机的
基础上,如数字视频(DV),提供了720480像素/帧,30帧/秒的速率视频标准。甚至摄
像头,现在可以提供低至25美元的价格,质量满意的图像。
Theavailabilityofaffordablehardwareandsoftwarehasopenedthe
wayfornew,pplications
ndtobehuman-centered;thatis,either
humansarethetargetsofthevisionsystemortheywanderaboutwearingsmall
cameras,systemshavebecomethecentralsensor
inapplicationssuchas
human-computerinterfaces(HCIs),thelinksbetweencomputersand
theirusers
augmentedperception,toolsthatincreasenormalperception
capabilitiesofhumans
automaticmediainterpretation,whichprovidesanunderstandingof
thecontentofmoderndigitalmedia,suchasvideosandmovies,withoutthe
needforhumaninterventionorannotation
videosurveillanceandbiometrics
负担得起的硬件和软件的可用性,开辟了新的普遍应用,计算机视觉的方式。这些应用
都有一个共同的因素。他们往往会以人为本,也就是说,无论是人类的视觉系统的目标,或
他们徜徉穿着小相机,或有时两个。中央传感器的应用,如视觉系统已成为
人机接口(HCIS),计算机与用户之间的联系
增强感知,增加正常的人类感知能力的工具
自动媒体解释,它提供了了解现代数字媒体的内容,如视频和电影,而不需要人为干预
或批注,
视频监控和生物识别技术
Human-computerinterfaces
ThebasicideabehindtheuseofcomputervisioninHCIsisthat
inseveralapplications,computerscanbeinstructedmorenaturallybyhuman
nteresting
application,yoftheNational
PolytechnicalInstituteofGrenobleinFranceandhiscolleaguesusedhuman
alocatedon
nchresearchersreported
thatatrainedoperatorcouldcompleteagiventask32%fasterbyusinghis
ral,
usingcamerastosensehumangesturesismucheasierthanmakinguserswear
cumbersomeperipheralssuchasdigitalgloves.
人机界面
HCIS利用计算机视觉背后的基本想法是,在一些应用中,电脑可以指示人类手势更自
然比使用键盘或鼠标。在一个有趣的应用,计算机科学家詹姆斯L克劳利的民族工业在
法国格勒诺布尔研究所和他的同事用人类眼球运动和向下滚动的电脑屏幕。位于屏幕上方的
摄像机跟踪眼球的运动。法国研究人员报告,训练有素的操作员可以完成一个给定的任务,
他的眼睛,而不是使用键盘或鼠标直接屏幕滚动速度提高了32%。在一般情况下,使用相
机感应到人类的手势是比使用户佩戴繁琐的外设,如数字手套容易得多。
AnotherinterestingexampleofanHCIapplicationcanbedownloaded
hereforpersonaltesting,providedaWebcamispluggedintoyourpersonal
plication—calledNouse,fornoseasamouse—tracksthe
movementsofyournose,play
NosePong,anose-drivenversionofthePongvideogame(Figure2,left),or
gh
thisapplicationisslantedtowardfun,itisaconvincingdemonstrationof
stry,forexample,
anoperatormightquicklystopaconveyorbeltwithaspecificgesture
detectedbyacamerawithoutneedingtophysicallypushabutton,pullalever,
orcarryaremotecontrol.
人机交互应用的另一个有趣的例子,在这里可以下载个人测试,提供了一个摄像头插入
到您的个人电脑。本应用所谓的鼻鼻标,作为一个鼠标跟踪你的鼻子的动作,由梅德
Gorodnichy开发。你可以玩NosePong,鼻傍视频游戏驱动版本(图2左),或测试你的能力
与你的鼻子画或写你的鼻子。虽然这个应用正朝着有趣的倾斜,这是一个相机的自然界面的
潜在用途的有说服力的示范。在工业领域,例如,运营商可能会很快停止输送带用相机检测
到一个特定的手势,而无需物理按下一个按钮,拉杠杆,或进行远程控制。
Camerascouldalsobecomepowerfulperipheralsfortheso-calledintelligent
alocatedinyourlivingroomwouldperformseveraltasks,starting
,
camerascouldreplacethemanyhard-to-findremotecontrolsaroundtoday’shomes,
provideenvironmentalsurveillance,andturntheTVoffwhenyoufallasleepinyour
favouritearmchair.
相机也可以成为所谓的智能家居功能强大的外设。在你的客厅位于相机会执行几项任
务,感应人的存在开始,然后转向灯和热。事实上,相机可以取代今天的家园周围的许多很
难找到的远程控制,提供环境监测,并关掉电视当你跌倒在您最喜爱的扶手椅上睡着了。
第二十四章
MEMShasbeenidentifiedasoneofthemostpromisingtechnologies
forthe21stCenturyandhasthepotentialtorevolutionizebothindustrial
andconsumerproductsbycombiningsilicon-basedmicroelectronicswith
hniquesandmicrosystem-baseddevices
havethepotentialtodramaticallyaffectofallofourlivesandtheway
welive.
ThisreportpresentsageneralintroductiontothefieldofMEMS,
withemphasisonitscommercialapplicationsanddevicefabricationmethods.
ItalsodescribestherangeofMEMSsensorsandactuators,thephenomenathat
canbesensedoracteduponwithMEMSdevices,andoutlinesthemajor
challengesfacingtheindustry.
微机电系统已被确定为21世纪最有前途的技术之一,并有可能彻底改变以硅为基础的
微电子与微机械加工技术相结合,工业和消费产品。它的技术和微系统的设备有可能极大地
影响我们的生活和我们的生活方式。
该报告提出了总体介绍,MEMS领域,重点放在其商业应用程序和设备的制造方法。它
还介绍了MEMS传感器和执行器,可以感觉到或MEMS器件行事的现象,并概述了该行业面临
的主要挑战。
WhatisMEMS?
Micro-electromechanicalsystems(MEMS)isaprocesstechnology
usedtocreatetinyintegrateddevicesorsystemsthatcombinemechanical
efabricatedusingintegratedcircuit(IC)
batchprocessingtechniquesandcanrangeinsizefromafewmicrometersto
evices(orsystems)havetheabilitytosense,control
andactuateonthemicroscale,andgenerateeffectsonthemacroscale.
MEMS,anacronymthatoriginatedintheUnitedStates,isalso
referredtoasMicrosystemsTechnology(MST)inEuropeandMicromachinesin
lessofterminology,theunitingfactorofaMEMSdeviceis
hedeviceelectronicsarefabricatedusing
‘computerchip’ICtechnology,themicromechanicalcomponentsare
fabricatedbysophisticatedmanipulationsofsiliconandothers猫的拼音 ubstrates
sessuchasbulkandsurface
micromachining,aswellashigh-aspect-ratiomicromachining(HARM)
selectivelyremovepartsofthesiliconoraddadditionalstructurallayers
ntegrated
circuitsaredesignedtoexploittheelectricalpropertiesofsilicon,MEMS
takesadvantageofeithersilicon’smechanicalpropertiesorbothits
electricalandmechanicalproperties.
什么是MEMS?
微机电系统(MEMS)是一种用于创建微小的集成器件或系统,结合机械和电子部件的工
艺技术。他们都采用集成电路(IC)的批量加工技术,可以从几微米到几毫米大小的范围。
这些设备(或系统)有能力感,控制和微观尺度上的驱动,并产生宏观尺度上的影响。
微机电系统的缩写,起源于美国,也称为微系统技术(MST)在欧洲和日本微型机械。
无论术语,MEMS器件的团结的因素是在它的方式。而电子装置制造,使用的电脑芯片IC技
术,微机械元件制造硅和复杂的操作使用微细加工工艺等基材。如体积和表面微加工技术,
以及高宽比微加工(HARM)的过程,有选择性地删除部分硅或添加额外的结构层,形成了机
械和机电元件。集成电路的设计,利用硅的电气性能,MEMS的需要,无论是硅的机械性能,
其电气和机械性能的优势。
firstplace,theinterdisciplinarynatureofMEMStechnologyanditsmicromachining
techniques,aswellasitsdiversityofapplicationshasresultedinanunprecedented
rangeofdevicesandsynergiesacrosspreviouslyunrelatedfields(forexample
biologyandmicroelectronics描写月亮的两句诗 ).Secondly,MEMSwithitsbatchfabrication
techniquesenablescomponentsanddevicestobemanufacturedwithincreased
performanceandreliability,combinedwiththeobviousadvantagesofreduced
physicalsize,volume,y,MEMSprovidesthebasisforthe
actorsmake
MEMSpotentiallyafarmorepervasivetechnologythanintegratedcircuitmicrochips.
However,therearemanychallengesandtechnologicalobstaclesassociatedwith
miniaturizationthatneedtobeaddressedandovercomebeforeMEMScanrealizeits
overwhelmingpotential.
微机电系统有几个明显的优势,作为制造技术。MEMS技术及其微细加工技术,以及其
应用的多样性的跨学科性质摆在首位,已造成前所未有的跨设备和以前不相关的领域的协同
作用(例如生物学和微电子)的范围。其次,其批量制造技术的MEMS组件和设备制造与提
高性能和可靠性,加上减少的物理尺寸,体积,重量和成本优势明显。第三,MEMS不能用
其他方法制成的产品制造提供了基础。这些因素使MEMS的可能比集成电路芯片的技术更为
普遍。不过,也有许多挑战和小型化相关的技术障碍,需要加以解决和克服之前MEMS能够
实现它的巨大潜力。
第三章
GraphicsProcessingUnits(GPUs),whichcommonlyaccompanystandardCentral
ProcessingUnits(CPUs)inconsumerPCs,arespecialpurposeprocessorsdesigned
toeffcientlyperformthecalculationsnecessarytogeneratevisualoutputfrom
ameshaveparticularlyhighrenderingdemands,andthismarket
hasdriventhedevelopmentofGPUswhich,incomparisontoCPUs,offerextremely
highperformanceforthemonetarycost.
Naturally,interesthasbeengeneratedastowhethertheprocessingpowerwhich
[1]).
Inparticular,thereispotentialtouseGPUstoboosttheperformanceofthetypes
re
challengestobeovercome,however,torealisethispotential.
ThedemandsplacedonGPUsfromtheirnativeapplicationsare,however,usually
quiteunique,andassuchtheGPUarchitectureisquitedifferentfromthatofthe
csprocessingisinherentlyextremelyparallelsocanbehighlythreaded
andperformedonthelargenumbers(typicallyhundreds)ofprocessingcoresfound
memorysystemisquitedifferenttothestandardCPU
rmore,theGPUarchitecturereflectsthefactthatgraphics
processingtypicallydoesnotrequirethesamelevelofaccuracyandprecisionas
scientifilisedsoftwaredevelopmentiscurrentlyrequiredto
enableapplicationstoefficientlyutilisetheGPUarchitecture.
Thisreportfirstgivesadiscussiononscientifi,we
describetheportingofanHPCbenchmarkapplicationtotheNVIDIATESLAGPU
architecture,andgiveperformanceresultscomparingtouseofastandardCPU.
图形处理单元(GPU),其中常见的陪在消费者PC标准的中央处理单元(CPU),有效率的特
殊目的而设计的处理器
ciently执行必要的计算,产生程序数据的可视化输出。
视频游戏有特别高的渲染需求,这个市场已带动了
GPU的发展,在比较的CPU,提供了极高的性能
货币成本。
当然,利益的处理能力是否已经产生
GPU的要约可以利用更多的通用计算(见[1])。在
尤其是有潜力使用GPU来提升传统的高性能计算系统,如HPCx常用做模拟类型的性能。
有挑战
要克服,但是,要实现这一潜力。
放置在GPU上的要求,从本地应用程序,然而,通常
相当独特的,因此GPU架构是相当不同的CPU。
图形处理本身极为并行可高度线程执行在GPU处理核心的大量发现(通常是数百个)
芯片。GPU内存系统是完全不同的标准CPU相当于系统。
此外,GPU架构,反映了一个事实,一般的图形处理
不需要科学模拟的准确性和精度相同的水平。目前需要专门的软件开发,使应用程序能
够有效地
利用GPU架构。
这份报告首次给出了在GPU上的科学计算的讨论。然后,我们
描述的NVIDIATeslaGPUHPC基准测试应用程序的移植
架构,并给出性能测试结果相比,使用一个标准的CPU。2Background
2Background
2.1GPUs
ThekeydifferencebetweenGPUsandCPUsisthatwhileamodernCPUcontains
afewhigh-functionalitycores,
alsoboastalargermemorybuswidththanCPUswhichresultsinfastermemoryaccess.
TheGPUclockfrequencyistypicallylowerthanthatofaCPU,butthisgaphasbeen
closingoverthelastfewyears.
Applicationssuchasrenderingarehighlyparallelinnature,andcankeepthe
coresbusy,resultinginasignificantperformanceimprovementoveruseofastandard
licationslesssusceptibletosuchhighlevelsofparallelisation,the
extenttowhichtheavailableperformancecanbeharnessedwilldependonthenature
oftheapplicationandtheinvestmentputintosoftwaredevelopment.
2.1.1Architecture
’sproducts
arefocussedonherebutofferingsfromotherGPUmanufacturers,suchasATI,are
eseenthattherearemany
processingcores(processors)toperformcomputation,eachgroupedinto
re1Figure1:ArchitecturallayoutofNVIDIAGPUchipand
ucedwithpermissionfrom[2].severallevelsofmemorywhichdiffer
istershaveprocessorscope;theShared
Memory,ConstantCacheandTextureCachehavemultiprocessorscopeandtheDevice
(orGlobal)attheGPUmemory
addressspaceisseparatefromthatfortheCPU,andcopyingofdatabetweenthe
lly,theCPUwillruntheprogramskeleton,
andoffl,
isreferredtoastheHost
onsthatrunontheDevicearecalledkernels.
OntheGPU,operationsareperformedbythreadsthataregroupedintoblocks,
ockisexecutedbyasingleprocessor,
howeverifthereareenoughresourcesavailable,severalblockscanbeactiveat
cessorwilltime-slicetheblockstoimprove
performance,oneblockperformingcalculationswhileanotheriswaitingforamemory
read,thememoryavailabletotheGPUexhibitsconsiderably
latency,howeverbyusingthismethodoftime-slicing,thislatencycanbehidden
forapplicationsthataresuitable.
Agroupof32threadsiscalledawarp,hieve
becauseinthissituation,ionals
canmeanthatthreadsdonotperformthesameoperationsandsotheymustbe
soappliesforGlobal
Memoryaccesses:ifthethreadsofahalf-warpaccessGlobalMemorytogetherand
obeycertainrulestoqualifyasbeingcoalesced,thentheyaccessthememoryin
parallelanditwillonlytakethetimeofasingleaccessforallthreadsofthe
half-warptoaccessthememory.
GlobalMemoryislocatedinthegraphicscard’nbe
accessedbyallthreads,
accessissignificantlyimprovedifmemoryaccessesarecoalesced(see5.1.2.5of
theProgrammingGuide[2])asthisallowsallthethreadsofahalf-warptoaccess
thememorysimultaneously.
eitis
onchip,theSharedMemoryspaceismuchfasterthanthelocalandGlobalMemory
imately16KBofsharedmemoryareavailableoneachMP
(multi-processor),howevertopermiteachMPtohaveseveralblocksactiveatatime
(whichimprovesperformance)itisadvisabletouseaslittleSharedMemoryas
ebitlessthan16KBiseffectivelyavailabledueto
storageofinternalvariables.
aredMemoryisallocated,each
evemaximum
memoryperformance,bankconflictsmustbeavoided(twothreadstryingtoaccess
thesamebankatthesametime).Inthecaseofabankconflict,theconflictingmemory
accessesareserialised,otherwisememoryaccessbyeachhalf-warpisdonein
catedinGlobal
Memory,equested
memoryisinthecache,thenaccessisasfastasSharedMemory,howeverifitis
notthentheaccesswillbethesameasaGlobalMemoryaccess.
TextureMemoryisread-onlymemorythatiscachedandisoptimizedfor2Dspatial
ansthataccessing[a][b]and[a+1][b],say,willprobablyget
betterspeedthanif[a][b]and[a+54][b]tureCache
adifferent16KBtotheSharedMemory,sousingthe
TextureCachedoesnotreduceavailableSharedMemory.
read
les
thataretoolargewillbeplacedinLocalMemorywhichislocatedinGlobalMemory.
TheLocalMemoryspaceisnotcached,soaccessestoitareasexpensiveasnormal
accessestoGlobalMemory.
2.2CUDA:ComputeUnifiedDeviceArchitecture
CUDAisaprogramminglanguagedevelopedbyNVIDIAtofacilitatewriting
extensionofCandiscompiledusing
tcommonlyusedextensionsarecudaMalloc*toallocate
memoryonthedevice,cudaMemcpy*tocopydatabetweenthehostanddeviceandbetween
differentlocationsonthedevice,
kernelname<<
tolaunchakernel,threadIdx.x,blockIdx.x,blockDim.x,ntify
thethread,block,blockdimension,andgriddimensioninthexdirection.
CUDAaddressedanumberofissuesthataffecteddevelopingprogramsforGPUs,
quitesimple,soit
willnottakemuchtimeforaprogrammeralreadyfamiliarwithCtobeginusingit.
CUDAalsopossessesanumberofotherbenefitsoverpreviousmethodsofGPU
heseisthatitpermitsthreadstoaccessanylocationinthe
werepreviouslyquitelimitingconstraints,andsoeasingthemrepresentsa
signifirmajorbenefitispermittingaccesstoShared
Memory,whichwaspreviouslynotpossible.
TomakeadoptionofCUDAaseasyaspossible,NVIDIAhascreatedCUDAU[3]
whichcontainsawell-writtentutorialwithexercisesaswellaslinkstocourse
ence
ManualandProgrammingGuidearealsoavailable[4].
TheCUDASDK[5]containsmanyexamplecodesthatcanbeusedtotestthe
installationofaGPUand,asthesourcecodesareprovided,demonstrateCUDA
heprovidedcodesisatemplate,providingthebasic
structureonwhichprogramscanbebased.
OneofthemainfeaturesofCUDAistheprovisionofaLinearAlgebralibrary
(CUBLAS)andanFFTlibrary(CUFFT).Thesegreatlyeasetheimplementationof
manyscientificcodesonaGPU.
2.3ReviewofGPUsuccesses
Inthissection,somerecentworkinvolvingusingGPUsforscientificcomputing
ishighlighted.
•TheTheoreticalandComputationalBiophysicsgroupattheUniversityof
IllinoisatUrbana-ChampaignhasusedGPUstoachieveaccelerationsofbetween20
and100timesformolecularmodellingapplications.
MonteCarloapplicationanda50timesspeed-upfora3DLaplaceSolver.[7]
TheLaplaceSolverwasimplementedontheGPUusingonlyGlobalandShared
aJacobiiterationofaLaplacediscretisationonauniform3D
ORMonteCarlocodeusedwasquitesimilartotheoriginalCPUcode.
ItusesGlobalandConstantMemory.
•ManyotherUKresearchersarealsoexperimentingwithGPUs.[8]NVIDIAhasa
omaintainsalistof
researchersusingGPUs.[10]
•RapidMindachieveda2.4timesspeed-upforBLASSGEMM,2.7timesforFFT,
and32.2timesforBlack-Sholes.
2.4GPUDisadvantagesandAlternativeAccelerationTechnologies
Inthissection,somedisadvantagesoftheGPUarchitecturearediscussed,and
somealternativeaccelerationtechnologiesarebriefllimitation
ofGPUsistherequirementforahighlevelofparallelismtobeinherenttothe
rmore,graphics
processingtypicallydoesnotrequirethesamelevelofaccuracyandprecisionas
scientificsimulation,andthisisreflectedinthefactthattypicallyGPUslack
botherrorcorrectionfunctionalityanddoubleprecisioncomputational
expectedtoimprovewithfutureGPUarchitectures.
DIA
TeslaC870usesupto170Wpeak,untofheatproducedwould
makeitdifficulttoclusterlargenumbersofGPUstogether.
d
significantperformancedegradationitisnecessarytoavoidconditionalsinside
ngnon-coalescedGlobalMemoryaccessesisverydifficultformany
applications,kofany
inter-blockcommunicationfunctionalitymeansthatitisnotpossibleforthreads
inablocktodeterminewhenthethreadsinanotherblockhavecompletedtheir
ansthatifresultsofcomputationfromotherblocksarerequired
thentheonlysolutionisforthekerneltoexitandanotherlaunch,guaranteeing
thatalloftheblockshavecompleted.
Finally,
bottleneckcanmeanthatunlesstheamountofprocessingthatisdoneontheGPU
isgreatenough,
areotheralternativeaccelerationtechnologiesavailable,someofwhicharebriefly
describedbelow.
ClearspeedOnealternativetoGPUsareprocessorsdesignedespeciallyforHPC
applications,roductsareusuallyquite
similartoGPUs,withafewmodificationsthatusuallymakethemmoresuitablefor
hesedifferencesisthatallinternalandexternalmemory
containsECC(ErrorCorrectionCode)todetectandcorrect‘softerrors’.‘Soft
errors’arerandomone-biterrorsthatarecausedbyexternalfactorssuchascosmic
raphicsmarketsucherrorsaretolerable,andsoGPUsdonotcontain
ECC,peed
productsalsohavemorecoresthanGPUs,buttheyrunataslowerclockspeedtoreduce
precisionisalsoavailable.
SpecialisedproductssuchasClearspeedprocessorshaveamuchsmallermarket
vesGPUsanumberofadvantages,suchaseconomiesofscale,
Gr
IntelLarrabeeAnotheralternativethatislikelytogeneratemuchinterestwhen
itisreleasedin2009-2010isIntel’llbeamany-core
hesignificantadvantageoverGPUs
ldalsosolveanumberof
otherproblemsthataffectGPUs,
willinitiallybeaimedatthegraphicsmarket,althoughspecialisedHPCproducts
kelythatitwillalsocontainECC
tominimise‘softerrors’.AMDisalsodevelopingasimilarproduct,currently
named‘AMDFusion’,howeverfewdetailshavebeenreleasedyet.
CellProcessorACellchipcontainsonePowerProcessorElement(PPE)andseveral
SynergisticProcessingElements(SPEs).ThePPEactsmainlytocontroltheSPEs,
someapplicationsGPUsoutperformCellProcessors,whileforotherstheopposite
istrue.
FPGAsFieldProgrammableGateArrays(FPGAs)areprogrammablesemiconductor
devicesthatarebasedaroundamatrixofconfigurablelogicblocksconnectedvia
sedtonormalmicroprocessors,wherethedesign
ofthedeviceisfixedbythemanufacturer,FPGAscanbeprogrammedtocomputethe
kesthemverypowerfuland
ndisadvantagesarethattheyareusuallyquitedifficultto
program,taintasksthey
arepopular,ltime-consumingalgorithmsinAstronomywhereonly4
bitprecisionisnecessaryareverysuitableforFPGAs,forexample.
2背景
2.1的GPU
GPU和CPU之间的主要区别是,虽然现代CPU包含了一些高功能的核心,图形芯片通常包含
100个或更多的基本核心。图形芯片还拥有更大的内存比CPU的总线宽度,导致更快的内存
存取。GPU时钟频率通常比CPU的低,但这种差距已经在过去几年关闭。
如渲染的应用程序是高度平行的性质,并能保持核心的繁忙,导致不易这么高的水平,并行
化标准应用使用较显着的性能改进,可用的性能,可以在何种程度上利用将取决于
投入软件开发,应用和投资的性质。
2.1.1建筑
本节介绍了建筑设计的GPU。NVIDIA的产品都集中在这里,但产品是从其他GPU厂商如ATI,
1说明了一个GPU的布局。由此可以看出,有许多处理核心(处理器)进
行计算,每个分组到多处理机。有11Figure:NVIDIAGPU芯片和存储器的建筑布局。转载
[2]的权限。几个级别的内存存取速度和范围方面的不同。寄存器的处理器范围;共享内存,
常量缓存和纹理缓存,多范围和内存可以在一个芯片上所有内核访问的设备(或全球)。请
注意GPU内存地址空间,从分开的CPU,必须在软件管理和设备之间的数据复制。通常情况
下,CPU将运行程序骨架,卸载一个或多个计算要求到GPU的代码段。因此,有效的GPU加
速应用程序。被称为CPU的主机和设备的GPU。在设备上运行的功能,被称为内核。
在GPU上,操作组合成块,这在网格排列依次是线程执行。每个块由一个单一的处理器执行,
但如果有足够的可用资源,几个块可以同时在一个处理器上。处理器时间片块,以提高性能,
一个块进行计算,而另一个正在等待内存读取,例如。可用内存的GPU的一些证物,但是通
过这个时间切片的方法,大大延迟,这个延迟可以隐藏适合的应用。
A组32个线程被称为经线,半warp和16个线程。GPU的线程的一半,扭曲时,执行相同
的操作,实现最佳的性能。这是因为在这种情况下,线程可以并行执行。条件可以的意思,
线程不执行相同的操作,因此,它们必须被序列化。说,这些线程是不同的。这也适用于全
球记忆体存取:如果半warp访问全局内存共同遵守一定的规则,有资格被接合的线程,然
后他们在并行访问内存和它只会为所有的单一访问时间半warp的线程访问内存。
全局内存位于显卡的GDDR3显存。这可能是
所有线程访问,虽然它通常比片上存储器慢。记忆
访问显着改善,如果被合并内存访问(见5.1.2.5编程指南[2]),因为这可以让一个半warp
的所有线程访问的memorysimultaneously。
共享内存只能由同一个块中的线程访问。因为它是片上,共享的内存空间是速度远远比本地
及全球的记忆imately共享内存16KB每个MP(多处理器),但允许每个MP
有几个街区一次活动(从而提高性能)最好是用尽可能少的共享尽可能每块记忆。超过16KB
少一点点,实际上是由于内部变量的存储。
共享内存由16个记忆库。共享内存分配时,每个
连续32位字被放在不同的内存银行。为了达到最大
内存性能,银行必须避免冲突(两个线程试图同时访问同一银行)。在银行冲突的情况下,
冲突的内存访问被序列化,否则每个半warp的内存访问nt记忆的做只读
存储器缓存。它位于在全局内存,但有是位于每个多处理器缓存。如果请求的内存高速缓存
中,然后访问共享内存快,但是如果它不是那么的访问将是一个全局内存访问相同。
纹理存储器是只读存储器,缓存和二维空间进行了优化
地方。这意味着,是访问[A][B]和[+1][B],发言权,将可能会得到更好的速度比[A][B]
和[54][B],而不是进行访问。纹理缓存是16KB,每个处理器。这是一个不同的16KB共享
内存,所以使用的纹理缓存,不减少可用的共享内存。
存在注册的内存和共享内存访问速度是类似。每个线程
在一个块已宣布它自己的寄存器变量的独立版本。有太大的变数,将放置在本地内存中,这
是在位于全局存储器。本地内存空间是没有缓存,所以它的访问是正常访问全局内存昂贵。
2.2的CUDA统一计算设备架构
CUDA是由NVIDIA公司开发的一种编程语言写CUDA技术的GPU上运行的程序,方便。这是
一个C扩展和使用nvcc编译器编译。最常用的扩展cudaMalloc*设备上的内存分配,
cudaMemcpy*复制的主机和设备之间的数据和设备上的不同地点之间,
内核名称<<<网格尺寸,块尺寸>>>(参数)
启动一个内核,threadIdx.x,blockIdx.x,blockDim.x,gridDim.x标识线,块,块尺寸,
网格在x方向上的尺寸。
的GPU的CUDA解决一些问题,影响发展方案,
以前需要太多的专业知识。CUDA是很简单的,因此它不会占用太多的时间,已经熟悉C开
始使用它的程序员。CUDA技术还拥有数量超过以往的GPU编程方法的其他好处。其中之一
是它允许线程访问GPU内存中的任何位置,读取和写入到尽可能多的内存位置。这些都是以
前相当限制的限制,并因此减轻他们代表CUDA显着的优势,。另一个主要的好处是允许访问
共享内存,这在以前是不可能的。
使采用尽可能简单的CUDA,NVIDIA已创建的CUDA[3]
其中包含与演习的书面教程以及在伊利诺伊大学任教的CUDA课程的课程笔记和视频的链
接。也可参考手册和编程指南[4]。
CUDA的SDK[5],包含了许多例子,可以用来测试GPU的安装和提供的源代码,演示CUDA
编程技术代码。所提供的代码是一个模板,哪些程序可以根据提供的基本结构。
CUDA的主要特点之一是提供一个线性代数库
(CUBLAS)和FFT库(CUFFT)。这些极大地缓解执行
在GPU上的许多科学规范。
2.3GPU的成就回顾
在本节中强调,最近的一些工作,涉及科学计算使用的GPU。
•在伊利诺伊大学厄巴纳-香槟分校的理论和计算生物物理组使用GPU来实现分子建模应
用之间的20和100倍的加速度。
蒙特卡罗应用程序和50倍的速度为三维拉普拉斯求解的了。[7]
拉普拉斯求解,实现在GPU上使用全球唯一和共享
内存。它使用一个统一的三维拉普拉斯离散化的Jacobi迭代
伦敦银行同业拆息蒙特卡洛代码使用的是原来的CPU代码非常相似。Ituses全局
和常量内存。
•许多其他英国的研究人员也在尝试与GPU。[8]NVIDIA已经向他们报告的应用程序展示。
也保持了使用GPU的研究人员名单。[10]
•RapidMind的达到了2.4倍的对于BLASGEMM的速度行动,为FFT的2.7倍,
布莱克-肖尔斯和32.2倍。
2.4GPU的缺点和替代加速技术
GPU架构的一些缺点,在本节进行了讨论,并简要介绍了一些替代的加速技术。GPU的关键
限制是固有的许多内核开发应用,使高层次的并行要求。此外,图形处理通常并不需要科学
模荒唐的近义词 拟的准确性和精度相同的水平,这是反映的事实,通常GPU的缺乏既纠错功能和双精度计
算功能往往是不可用或合并一个性能命中。这是预期的改善与未来的GPU架构。
另一种常见的批评是GPU的耗电量大。NVIDIA公司
特斯拉C870使用了170W的峰值,和120W的典型。产生的热量将很难GPU的数字集群大一
起。
GPU还放置比CPU程序员更大的约束。为了避免显着的性能退化,它是必要条件,以避免内
部内核。避免未合并的全局存储器访问是非常困难的,对于许多应用程序,这也严重降低性
能。任何块间的通信功能的缺乏意味着它是不能确定时,在另一个块的线程已经完成了他们
的计算块的线程。这意味着,如果需要从其他区块的计算结果,那么唯一的解决办法是为内
核退出,另一个发射,保证所有的块已完成。
最后,GPU的遭受大量的CPU-GPU的通信延迟。这一瓶颈可能意味着,除非在GPU上完成加
工量足够大,它可能会更快,只需在CPU上执行计算。有其他替代的加速技术,其中一些简
要介绍如下。
ClearSpeed的一个替代方案,以GPU的设计,特别是为HPC应用的处理器,如ClearSpeed
公司提供的,。这些产品通常是非常相似的GPU,与一些修改,通常使它们更适合HPC应用。
这些差异之一是,所有内部和外部存储器中包含ECC(纠错码)来检测和纠正“软错误”。“软
错误”是随机的单位,如宇宙射线是由外部因素造成的错误。在显卡市场,这样的错误是可
以容忍的,所以GPU的不包含的ECC,但HPC应用程序往往是可取或必要的。ClearSpeed的
产品也有更多的coresthan的GPU,但他们在一个较慢的时钟速度运行,以减少热量散失。
也可用双精度。
ClearSpeed的处理器,如专门的产品有一个图形处理器市场吴丹帽子小得多。这使得GPU
的优势一个数字,如规模经济,
GR
英特尔Larrabee的另一种选择是可能会产生很大的兴趣,当它被释放在2009-2010年是英
特尔的Larrabee处理器。这将是一个多核心矢量能力的x86处理器。它有过的GPU使得处
理器间的通信成为可能显着的优势。它也应该解决的其他问题影响GPU的CPUGPU的通讯延
迟,如数量。它最初的目的在显卡市场,虽然专门的HPC产品在此基础上,在未来可能发生
的。很可能,它也将包含ECC来减少“软错误”。AMD也正在开发类似的产品,目前名为“AMD
Fusion的,但是一些细节尚未被释放。
Cell处理器成为Cell芯片包含一个Power处理器单元(PPE)和几个
协同处理单元(SPES)。PPE的作用主要是控制在SPE,
做大部分的计算。Cell处理器是相当类似的GPU。对于某些应用的GPU超越Cell处理器,
而对于其他情况正好相反。
FPGA的现场可编程门阵列(FPGA)是基于连接通过围绕一个可配置逻辑块矩阵的可编程半
导体设备
可编程互连。其中的设计,而不是正常的微处理器,
设备制造商的固定,FPGA可以编程计算
给定的应用程序所需的精确算法。这使得他们非常强大,
多才多艺。的主要缺点是,它们通常是相当困难的方案,他们也慢,如果需要高精度。对于
某些任务,但他们是受欢迎的。是非常适合用于FPGA,例如一些费时的天文算法,其中只
有4位精度是必要的。
更多推荐
不可控的英文翻译英语怎么说
发布评论