arrow
Return

Accelerating Python Code with Parallel I/O

delete2026-01-01
delete0
PRE
AI
R
Robin Varghese
H
Hashirul Quadir
L
Ladjel Bellatreche
C
Carlos Ordońẽz *
DOI:10.1007/978-3-032-02088-8_28delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Python is the dominating data science language, leaving behind other languages like C++, Java and R. Python libraries wrap highly tuned, efficient, accurate C++ and C code for linear algebra, numerical methods and data manipulation. Moreover, the Python runtime works flawlessly across diverse operating systems (Linux, Windows) and CPU architectures, including x86 and ARM. From an accelerator perspective, Python code is processed on multi-core CPUs and GPUs, whose power is not fully exploited. In this paper, we study how to improve Python I/O bottlenecks. We focus on data set summarization to compute a model on a large data set, stored on a CSV file (the most common format used in practice). Heeding these challenges, we introduce two simple, but fundamental, I/O optimizations: parallel multi-threaded read and chunk-based scan (similar to reading file blocks in a DBMS). An experimental validation on different cloud servers, provides a realistic scenario. We show our optimized Python code can work faster than existing Python functions, it exhibits almost linear speed up I/O as more threads are used (up to a limit), but it can still leverage parallel processing for the CPU-intensive floating point computations. To round up our study, we justify chunk size is a critical performance parameter that depends on data set size as well as cloud server configuration.
Keywords:
Python
I/O optimization
parallel processing
data science
chunk-based scan

Journal

D
DATABASE AND EXPERT SYSTEMS APPLICATIONS, DEXA 2025, PT II
IF:
0
Papers:
27
Citations:
0

Organization

U
University of Houston
Scholars:
1.2K
Papers: 676
Citations: 1.7W
U
University of Houston System
Scholars:
792
Papers: 415
Citations: 23
Cited Papers

Cited Papers

err
IF0
err
err0
PREAI
err
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
Practical Machine Learning with Python
err
IF0
err2018-01-01
err0
errOAAI
errDipanjan Sarkar; Raghav Bali; Tushar Sharma
errShare
errSave
errShare
errSave
The Elements of Statistical Learning
err2001-01-01
err0
PREAI
errTrevor Hastie; Jerome Friedman; Robert Tibshirani
errShare
errSave