Partitioned Global Address Space (PGAS), a parallel programming model that uses a globally shared memory and one-sided communication, has shown promising potential for High-Performance Computing (HPC) applications. At the same time, the HPC community has started to adopt FPGA as an alternative computing framework to the conventional CPU and GPU. However, the exploration of using PGAS along with FPGAs is in a preliminary stage, unlike the message passing model. This work proposes FSHMEM, a software/hardware framework that brings the PGAS programming model to FPGAs. We implement GASNet, a middleware that enables the PGAS programming model, on hardware to provide native PGAS integration on FPGA and the software interface with high compatibility to legacy PGAS programs. Our communication benchmark shows that FSHMEM outperforms prior works by 9.5× by attaining a peak bandwidth of 3813 MB/s, which is 95% of the theoretical maximum. Moreover, the remote write and read operation in FSHMEM has a low latency with an average of 0.35 μs and 0.59 μs, respectively. Lastly, we conducted a case study on two FSHMEM devices implemented on Intel D5005 PACs that contain Intel Deep Learning Accelerator (DLA). This system shows an excellent scalability potential by achieving 1.94× and 1.98× performance gain for parallel matrix-matrix multiplication and convolution, respectively.
글로벌 공유 메모리와 단측 통신을 사용하는 Partitioned Global Address Space (PGAS)은 High-Performance Computing (HPC) 애플리케이션에서 유망한 잠재력을 보여주었다. 동시에, HPC 커뮤니티는 기존의 CPU 와 GPU에 대한 대체 컴퓨팅 프레임워크로 FPGA를 채택하기 시작했다. 그러나 FPGA와 함께 PGAS를 사용하는 탐사는 메시지 전달 모델과 달리 예비 단계에 있다. 본 연구는 PGAS 프로그래밍 모델을 FPGA 에 제공하는 소프트웨어/하드웨어 프레임워크인 FSHMEM을 제안한다. 우리는 PGAS 프로그래밍 모델을 가능하게 하는 미들웨어인 GASNet을 하드웨어에 구현하여 FPGA 및 레거시 PGAS 프로그램과 높은 호 환성을 가진 소프트웨어 인터페이스에 기본 PGAS 통합을 제공한다. 우리의 통신 벤치마크는 FSHMEM이 이론적 최대치의 95%인 3813 MB/s의 피크 대역폭을 달성하여 이전 작업을 9.5× 능가한다는 것을 보여준다. 또한, FSHMEM의 원격 쓰기 및 읽기 작업은 각각 평균 0.35 와 0.59 로 대기 시간이 짧다. 마지막으로, 우리는 Intel Deep Learning Accelerator(DLA)을 포함하는 Intel D5005 PAC에 구현된 두 개의 FSHMEM 장치에 대한 사례 연구를 수행했다. 이 시스템은 병렬 행렬-행렬 곱셈과 컨볼루션에서 각각 1.94× 및 1.98× 성능 향상을 달성하여 뛰어난 확장성 잠재력을 보여준다.