DRPY: Pinpointing Inefficient Memory Usage in Multi-Layer Python']Python Applications

被引:0
|
作者
Cui, Jinku [1 ]
Zhao, Qidong [1 ]
Hao, Yueming [1 ]
Liu, Xu [1 ]
机构
[1] North Carolina State Univ, Raleigh, NC 27695 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Python has become an increasingly popular programming language, especially in the areas of data analytics and machine learning. Many modern Python packages employ a multi-layer design: the Python layer manages various packages and expresses high-level algorithms; the native layer is written in C/C++/Fortran/CUDA for efficient computation. Typically, each layer manages its own computation and memory and exposes APIs for cross-layer interactions. Without holistic optimization, performance inefficiencies can exist at the boundary between layers. In this paper, we develop DRPY, a novel profiler that pinpoints such memory inefficiencies across layers in Python applications. Unlike existing tools, DRPY takes a hybrid and fine-grained approach to track memory objects and their usage in both Python and native layers. DRPY correlates the behavior of memory objects across layers and builds an object flow graph to pinpoint memory inefficiencies. In addition, DRPY captures rich information associated with object flow graphs, such as call paths and source code attribution to guide intuitive code optimization. Guided by DRPY, we are able to optimize many Python applications with non-trivial performance improvement. Many optimization patches have been validated by application developers and committed to application repositories.
引用
收藏
页码:245 / 257
页数:13
相关论文
共 50 条
  • [1] Python']Python code for modeling multi-layer structures with controlled cracking and delamination
    Kowol, Philipp
    Bargmann, Swantje
    Wilmers, Jana
    SOFTWARE IMPACTS, 2023, 17
  • [2] MultiPaths: a Python']Python framework for analyzing multi-layer biological networks using diffusion algorithms
    Marin-Llao, Josep
    Mubeen, Sarah
    Perera-Lluna, Alexandre
    Hofmann-Apitius, Martin
    Picart-Armada, Sergio
    Domingo-Fernandez, Daniel
    BIOINFORMATICS, 2021, 37 (01) : 137 - 139
  • [3] Network Automation Python']Python-based Application: The performance of a Multi-Layer Cloud Based Solution
    Al-Mekhlal, Monerah
    AlYahya, Abdulrahman
    Aldhamin, Abdullah
    Khan, Azmath
    2022 IEEE INTERNATIONAL CONFERENCE ON OMNI-LAYER INTELLIGENT SYSTEMS (IEEE COINS 2022), 2022, : 165 - 172
  • [4] A memory footprint optimization framework for Python']Python applications targeting edge devices
    Katsaragakis, Manolis
    Papadopoulos, Lazaros
    Konijnenburg, Mario
    Catthoor, Francky
    Soudris, Dimitrios
    JOURNAL OF SYSTEMS ARCHITECTURE, 2023, 142
  • [5] MultilayerPy (v1.0): a Python']Python-based framework for building, running and optimising kinetic multi-layer models of aerosols and films
    Milsom, Adam
    Lees, Amy
    Squires, Adam M.
    Pfrang, Christian
    GEOSCIENTIFIC MODEL DEVELOPMENT, 2022, 15 (18) : 7139 - 7151
  • [6] Multi-Layer In-Memory Processing
    Fujiki, Daichi
    Khadem, Alireza
    Mahlke, Scott
    Das, Reetuparna
    2022 55TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2022, : 920 - 936
  • [7] Multi-layer stackable polymer memory devices
    Kwan, Wei Lek
    Tseng, Ricky J.
    Yang, Yang
    PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY A-MATHEMATICAL PHYSICAL AND ENGINEERING SCIENCES, 2009, 367 (1905): : 4159 - 4167
  • [8] CFD Simulations of Reactive Multi-Layer Usage in Joining Processes
    Yuile, A.
    Wiese, S.
    2020 21ST INTERNATIONAL CONFERENCE ON THERMAL, MECHANICAL AND MULTI-PHYSICS SIMULATION AND EXPERIMENTS IN MICROELECTRONICS AND MICROSYSTEMS (EUROSIME), 2020,
  • [9] Multi-Layer Piezoelectret Hydrophone for Ultrasonic Applications
    Medeiros, L. J.
    Basso, H. C.
    Altafim, R. A. C.
    Kamimura, H. A. S.
    Carneiro, A. A. O.
    Altafim, R. A. P.
    2012 IEEE INTERNATIONAL ULTRASONICS SYMPOSIUM (IUS), 2012,
  • [10] ProfileDroid: Multi-layer Profiling of Android Applications
    Wei, Xuetao
    Gomez, Lorenzo
    Neamtiu, Iulian
    Faloutsos, Michalis
    MOBICOM 12: PROCEEDINGS OF THE 18TH ANNUAL INTERNATIONAL CONFERENCE ON MOBILE COMPUTING AND NETWORKING, 2012, : 137 - 148