数据流编程语言简化了相关领域的编程,很好地把任务计算和数据通信分开,从而使应用程序分别在任务级和数据级均具有可并行性。针对GPU/CPU混合架构中存在的大量数据并行、任务并行和流水线并行等问题,提出并实现了面向GPU/CPU混合架构...数据流编程语言简化了相关领域的编程,很好地把任务计算和数据通信分开,从而使应用程序分别在任务级和数据级均具有可并行性。针对GPU/CPU混合架构中存在的大量数据并行、任务并行和流水线并行等问题,提出并实现了面向GPU/CPU混合架构的数据流程序任务划分方法和多粒度调度策略,包括任务的分类处理、GPU端任务的水平分裂和CPU端离散任务的均衡化,构造了软件流水调度,经过编译优化生成OpenCL的目标代码。任务的分类处理根据数据流程序各个任务的计算特点和任务间的通信量大小,将各任务分配到合适的计算平台上;GPU端任务的水平分裂利用GPU端任务的并行性将其均衡分裂到各个GPU,以避免GPU间高额的通信开销影响程序整体的执行性能;CPU端离散任务的均衡化通过选择合适CPU核,将CPU端各任务均衡分配给各CPU核,以保证负载均衡并提高各CPU核的利用率。实验以多块NVIDIA Tesla C2050、多核CPU为混合架构平台,选取多媒体领域典型的算法作为测试程序,实验结果表明了划分方法和调度策略的有效性。展开更多
浮动车数据(floating car data, FCD)技术是大规模城市路网交通流实时采集的有效方法.城市交通的动态诱导和控制需要对海量FCD进行快速处理.鉴于此,提出了FCD并行计算的动态任务调度方法.针对FCD数据包计算时间的不确定性和动态性,根据...浮动车数据(floating car data, FCD)技术是大规模城市路网交通流实时采集的有效方法.城市交通的动态诱导和控制需要对海量FCD进行快速处理.鉴于此,提出了FCD并行计算的动态任务调度方法.针对FCD数据包计算时间的不确定性和动态性,根据计算节点的处理能力进行数据包的动态分割,在处理过程中,采用动态任务分配策略以实现计算节点的同步.该方法在龙芯国产大数据一体机平台上进行了实现,并采用现场FCD数据进行了实验验证,结果表明,该方法较轮询和Min-Min调度算法,显著地提高了并行处理的性能.展开更多
文摘数据流编程语言简化了相关领域的编程,很好地把任务计算和数据通信分开,从而使应用程序分别在任务级和数据级均具有可并行性。针对GPU/CPU混合架构中存在的大量数据并行、任务并行和流水线并行等问题,提出并实现了面向GPU/CPU混合架构的数据流程序任务划分方法和多粒度调度策略,包括任务的分类处理、GPU端任务的水平分裂和CPU端离散任务的均衡化,构造了软件流水调度,经过编译优化生成OpenCL的目标代码。任务的分类处理根据数据流程序各个任务的计算特点和任务间的通信量大小,将各任务分配到合适的计算平台上;GPU端任务的水平分裂利用GPU端任务的并行性将其均衡分裂到各个GPU,以避免GPU间高额的通信开销影响程序整体的执行性能;CPU端离散任务的均衡化通过选择合适CPU核,将CPU端各任务均衡分配给各CPU核,以保证负载均衡并提高各CPU核的利用率。实验以多块NVIDIA Tesla C2050、多核CPU为混合架构平台,选取多媒体领域典型的算法作为测试程序,实验结果表明了划分方法和调度策略的有效性。
文摘浮动车数据(floating car data, FCD)技术是大规模城市路网交通流实时采集的有效方法.城市交通的动态诱导和控制需要对海量FCD进行快速处理.鉴于此,提出了FCD并行计算的动态任务调度方法.针对FCD数据包计算时间的不确定性和动态性,根据计算节点的处理能力进行数据包的动态分割,在处理过程中,采用动态任务分配策略以实现计算节点的同步.该方法在龙芯国产大数据一体机平台上进行了实现,并采用现场FCD数据进行了实验验证,结果表明,该方法较轮询和Min-Min调度算法,显著地提高了并行处理的性能.