相比传统算法分析,大数据算法分析尤其重要。因为在大数据上进行实验所需要的成本相对“小数据”大得多,因而完成算法计算所需的资源(时间和空间)或者某种性质(如精度)难以通过实验来得到,而必须通过理论分析来求得。
当设计完一个大数据算法后,可以通过算法分析来求得所需资源(例如时间、空间或磁盘I/O)或某种性质(例如算法得到的解和精确解比例)与输入规模之间的关系,这样就可以基于算法在小规模数据上的实验结果来推演出算法在大规模数据上需要的计算资源或者某种性质所能够达到的程度,从而判定算法是否可行。对于大数据算法,主要分析如下因素:
1、时间和空间复杂度:和传统算法分析类似,大数据算法同样需要进行时间和空间复杂度分析。
2、I/O复杂度:有些情况下,大数据无法完全放入内存,必须设计外存算法,这时候需要分析磁盘I/O复杂度,即在算法运行过程中读写磁盘次数。
3、结果质量:由于大数据上的一些计算问题有时在给定的资源约束内无法精确完成,需要退而求其次,设计近似算法,在这种情况下需要分析计算结果的质量和近似比,即最优解和近似解之间的比例;对于在线算法,有时候需要分析竞争比(competitive ratio),即根据当前数据得到解的代价和知道所有数据的情况下得到解的代价相差多少。在后面章节中我们将会看到,在很多情况下,结果质量的分析往往要比结果效率的分析更复杂。
4、通信复杂度:当设计并行算法的时候,涉及多台机器,这些机器之间需要通信,这时需要知道算法运行过程中所需通信量的大小,也就是通信复杂度。
从上述介绍可以看出,大数据算法分析的内容比传统算法要丰富,也涉及更多的算法分析技术。
材料内容分享和下载链接:
相关下载:
海量地震数据处理HPC解决方案
中国高性能计算挑战与进展
高性能深度学习计算框架
超级计算机研究报告
阿里云弹性高性能计算
中国高性能计算挑战与进展
高性能深度学习计算框架
超级计算机研究报告
深度报告:GPU研究框架
基于CPU/GPU异构量子高性能计算
免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言联系删除,谢谢。
电子书<服务器基础知识全解(终极版)>更新完毕,知识点深度讲解,提供182页完整版下载。
获取方式:点击“阅读原文”即可查看PPT可编辑版本和PDF阅读版本详情。
温馨提示:
请搜索“AI_Architect”或“扫码”关注公众号实时掌握深度技术分享,点击“阅读原文”获取更多原创技术干货。