返回
Accelerating Python Code with Parallel I/O
DOI:10.1007/978-3-032-02088-8_28.png)
摘要
En 中文
Python是主导的数据科学语言,领先于C++、Java和R等其他语言。Python库封装了经过高度优化的、高效的、精确的C++和C代码,用于线性代数、数值方法和数据操作。此外,Python运行时在多种操作系统(Linux、Windows)和CPU架构(包括x86和ARM)上无缝工作。从加速器角度看,Python代码在多核CPU和GPU上处理,但其能力并未完全利用。本文研究了如何改进Python I/O瓶颈。我们专注于数据集摘要以在大数据集上计算模型,该数据集存储在CSV文件中(实践中最常用的格式)。考虑到这些挑战,我们引入两种简单但基本的I/O优化:并行多线程读取和基于分块的扫描(类似于DBMS中读取文件块)。在不同云服务器上的实验验证提供了现实场景。我们展示我们的优化Python代码比现有的Python函数运行更快,它随着使用的线程数量增加而几乎线性地提升I/O速度(直至一定限度),但仍能利用并行处理进行CPU密集型的浮点计算。为总结本研究,我们论证分块大小是一个关键性能参数,它取决于数据集大小以及云服务器配置。
Keyword:
Python
I/O optimization
parallel processing
data science
chunk-based scan

