Hamidreza Khaleghzadeh

Dr. Hamidreza Khaleghzadeh

orcid

Research Focus & Metrics

Academic Career Length

16Years (2011-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
28 September 2020 in IEEE Transactions on Parallel and Distributed Systems
Verified
Journal Article
Closed access
HKHamidreza Khaleghzadeh
Hamidreza Khaleghzadeh
MAMuhammad Fahad Azeemi
Muhammad Fahad Azeemi
Arsalan ShahidArsalan Shahid
Arsalan Shahid
RMRAVI REDDY MANUMACHU
RAVI REDDY MANUMACHU
ALAlexey Lastovetsky
Alexey Lastovetsky
Performance and energy are the two most important objectives for optimization on modern parallel platforms. In this article, we show that moving from single-objective optimization for performance or energy to their bi-objective optimization on heterogeneous processors results in a tremendous increase in the number of optimal solutions (workload distributions) even for the simple case of linear performance and energy profiles. We then study full performance and energy profiles of two real-life data-parallel applications and find that they exhibit shapes that are non-linear and complex enough to prevent good approximation of them as analytical functions for input to exact algorithms or optimization software for determining the Pareto front. We, therefore, propose a solution method solving the bi-objective optimization problem on heterogeneous processors. The method's novel component is an efficient and exact global optimization algorithm that takes as an input performance and energy profiles as arbitrary discrete functions of workload size, which accurately and realistically take into account resource contention and NUMA inherent in modern parallel platforms, and returns the Pareto-optimal solutions (generally speaking, load imbalanced). To construct the input discrete energy functions, the method employs a methodology that accurately models the energy consumption by a hybrid data-parallel application executing on a heterogeneous HPC platform containing different computing devices using system-level power measurements provided by power meters. We experimentally analyse the proposed solution method using three data-parallel applications, matrix multiplication, 2D fast Fourier transform (2D-FFT), and gene sequencing, on two connected heterogeneous servers consisting of multicore CPUs, GPUs, and Intel Xeon Phi. We show that it determines a superior Pareto front containing the best load balanced solutions and all the load imbalanced solutions that are ignored by load balancing methods.

16 April 2018 in IEEE Transactions on Parallel and Distributed Systems
Verified
Journal Article
Closed access
HKHamidreza Khaleghzadeh
Hamidreza Khaleghzadeh
RMRAVI REDDY MANUMACHU
RAVI REDDY MANUMACHU
ALAlexey Lastovetsky
Alexey Lastovetsky
Modern HPC platforms have become highly heterogeneous owing to tight integration of multicore CPUs and accelerators (such as Graphics Processing Units, Intel Xeon Phis, or Field-Programmable Gate Arrays) empowering them to maximize the dominant objectives of performance and energy efficiency. Due to this inherent characteristic, processing elements contend for shared on-chip resources such as Last Level Cache (LLC), interconnect, etc. and shared nodal resources such as DRAM, PCI-E links, etc. This has resulted in severe resource contention and Non-Uniform Memory Access (NUMA) that have posed serious challenges to model and algorithm developers. Moreover, the accelerators feature limited main memory compared to the multicore CPU host and are connected to it via limited bandwidth PCI-E links thereby requiring support for efficient out-of-card execution.

16 December 2019 in IEEE Access
Verified
Journal Article
Open access
HKHamidreza Khaleghzadeh
Hamidreza Khaleghzadeh
RMRAVI REDDY MANUMACHU
RAVI REDDY MANUMACHU
ALAlexey Lastovetsky
Alexey Lastovetsky
Modern HPC platforms are highly heterogeneous with tight integration of multicore CPUs and accelerators (such as Graphics Processing Units, Intel Xeon Phis, or Field-Programmable Gate Arrays) empowering them to address the twin critical concerns of performance and energy efficiency. Due to this inherent characteristic, processing elements contend for shared on-chip resources such as Last Level Cache (LLC), interconnect, etc. and shared nodal resources such as DRAM, PCI-E links, etc., resulting in complexities such as resource contention, non-uniform memory access (NUMA), and accelerator-specific limitations such as limited main memory thereby necessitating support for efficient out-of-card execution. Due to these complexities, the performance profiles of data-parallel applications executing on these platforms are not smooth and deviate significantly from the shapes that allowed state-of-the-art load-balancing algorithms to find optimal solutions. In this paper, we propose a hierarchical two-level data partitioning algorithm minimizing the parallel execution time of data-parallel applications on clusters of h identical nodes where each node has c heterogeneous processors. This algorithm takes as input c discrete speed functions of cardinality m corresponding to the c heterogeneous processors. It does not make any assumptions about the shapes of these functions. Unlike load balancing algorithms, optimal solutions found by the algorithm may not load-balance an application in terms of execution time. The proposed algorithm has low time complexity of O(m2×h+m3×c3) unlike the state-of-the-art algorithm solving the same problem with the complexity of O(m3×c3×h3). We also propose an extension of the algorithm for clusters of h non-identical nodes where each node has c heterogeneous processors. We experimentally demonstrate the optimality of our algorithm using two well-known and highly optimized multi-threaded data-parallel applications, matrix-matrix multiplication and 2D fast Fourier transform, on a heterogeneous multi-accelerator NUMA node containing an Intel multicore Haswell CPU, an Nvidia K40c GPU, and an Intel Xeon Phi co-processor and a simulated homogeneous cluster of such nodes.

13 September 2017 in The Journal of Supercomputing
Verified
Journal Article
Closed access
PDF file
HKHamidreza Khaleghzadeh
Hamidreza Khaleghzadeh
ZZZiming Zhong
Ziming Zhong
RRRavi Reddy
Ravi Reddy
ALAlexey Lastovetsky
Alexey Lastovetsky

2 September 2022 in Concurrency and Computation: Practice and Experience
Verified
Journal Article
Open access
HKHamidreza Khaleghzadeh
Hamidreza Khaleghzadeh
RMRAVI REDDY MANUMACHU
RAVI REDDY MANUMACHU
ALAlexey Lastovetsky
Alexey Lastovetsky
Performance and energy are the two most important objectives for optimization on heterogeneous high performance computing platforms. This work studies a mathematical problem motivated by the bi‐objective optimization of data‐parallel applications on such platforms for performance and energy. First, we formulate the problem and present an exact algorithm of polynomial complexity solving the problem where all the application profiles of objective type one are continuous and strictly increasing, and all the application profiles of objective type two are linear increasing. We then apply the algorithm to develop solutions for two related optimization problems of parallel applications on heterogeneous hybrid platforms, one for performance and dynamic energy and the other for performance and total energy. Our proposed solution methods are then employed to solve the two bi‐objective optimization problems for two data‐parallel applications, matrix multiplication and gene sequencing, on a hybrid platform employing five heterogeneous processors, namely, two different Intel multicore CPUs, an Nvidia K40c GPU, an Nvidia P100 PCIe GPU, and an Intel Xeon Phi.

31 October 2017 in The Journal of Supercomputing
Verified
Journal Article
Closed access
PDF file
HKHamidreza Khaleghzadeh
Hamidreza Khaleghzadeh
HDHossein Deldari
Hossein Deldari
RMRAVI REDDY MANUMACHU
RAVI REDDY MANUMACHU
ALAlexey Lastovetsky
Alexey Lastovetsky