앞으로 생각 fpgas 또는 재구성 가능한 프로세서가 주류를 이룰 수 있습니까?

fpgas 또는 재구성 가능한 프로세서가 주류를 이룰 수 있습니까?

비디오: "T ì n h đ ẹ p đ ế n m ấ y c ũ n g t à n.!" (십월 2024)

비디오: "T ì n h đ ẹ p đ ế n m ấ y c ũ n g t à n.!" (십월 2024)
Anonim

내가 서버 컴퓨팅에서 본 가장 흥미로운 추세 중 하나는 표준 CPU에서 멀어지고 그래픽 칩 (GPU) 및 FPGA (Field Programmable Gate Array)로 알려진 재구성 가능한 프로세서에서 더 많은 처리를 수행하는 것입니다. 이 현상을 종종 이기종 컴퓨팅이라고합니다.

이 개념은 새로운 것이 아닙니다. GPU 및 기타 가속기는 수년간 고성능 컴퓨팅 (HPC) 또는 슈퍼 컴퓨터에서 점점 일반화되었습니다. 그러나 최근 인텔은 기존 CPU 외에도 FPGA를 포함하도록 일부 서버 칩 패키지를 사용자 정의하여 FPGA에 대한 하드웨어 명령으로 실행할 수있는 특정 알고리즘을 갖춘 대형 하이퍼 스케일 클라우드 컴퓨팅 제공 업체를 대상으로하는 방법에 대해 더 많이 들었습니다. 일반적인 CPU 명령어에서 소프트웨어로 실행하는 것보다 훨씬 빠릅니다.

이것은 FPGA 제조업체 Altera를 인수하려는 인텔의 최근 계획의 주요 동인이었습니다. 인텔 CEO 브라이언 크 르자 니크 (Brian Krzanich)는 클라우드 워크로드의 최대 30 %가 10 년 말까지 일종의 FPGA 가속화를 기대한다고 말했다. Microsoft는 이미 Altera FPGA를 사용하여 Bing 검색과 같은 많은 클라우드 서비스를 지원하고 있습니다.

보다 일반적인 기업 컴퓨팅 사례에서 FPGA를 사용하거나 GPU를 위해 대부분의 회사에 큰 장애물이있었습니다. 소프트웨어는 CPU와 함께 이러한 칩에서 동시에 작동하도록하는 것은 매우 어렵습니다. (회사 워크로드 및 HPC의 경우 항상 일부 CPU가 필요합니다. 네트워킹과 같은 다른 종류의 응용 프로그램에서는 하드웨어 회사가 FPGA를 사용할 수 있습니다.) GPU 컴퓨팅의 경우 Nvidia의 CUDA 및 Khronos와 같은 것을 보았습니다. 그룹의 OpenCL 표준으로 작업이 쉬워졌으며 많은 HPC 및 머신 러닝 알고리즘이 GPU를 사용하고 있음을 확실히 알았습니다. 이제 Altera와 같은 FPGA 제조업체는 OpenCL도 지원하지만보다 일반적인 기업 컴퓨팅 사례에서는 너무 어려운 것으로 입증되었습니다.

최근에, 나는 이것을 더 쉽게하기 위해 몇 개의 회사와 이야기를 나누었습니다.

Bitfusion은 TechCrunch Disrupt에서 처음 본 스타트 업입니다. 이 기술은 각 플랫폼에 대해 애플리케이션을 다시 작성하지 않고도 CPU에서 GPU 또는 FPGA로 애플리케이션을 이동할 수 있도록하는 것을 목표로합니다. CEO Subbu Rama가 설명했듯이이 패키지는 이제 소프트웨어 개발자가 사용하는 일반적인 오픈 소스 라이브러리를 찾고 그 안의 기능을 GPU 또는 FPGA를 활용할 수있는 기능으로 대체하여 작동합니다. 그가 설명했듯이 대기업은 코드를 다시 작성할 수는 있지만 중소 기업은 그렇지 않습니다. 응용 분야에는 과학 컴퓨팅, 위험 분석 및 고주파 거래와 같은 재무 응용 프로그램, 석유 및 가스 센서 데이터 작업과 같은 데이터 분석이 포함됩니다.

