Tags:Distributed Shared Memory, Field Programmable Gate Array and heterogeneous distributed system
Abstract:
To meet the growing needs of computing power and the energy consumption constraints, computer systems are increasingly heterogeneous. These systems are more complex to program, especially for applications with irregular memory access patterns. This paper presents a data management model targeting heterogeneous distributed systems integrating reconfigurable accelerators. The purpose of this model is to reduce the complexity of developing applications with multidimensional sparse data structures. It relies on shared memory paradigm, which is convenient for parallel programming of irregular applications. The distributed data, sliced in chunks, are managed by a Software-Distributed Shared Memory (S-DSM). The integration of re- configurable accelerators in this S-DSM, by breaking the master-slave model, allows devices to initiate access to chunks. We use chunk partitioning of multidimensional sparse data structures, such as sparse matrices and unstructured meshes, to access them as a continuous data stream. This model enables to regularize memory accesses of irregular applications, to avoid the transfer of unnecessary data by providing fine-grained data access, and to efficiently hide data access latencies by implicitly overlaying the transferred data flow with the processed data flow. We have used two case studies to validate the proposed data management model: General Sparse Matrix-Matrix Multiplication (SpGEMM) and Shallow Water Equations (SWE). The results obtained show that the proposed model efficiently hides the data access latencies by reaching computation speeds close to those of an ideal case (i.e. without latency).
Data Management Model to Program Irregular Compute Kernels on FPGA: Application to Heterogeneous Distributed System