基于Linux的多核并行可伸缩函数式编程研究  

Research on Multi Core Parallel Scalable Functional Programming Based on Linux

在线阅读下载全文

作  者:仇宾[1] 崔素丽[1] 孙曼曼[1] 田亮[2] QIU Bin;CUI Su-li;SUN Man-man;TIAN Liang(Nationalities School,Hebei Normal University Shijiazhuang Hebei 050000,China;College of Computer and Cyber Security,Hebei Normal University,Shijiazhuang Hebei 050024,China)

机构地区:[1]河北师范大学附属民族学院,河北石家庄050000 [2]河北师范大学计算机与网络空间安全学院,河北石家庄050024

出  处:《计算机仿真》2022年第4期223-226,432,共5页Computer Simulation

基  金:2020年河北省教育厅教改项目(2020GJXGK012);2021年河北师范大学科技类科研基金项目(L2021B39)。

摘  要:现有编程模型在面向多核并行计算时,通常表现出线程安全和数据同步控制困难,以及通用性差等问题。在函数可以摆脱状态信息的特点基础上,提出基于Linux平台的多核并行可伸缩函数式编程模型。利用函数的复合和嵌套来描述应用程序任务,完成编程过程中的数据传递和问题拆分,考虑到语法解析与编译过程对模型构建的约束,采用运行时构建动态树,并将动态树的并行处理转化为求解NP问题,根据动态树节点特征进行任务排序。动态树的NP问题又可进一步转化为对资源的访问,设计乘法级数增长的任务窃取策略,充分考虑窃取目标和规模以及窃取时机。最后为保证Linux平台应用涉及的数据和通信完整性和安全性,设计了一种64bits定长哈希并行计算,并验证了上述算法的分布随机性与均匀性。基于Linux平台对所设计的编程模型进行性能测试,实验结果证明函数式编程模型能够显著降低应用程序的执行时间,在提高多核利用率的情况下,显著提升多核并行编程的可伸缩性。When the existing programming model is facing multi-core parallel computing, it usually shows the problems of thread security, data synchronization control and poor universality. Therefore, based on the feature that functions can get rid of state information, a multi-core parallel scalable functional programming model based on the Linux platform is proposed. Using function composition and nesting to describe application tasks, data transfer and problem splitting in the process of programming were completed. Considering the constraints of syntax analysis and compilation on model construction, a dynamic tree was constructed at runtime, and the parallel processing of the dynamic tree was transformed into the NP problem. The tasks were sorted according to the characteristics of dynamic tree nodes. The NP problem of the dynamic tree can be further transformed into resource access. The task stealing strategy of multiplication series growth was designed, and the target and scale of stealing and the timing of stealing were fully considered. Finally, in order to ensure the integrity and security of data and communication involved in the application of the Linux platform, a 64-bit fixed-length hash parallel computing was designed, and the randomness and uniformity of the algorithm were verified. The performance test of the programming model was carried out based on the Linux platform. The experimental results show that the functional programming model can significantly reduce the execution time of the application, and significantly improve the scalability of multi-core parallel programming while improving the utilization of multi-core.

关 键 词:多核并行 函数式编程 任务窃取 可伸缩性 

分 类 号:TP391[自动化与计算机技术—计算机应用技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象