High-Productivity Stream Programming For High-Performance Sy

时间:2025-04-03

Applications that are structured around some notion of a “stream ” are increasingly prevalent to common computing practices, and there is evidence that streaming media applications already consume a substantial fraction of the computation cycles on consu

High-ProductivityStreamProgrammingFor

High-PerformanceSystems

RodricRabbah,BillThies,MichaelGordon,JanisSermulins,andSamanAmarasinghe

ComputerScienceandArti cialIntelligenceLaboratory

MassachusettsInstituteofTechnology

{rabbah,thies,mgordon,janiss,saman}@csail.mit.edu

Applicationsthatarestructuredaroundsomenotionofa“stream”areincreasinglyprevalenttocommoncomputingpractices,andthereisevidencethatstreamingmediaapplicationsalreadyconsumeasubstantialfractionofthecom-putationcyclesonconsumermachines[6].Furthermore,streamprocessing—ofvoiceandvideodata—iscentraltoaplethoraofembeddedsystems,includinghand-heldcomputers,cellphones,andDSPs.Thestreamabstractionisalsofundamentaltohigh-performancesystemssuchasintelligentsoftwarerouters,cellphonebasestations,andHDTVeditingconsoles.

Despitetheprevalenceoftheseapplications,thereissurprisinglylittlelanguageandcompilersupportforpractical,large-scalestreamprogramming.Ofcourse,thenotionofastreamasaprogrammingabstractionwasestablisheddecadesago[1],andanumberofspecial-purposestreamlanguagesexisttoday(see[8]forareview).Manyoftheselanguagesandrepresentationsareelegantandtheoreticallysound,buttheyareoftentooin exibletosupportstraightforwarddevelopmentofmodernstreamapplications,ortheirimplementationsaretooinef cienttouseinpractice.Consequently,mostprogrammersresorttogeneral-purposelanguagessuchasCorC++toimplementstreamprograms.Yetthereareseveralreasonswhygeneral-purposelanguagesareinadequateforstreamprogramming.Mostnotably,theydonotprovideanaturalorintuitiverepresentationofstreams,therebyreducingreadability,robustness,andprogrammerproductivity.Moreover,becausethewidespreadparallelismandregularcommunicationpatternsofdatastreamsareleftimplicitingeneral-purposelanguages,compilersarenotstream-consciousanddonotperformstream-speci coptimizations.Asaresult,performance-criticalloopsareoftenhand-codedinalow-levelassemblylanguageandmustbere-implementedforeachtargetarchitecture.Thispracticeislabor-intensive,error-prone,andverycostly.

TheStreamItlanguageandcompilereffortatMITisgearedtowardboostingprogrammer-productivitywhilecon-comitantlydeliveringhigh-performanceforawidearrayofcomputingtargets.TheStreamItlanguagefeaturesseveralnoveltiesthatareessentialforlargescaleprogramdevelopment:thelanguageismodular,parameterizable,malleableandarchitectureindependent.Inaddition,thelanguageexposesthewidespreadparallelismandcommunicationpat-ternsthatareinherentinmanystreamingprograms,andasaresult,thecompilercanapplyaggressiveoptimizationsthatareinfeasibletoperformwhenusingconventionallanguages.TheStreamItcompilercandeliverhighperfor-mancecodes—withspeedupsrangingupto4.5×—forawidearrayofcomputingtargets,includingembeddedanddesktopuniprocessors(e.g.,StrongARM,IA32,andIA64),tiledandmulticorearchitectures(e.g.,Raw[11]),orgridcomputingsystems(e.g.,aclusterofworkstationsinterconnectedbyahigh-speedlocalareanetwork).

Ourcompilationinfrastructureautomatesseveraldomain-speci coptimizationsthatarewellknownintheDSPdo-main.Inaddition,thecompilerincludesoptimizationsforcomputationreordering,loadbalancing,layout,androuting;allofwhicharesigni cantlyimportantinhigh-performanceparallelanddistributedcomputingsystems.Thecompilercanalsoapplyaseriesofcache-wareoptimizationstoimprovetheperformanceofthememorysystemandamelioratetheeffectsofthe“memorywall”.Furthermore,wehavedevelopedagraphicalintegrateddevelopmentenvironment[4]thatprovidesanelaboratedebuggingframeworktointerpretandvisuallyrepresentstreamingcomputation,includingthe owofinformationinparallelanddistributedstreamingprograms.

WebelieveStreamItmakesagreatstridetowarddeliveringthepromiseofMoore’sLawtotheend-user.TheStreamItlanguage,compiler,anddevelopmentenvironmentempowersoftwareengineersandapplicationdeveloperstoproductivelyprogramstreamingsysteminwhatistodaythenear-exclusivedomainofexperts.

…… 此处隐藏:2051字,全部文档内容请下载后查看。喜欢就下载吧 ……
High-Productivity Stream Programming For High-Performance Sy.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219