결국 그는 이것이 그러한 라이브러리를 호출하는 모든 언어에서 작동 할 수 있다고 말했다. 그는 라이브러리를 교체하는 것이 FPGA 또는 GPU에 대한 사용자 정의 코드를 작성하는 것만 큼 효율적이지 않을 수 있지만 훨씬 쉽다고 지적했습니다.

Bitfusion은 이미 자체 액셀러레이터가있는 회사를위한 순수한 소프트웨어로서 세 가지 모델로 제품을 제공 할 계획입니다. 기기에 사전 설치된; 또는 Rackspace와의 파트너십을 통해 클라우드에 배포 된 애플리케이션에 적합합니다. 처음에는 Altera FPGA를 사용하지만 회사는 다른 프로세서와도 함께 사용할 수 있다고 말합니다. Rama는 초기 고객이 현재이를 사용하고 있으며 향후 2 개월 내에 공개 될 예정이라고 밝혔다.

SRC는 다소 다른 접근법을 취하고 있습니다. 1999 년부터 정부 기관을 위해 "재구성 가능한 서버"를 개발해 왔으며 현재 하이퍼 스케일 데이터 센터 및 웹 운영을 목표로하는 솔루션을 만들고 있습니다. Saturn 1 서버라고하는이 카트리지는 HP Moonshot 섀시에 연결되는 카트리지이며 SRC는 기존의 마이크로 프로세서 설계보다 100 배 빠른 컴퓨터 성능을 제공 할 수 있다고 주장합니다. (또한 회사는 일반적으로 더 큰 고객을 위해 더 큰 랙 마운트 및 전체 크기 시스템을 판매합니다.)

존 호프 펜탈 (Jon Huppenthal) CEO에 따르면, 이것이 다른 점은 Carte라고하는 특수 컴파일러인데, 코드를 FPGA 아키텍처에서 실행할 수있는 실리콘 디자인으로 코드를 변환한다. 그는 SRC가 90 년대 슈퍼 컴퓨터의 선구자 인 Seymour Cray와 Jim Guzy에 의해 설립 된 이래 처음 비즈니스 고객을 위해 컴파일러를 만드는 데 몇 년을 보냈다고 말했습니다. SRC의 접근 방식의 한 가지 차이점은 Carte는 일반적인 시스템을위한 것이 아니라 SRC의 아키텍처와 특별히 관련되어있어 더 많은 성능과 일관성을 제공한다는 것입니다. Saturn 1은 두 개의 Altera FPGA를 사용합니다. 하나는 사용자 코드를 실행합니다. 다른 하나는 하나의 인텔 프로세서와 함께 시스템이 빠르게 실행되도록합니다. 그는 현재 12 세대 재구성 가능한 프로세서를 사용하고 있다고 덧붙였다.

이 솔루션은 대부분 규모가 큰 컴퓨팅 센터를 목표로하는 더 비싼 솔루션이지만 여전히 이전 접근 방식보다 더 접근하기 쉽습니다.

더 많은 주류 작업에 FPGA 또는 재구성 가능한 프로세서를 사용한다는 아이디어는 새로운 것이 아닙니다. 그러나 하드웨어 디자이너 나 군사 응용 프로그램 외부의 전통적인 고객이이를 가능하게하는 데 오랜 시간이 걸렸습니다. 이러한 새로운 접근 방식은이 기술의 시작을보다 일반적으로 사용하게 될 수 있습니다. 그러나 가격 / 성능 개선이 공급 업체의 주장과 실제로 일치하고 기술이 사용하기 쉬워 진 경우에만 가능합니다. 새로운 접근 방식은 그 방향으로 나아가는 단계입니다.

fpgas 또는 재구성 가능한 프로세서가 주류를 이룰 수 있습니까?