GPI-공간

GPI-Space
GPI 공간
개발자프라운호퍼 ITWM
초기 출시2010
운영 체제리눅스
유형분산 런타임 시스템
웹사이트gpi-space.com

GPI-Space프라운호퍼 산업수학연구소(ITWM)가 개발한 병렬 프로그래밍 개발 소프트웨어입니다.소프트웨어의 주요 개념은 도메인 및 HPC 지식을 분리하고 각 부분을 각 전문가에게 맡기는 것이며 GPI-Space 프레임워크는 두 부분을 함께 통합합니다.

GPI-Space는 GPI를 활용하여 빅데이터 문제를 현재 [1]솔루션보다 효율적으로 해결하고 있습니다.

GPI-Space는 [2]휴스턴의 SEG 2010에서 SDPA(지진 개발 및 프로그래밍 아키텍처)라는 이름으로 지질 분야의 도메인별 버전으로 처음 도입되었습니다.

코어 레이어

"Core Layers of GPI-Space"
GPI-공간 코어 레이어

GPI Space는 병렬 프로그래밍 개발 소프트웨어의 핵심을 이루는 여러 계층과 함께 제공됩니다.

런타임 엔진

런타임 엔진은 사용 가능한 시스템에 사용 가능한 작업을 배포하는 역할을 합니다.대규모 HPC 클러스터에서는 이기종일 수 있으며 기존 컴퓨팅 노드와 GPU 또는 Intel의 Xeon Phi와 같은 가속기 카드가 있는 노드로 구성됩니다.런타임 엔진은 단순한 작업 예약 및 배포 외에도 내결함성도 추가하고 있습니다.작업은 처음에 할당된 하드웨어에 장애가 발생할 경우 다른 리소스에 할당 및 재할당된 후 모니터링됩니다.새 하드웨어를 동적으로 추가할 수 있습니다.

워크플로 엔진

워크플로 엔진은 특수 GPI-Space 태그가 있는 XML 형식의 기존 워크플로의 명령을 Petrinets를 기반으로 하는 런타임 환경 내부 명령으로 변환합니다.워크플로우는 임의의 모듈식으로 구성될 수 있으며 다른 워크플로우를 요소로 사용하므로 사용자는 빌딩 블록을 한 번 미리 정의한 다음 나중에 더 복잡한 워크플로우에서 사용할 수 있습니다.워크플로우의 그래픽 편집기를 사용할 수 있습니다.

자동 병렬화 엔진

"GPI Architecture"
IMT2000 3GPP - GPI 아키텍처

자동 병렬화 엔진은 시스템에 병렬로 공급되는 코드를 이상적으로 실행하는 방법을 결정합니다.이를 통해 도메인 프로그래머는 자신의 코드를 병렬화할 필요가 없어지며 도메인에 집중할 수 있습니다.Fraunhofer ITWM의 Competence-Center High-Performance Computing(CC-HPC)에 의한 HPC 지식과 경험은 엔진이 매우 최적의 병렬 코드를 생성하는 능력에 필수적인 기여를 합니다.

가상 메모리 계층

GPI-Space를 사용한 모든 계산은 사용 가능한 다른데이터 솔루션과 매우 유사한 BeGFS와 같은 고속 병렬 파일 시스템을 사용하여 수행할 수 있습니다.그러나 이 외에도 GPI-Space는 메모리에서 모든 계산을 수행할 수 있으므로 기존 I/O의 높은 지연 시간과 성능 병목 현상을 제거할 수 있습니다.Fraunhofer GPI(그래픽 "GPI 아키텍처" 참조)를 사용하면 분할된 글로벌 주소 공간의 큰 블록 하나가 동적으로 할당됩니다.RDMA 기능을 통해 빠른 단방향 통신이 가능합니다.가상 메모리와의 디스크 전송은 완전히 비동기적이며 계산 뒤에 숨겨져 있습니다.

내진설계 및 프로그래밍 아키텍처(SDPA)

GPI-Space 코어와 내진용 도메인별 HPC-모듈은 SDPA를 구성하여 사용자 코드를 실행합니다.

Fraunhofer는 GPI-Space 접근 방식의 유효성을 보여주기 위해 텍사스주 휴스턴에서 SEG 2010이 열리는 동안 이를 지진 개발 및 프로그래밍 아키텍처(SDPA)의 일부로 처음 커뮤니티에 소개했습니다.지진 영역에는 수 년에 걸쳐 개발되었지만 병렬화되지 않은 다양한 프로그래밍 언어로 된 수많은 레거시 알고리즘과 코드가 존재합니다.리소스가 제한되어 있기 때문에 병렬 버전과 단일 프로그래밍 언어로 이러한 코드를 처음부터 다시 작성하는 것은 종종 불가능합니다.

CC-HPC의 개발자들은 다음을 포함하는 지진 데이터를 위한 도메인별 솔루션을 구축했습니다.

  • 병렬 I/O를 위한 고도로 최적화된 알고리즘
  • 내결함성,
  • 지진 데이터에 대한 평행화 패턴, 를 들어 트레이스, 수집(여러 개의 트레이스로 구성됨) 또는 자동 평행화 엔진이 효율적으로 작동할 수 있도록 하는 스택
  • 지진 데이터를 처리하기 위한 일반적인 데이터 관리 루틴.

또한 최종 사용자가 보다 정교한 워크플로우를 위한 빌딩 블록으로 사용할 수 있는 일련의 기본 워크플로우가 있습니다.이 모든 구성 요소는 지진 영역의 병렬화 문제를 해결하므로 도메인 개발자는 문제를 처리하지 않고도 문제에 집중할 수 있습니다.

그런 다음 SDPA의 최종 사용자는 기존의 기존 코드와 모듈을 SDPA와 병렬로 실행하여 프로젝트의 회전 시간을 크게 단축할 수 있습니다. SDPA는 병렬 실행을 위한 새로운 아이디어와 알고리즘을 프로토타입화하는 빠른 방법으로도 사용됩니다.

SDPA는 프로덕션 환경에서 여러 Fraunhofer의 업계 파트너가 사용합니다.

참고 항목

레퍼런스

  1. ^ Tiberiu Rotaru; Mirko Rahn; Franz-Josef Pfreundt (2014). "MapReduce in GPI-Space". In Dieter an Mey et alt. (ed.). Euro-Par 2013: Parallel Processing Workshops. Springer Berlin Heidelberg. pp. 43–52. ISBN 978-3-642-54419-4.
  2. ^ McNaughton, Neil (11 January 2010). "Fraunhofer SDPA". OilIT.com.

외부 링크