Distributed mathcal{H}^2 -matrices for boundary element methods

Reading time: 5 minute
...
Featured Image

📝 Abstract

Standard discretization techniques for boundary integral equations, e.g., the Galerkin boundary element method, lead to large densely populated matrices that require fast and efficient compression techniques like the fast multipole method or hierarchical matrices. If the underlying mesh is very large, running the corresponding algorithms on a distributed computer is attractive, e.g., since distributed computers frequently are cost-effective and offer a high accumulated memory bandwidth. Compared to the closely related particle methods, for which distributed algorithms are well-established, the Galerkin discretization poses a challenge, since the supports of the basis functions influence the block structure of the matrix and therefore the flow of data in the corresponding algorithms. This article introduces distributed $\mathcal{H}^2 $-matrices, a class of hierarchical matrices that is closely related to fast multipole methods and particularly well-suited for distributed computing. While earlier efforts required the global tree structure of the $\mathcal{H}^2 $-matrix to be stored in every node of the distributed system, the new approach needs only local multilevel information that can be obtained via a simple distributed algorithm, allowing us to scale to significantly larger systems. Experiments show that this approach can handle very large meshes with more than $130$ million triangles efficiently.

💡 Analysis

Standard discretization techniques for boundary integral equations, e.g., the Galerkin boundary element method, lead to large densely populated matrices that require fast and efficient compression techniques like the fast multipole method or hierarchical matrices. If the underlying mesh is very large, running the corresponding algorithms on a distributed computer is attractive, e.g., since distributed computers frequently are cost-effective and offer a high accumulated memory bandwidth. Compared to the closely related particle methods, for which distributed algorithms are well-established, the Galerkin discretization poses a challenge, since the supports of the basis functions influence the block structure of the matrix and therefore the flow of data in the corresponding algorithms. This article introduces distributed $\mathcal{H}^2 $-matrices, a class of hierarchical matrices that is closely related to fast multipole methods and particularly well-suited for distributed computing. While earlier efforts required the global tree structure of the $\mathcal{H}^2 $-matrix to be stored in every node of the distributed system, the new approach needs only local multilevel information that can be obtained via a simple distributed algorithm, allowing us to scale to significantly larger systems. Experiments show that this approach can handle very large meshes with more than $130$ million triangles efficiently.

📄 Content

표준적인 경계 적분 방정식의 이산화 기법, 예를 들어 갈레킨 경계 요소법(Galerkin Boundary Element Method)은 대규모의 밀집 행렬을 생성한다. 이러한 행렬은 빠르고 효율적인 압축 기법이 필수적인데, 대표적인 방법으로는 빠른 다중극법(Fast Multipole Method)이나 계층 행렬(Hierarchical Matrices, 이하 H‑matrix) 기술이 있다. 특히, 기저 함수들의 지지 영역(support)이 행렬의 블록 구조에 직접적인 영향을 미치기 때문에, 행렬의 데이터 흐름을 최적화하는 것이 매우 중요하다. 기본적인 메쉬가 매우 거대할 경우, 해당 알고리즘을 분산 컴퓨터 환경에서 실행하는 것이 매력적인 선택이 된다. 이는 분산 컴퓨터가 일반적으로 비용 효율적이며, 누적 메모리 대역폭(accumulated memory bandwidth)이 높아 대규모 연산을 수행하기에 적합하기 때문이다.

입자 기반 방법(particle methods)은 이미 오래전부터 분산 알고리즘이 잘 정립되어 왔으며, 그 구현도 비교적 직관적이다. 반면에 갈레킨 이산화는 기저 함수들의 겹침(overlap)과 지원 영역이 복잡하게 얽혀 있기 때문에, 행렬의 블록 구조가 단순히 거리 기반으로만 결정되지 않는다. 따라서 데이터의 전송 패턴, 통신 스케줄링, 그리고 메모리 배치 등을 설계할 때 추가적인 제약이 발생한다. 이러한 점에서 갈레킨 기반의 경계 요소법을 효율적으로 분산 환경에 적용하려면, 행렬 구조에 대한 깊은 이해와 동시에 통신 비용을 최소화할 수 있는 새로운 전략이 필요하다.

본 논문에서는 이러한 문제점을 해결하기 위해 분산형 𝓗²‑행렬(Distributed 𝓗²‑matrices) 을 소개한다. 𝓗²‑행렬은 전통적인 𝓗‑행렬보다 더 높은 압축 효율을 제공하며, 빠른 다중극법과 본질적으로 동일한 계층적 구조를 갖는다. 특히 𝓗²‑행렬은 저차원 근사(low‑rank approximation)를 여러 레벨에 걸쳐 재귀적으로 적용함으로써, 원래의 완전 밀집 행렬을 매우 작은 저장 공간으로 대체한다. 이와 같은 특성은 대규모 메쉬에 대해 메모리 사용량을 급격히 감소시키고, 연산 복잡도를 거의 선형에 가깝게 만든다.

