您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 对大数据时代软件技术面临挑战的若干认识和思考28
对大数据时代软件技术面临挑战的若干认识和思考2013年10月26日-长沙梅宏(上海交通大学)高可信软件技术教育部重点实验室KeyLaboratoryofHighConfidenceSoftwareTechnologies(PKU),MinistryofEducation2013中国计算机大会•互联网及其延伸,催生了“大数据”时代报告内容•现行计算机软件技术面临的挑战•可能的变革和发展:若干认识与思考数据驱动的世界(Data-drivenWorld)--数据的有效、高效应用才是关键!数据的重要性毋庸置疑科学商务医疗娱乐股票交易数据通信数据业务运营数据…………MRI数据CT扫描数据电子病历…………MP4/MP3数据DVD9社交网络…………DNA数据勘探数据数据密集型科研…………PervasiveComputingInternetofThingsServiceComputingCloudComputingSocialComputingSystemofSystemsGridComputingasaComputerBigDataMobileInternetModernServiceSmarterPlanetInternetCultureSocialNetworkVirtualWorld技术方面:如何利用Internet为核心的多网融合,实现高性价比、高效能、高可信的信息化技术应用方面:如何利用以Internet为核心的信息化技术,实现成本控制、资产增值、业务创新InternetInternet正在演化为一台全球泛在计算机(globalubiquitouscomputer)互联网产业发展迅速,概念、热点频出互联网催生了“创新”时代asaComputerInternet云计算大数据移动互联网围绕数据中心提供计算、存储、网络、应用服务用户通过智能移动终端更加广泛地接入互联网海量、异构、实时数据存储、组织、分析和处理三者彼此交叠,相辅相成,呈现视角和关注点的不同当前“最热点”:大数据/云计算/移动互联网——本质上均是互联网计算及其延伸热点出现的背景和原因?技术能力的进步更快的网络带宽更广的网络接入更强的计算能力更小的计算设备更低的成本……应用需求的促进IT巨头的市场战略更方便、更便宜实时交易社交网络位置服务……对大数据的认识:一孔之见!•大数据科学?-科学:观察现象,发现规律-大数据是信息技术普适应用所带来“自然”现象和客观存在-就此而言,探索大数据中的规律属于科学!-数据科学•大数据技术?-技术:基于科学原理发明的用于管控或改造“被察对象”的手段和方法-大数据技术应是指以大数据为“对象”的技术,而非指采用基于数据的方法去解决问题-就其本质特性,大数据将不会是一个可完全“解决”的问题,只能是逐步“逼近”、缓解之。尚不存在有效的大数据技术!•大数据与计算技术-大数据问题源于互联网及其延伸所带来的无处不在的信息技术应用,以及信息技术的不断廉价化-解决大数据问题并有效、高效地应用基于数据的方法的关键仍然需依靠有效、高效的计算技术VarietyValueVelocityVolumeBIGDATA大数据与计算技术•一个直觉性共识:大数据带来了系列新挑战!面向大数据,需要多学科的交叉!–模型、方法与算法无疑非常重要!–然而,面对大数据,无论多好的模型和算法,人力/人脑均无能为力,必须依靠有效、高效的计算技术和工具。–现有的计算技术是否适用?•大数据计算的内涵及需求–涉及数据的获取和筛选、组织和存储、处理和应用等环节–可能需要传统计算模式及其计算系统演进方式的若干转变。例如:•以计算为中心的数据管理和处理模式的局限,难以有效应对“4V”问题•数据仅是计算设备的输入/输出,靠提速扩容适应数据增长•……•互联网及其延伸,催生了“大数据”时代报告内容•现行计算机软件技术面临的挑战•可能的变革和发展:若干认识与思考•软件技术发展主线:–向下:更高效地发挥硬件资源所提供的计算能力–向上:表达能力强、更符合人思维模式、易构造和演化的软件模型–面向应用:凝练并沉淀共性,提高应用软件开发运行的效率和质量–面向用户:更好地满足用户对易用性的需求计算机软件技术体系软件范型软件构造方法软件质量度量和评估软件运行支撑HOWtomeasureandevaluateWHATistobe编程语言为载体HOWtodo软件工程方法和工具HOWtorunOS+DBMS从软件工程师或程序员视角看到的软件模型及其构造原理,是软件技术体系的核心•编程模型及其语言面临新的问题!通常编程模型可分为3个层次:–低级模型及语言:直接面向硬件机体系结构,高级专业人员使用。机器通用,性能可控、可预测;编程难度大、效率低、错误多。–高级模型及语言:直接面向系统软件,软件工程师使用。通用,性能依赖于编程水平和编译器能力;领域适用性差,语言机制设计和实现难度大。–终端模型及编程:希望面对终端用户,领域业务人员使用。应用面窄、领域通用,可控性能参数少、简单易用;性能不可预测。•大数据应用的编程需求:–终端模型最为理想!然而,解决性能问题难度大,需要底层软硬件在结构上的支持以及高效的编译实现。•层次化的软件栈及其层间接口不利于极限利用某些系统资源–有利于控制软件系统的复杂性,也有利于跨平台移植。然而,难以根据多层信息极限优化利用资源。如:传统文件系统隔离了应用和底层存储,但仅可表示访问权限等,存储和访问方式与内容无关。大数据带来的软件技术挑战大数据带来的软件技术挑战•系统软件的可伸缩性(scalability)受到挑战,单靠提速扩容无法应对大数据处理的需求。大数据突破了线性期望。–例:从“scale-up”到“scale-out”•随着大数据应用的普遍,将会产生的问题:–超大量数据带来的巨大的高能量消耗–大量应用带来的高效、高质开发需求–……针对不同应用需求的两种思维模式和解决途径,并非固定通用模式大数据计算的主要瓶颈是外存数据•大数据计算的主要特点是涉及的数据量巨大,其核心问题是数据的管理和存取。应用\瓶颈计算单元速度/功耗内存带宽外存带宽LAN带宽WAN带宽大数据√√√云计算√√高性能√√√嵌入式√√12481632641280102030405060708090100BandwidthMB/sGranularity(BlockSizeinMBs)DiskRandomAccessesof4GBinTotal大数据在现有文件系统中访问性能随磁盘存储粒度变化;有3倍以上的区别。例1:数据存储方式对性能的影响大数据在现有文件系统中访问性能受到文件大小和存储方式的影响。例2:大文件存储的性能问题与优化在Linux系统中,访问超过4GB大小的文件(ext4)会造成访问效率急剧下降!通过调整数据在磁盘上的布局,把要访问的数据集中存放,可以提高数百倍的性能提高大数据应用的访问和计算性能需要系统软件特别是文件系统的改进!大数据应用对编程语言的挑战•编程语言的目标:让用户更好地基于现有的计算机硬件和系统软件,高效率地开发高质量的应用软件•如何能够在编程语言中充分体现大数据的特点?更好更快地开发大数据应用?–不仅要支持对应用类型有针对性的编程模型,如MapReduce等,也要支持通用的语言(C/C++等);–能够根据数据的结构化或半结构化特点进行分析、处理、以及类型检查;–能够根据数据内容,通过感知大数据系统结构特点来优化性能•I/O层次:区分文件系统的存储和访问方式•内存层次:区分异构系统的不同性质存储•处理器层次:区分不同性质的并行线程。大数据面临的能耗挑战•全球范围内的数据中心服务器和散热系统每年大概需要消耗30亿瓦的电能:这相当于20座核电站的发电量。(2012年纽约时报)–数据中心的能耗非常巨大,甚至比一座中型美国城市的耗电量还要高。•如何优化大数据应用的能耗?–选择适合的硬件和算法–智能的数据选择和取舍–特定的数据存储分布和计算调度(迁移)例3:绿色数据存储方法•GreenHDFS,UIUC/Yahoo!–把数据按照访问频率分为HotData和ColdData–ColdData占总数据的大约70%;–把Hot和Cold数据分开存放,可以降低Hadoop集群能耗的1/4。Kaushik,R.T.;Bhandarkar,M.;Nahrstedt,K.,EvaluationandAnalysisofGreenHDFS:ASelf-Adaptive,Energy-ConservingVariantoftheHadoopDistributedFileSystem,2010IEEESecondInternationalConferenceonCloudComputingTechnologyandScience(CloudCom),pp.274-287,2010降低大数据存储和处理系统的能耗需要系统软件和编程语言的支持!•互联网及其延伸,催生了“大数据”时代报告内容•现行计算机软件技术面临的挑战•可能的变革和发展:若干认识与思考可能的变革与发展:若干认识与思考一、流程的变化收集精选组织存储查询应用生成粗筛存储挖掘应用自动的、智能的数据预处理方法和技术及其置信度度量“生成”与“粗筛”基于置信度度量的预处理从传统面向查询的组织储存,转向:面向分析和挖掘的组织与存储“存储”面向查询=〉面向分析从集成、离线式的分析与挖掘,转向:大规模并行、实时的分析与挖掘“挖掘”与“应用”集成、离线=〉并行、实时可能的变革与发展:若干认识与思考二、以数据为中心的计算架构•围绕存储资源部署计算资源Oracle大数据一体机(BigDataAppliance)Oracle内存分析设备(ExalyticsIn-Memory)淘宝Oceanbase:动态适应弹性扩展•动态适应弹性扩展的存储资源可能的变革与发展:若干认识与思考三、数据模型与数据管理平台•是否有统一的数据模型,适合不同数据类型(包括结构化数据和非结构化数据)?•新型的通用数据管理系统或领域通用管理系统或专用管理系统?–互联网企业从“专用数据管理系统”起步(如:MapReduce+BigTable)–现在,传统数据库厂商、互联网企业从不同角度开始向“通用平台”努力可能的变革与发展:若干认识与思考三、数据模型与数据管理平台(例)可能的变革与发展:若干认识与思考四、大规模并行分析与挖掘•传统数据挖掘技术亦面临较大困难单点式挖掘依存度高实时性差•从集成、离线挖掘,转向:大规模并行、实时的数据分析与挖掘-难以应对数据的规模性及其储存的分布性-某些数据“天生”相互依存,难以并行处理-难以对快速变化数据集进行实时处理•一些可能关键数据的丢失一定会是灾难吗?•如何留下知识?可能的变革与发展:若干认识与思考五、数据预处理及过时数据的淘汰和丢弃决策知识信息数据可能的变革与发展:若干认识与思考六、大数据应用的开发方法•传统的应用开发方法面临很大挑战-如何在程序中高效地表示、处理大数据?-如何提高调试、维护大数据应用的效率?-如何面向不同数据应用需求,定制领域特定语言(DSL)?-……面向单机、计算为主的应用开发面向并行、数据为主的应用开发互联网时代的DIY计算:阶段性vs长期性?•计算机学科的诞生、发展和壮大源于:-早期的“专用”计算“通用”计算-基本途经:通用计算机上的“通用”软件平台•共性凝练+横向集成•互联网计算的“DIY”尝试-源于新的应用需求及通用核心技术门槛的降低•应用驱动的计算系统构建和定制•层间融合和垂直整合•是否有新一轮的螺旋回归?-通用技术之路:•面向不同领域需求的共性凝练-求交集•支持不同领域需求的“能力”的横向集成-求并集谢谢大家
本文标题:对大数据时代软件技术面临挑战的若干认识和思考28
链接地址:https://www.777doc.com/doc-29250 .html