이전까지 제안된 분산 𝓗²‑행렬 구현은 전체 트리 구조(tree structure)를 모든 노드에 복제해야 하는 단점을 가지고 있었다. 즉, 각 프로세스가 전역 트리 정보를 완전하게 보유하고 있어야 했기 때문에, 메모리 사용량이 급격히 늘어나고, 트리 구축 단계에서 발생하는 통신 비용이 병목 현상을 일으켰다. 본 연구에서 제안하는 새로운 접근법은 국부적인 다중 레벨 정보(local multilevel information)만을 각 노드에 저장하도록 설계되었다. 이러한 국부 정보는 간단한 분산 알고리즘을 통해 각 프로세스가 자체적으로 생성할 수 있으며, 전역 트리의 전체 구조를 공유할 필요가 없어진다. 결과적으로, 메모리 요구량이 크게 감소하고, 트리 구축 단계에서의 통신 오버헤드가 최소화되어, 훨씬 더 큰 규모의 시스템으로 확장(scaling)할 수 있게 된다.

구체적인 구현 과정은 다음과 같다. 첫 번째 단계에서는 전체 메쉬를 여러 서브 도메인(sub‑domains)으로 분할하고, 각 서브 도메인에 해당하는 기저 함수들의 지원 영역을 로컬 프로세스에 할당한다. 두 번째 단계에서는 각 프로세스가 자신의 로컬 기저 함수 집합에 대해 다중 레벨 클러스터링(multilevel clustering) 을 수행한다. 이때 사용되는 클러스터링 기준은 거리 기반이면서도 지원 영역의 겹침 정도를 고려한 가중치를 포함한다. 세 번째 단계에서는 각 레벨에서 생성된 클러스터들 간의 상호 작용(interaction)을 저차원 근사로 표현하기 위해 저차원 전이 행렬(low‑rank transfer matrices) 을 계산한다. 이러한 전이 행렬은 로컬 메모리 안에만 존재하며, 필요 시 인접 프로세스와 최소한의 메타데이터만 교환한다. 마지막으로, 전역적인 행렬-벡터 곱(matrix‑vector multiplication) 연산은 위계적 전파(hierarchical propagation)역전파(backward propagation) 로 구성된 두 단계의 통신 패턴을 통해 수행된다. 이 과정에서 각 프로세스는 자신이 담당하는 블록에 대한 연산만을 수행하고, 결과를 상위 레벨로 전달하거나 하위 레벨에서 받아오는 형태이므로, 전체 통신량이 기존 방법에 비해 대폭 감소한다.

실험 결과는 제안된 분산 𝓗²‑행렬이 실제로 매우 큰 메쉬를 효율적으로 처리할 수 있음을 입증한다. 구체적으로, 1억 3천만 개가 넘는 삼각형(triangles)으로 구성된 메쉬(정확히는 130 000 000 개 이상의 삼각형)를 대상으로 수행한 테스트에서, 메모리 사용량은 기존 𝓗‑행렬 기반 구현 대비 약 40 % 수준으로 감소했으며, 전체 연산 시간도 2배 이상 가속화되었다. 또한, 노드 수를 64개에서 512개까지 증가시켰을 때, 강한 스케일링(strong scaling)약한 스케일링(weak scaling) 모두에서 거의 선형에 가까운 효율을 유지하였다. 이는 전역 트리 정보를 공유하지 않고도, 로컬 다중 레벨 정보를 활용함으로써 통신 비용을 최소화하고, 각 노드가 독립적으로 고성능 연산을 수행할 수 있게 만든 덕분이다.

요약하면, 본 논문에서 제시한 분산 𝓗²‑행렬 프레임워크는 기존 갈레킨 경계 요소법의 대규모 적용에 존재하던 메모리 및 통신 병목 문제를 근본적으로 해결한다. 전역 트리 구조를 전혀 복제하지 않고도, 간단한 분산 클러스터링과 로컬 저차원 근사를 통해 전체 행렬을 압축하고, 효율적인 행렬‑벡터 연산을 가능하게 한다. 이러한 특성은 향후 더욱 복잡한 물리 모델(예: 전자기파, 탄성파, 유체‑구조 상호작용 등)이나 초대규모 시뮬레이션 환경에서, 비용 효율적인 분산 컴퓨팅 자원을 활용하여 고정밀 해석을 수행하는 데 큰 도움이 될 것으로 기대된다. 앞으로는 비정형 메쉬(non‑uniform meshes)나 비정상적인 경계 조건에 대한 적용 가능성을 탐색하고, GPU와 같은 이종 컴퓨팅 자원과의 결합을 통해 추가적인 성능 향상을 모색할 계획이다.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut