리소스 집약적 컴퓨팅을 위해 누가 R을 멀티 코어, SNOW 또는 CUDA 패키지와 함께 사용합니까?


16

이 포럼에서 여러분은 멀티 코어 , 스노우 패키지 또는 CUDA 와 함께 "> R을 사용 하므로 워크 스테이션 CPU보다 더 많은 전력을 필요로하는 고급 계산을 위해서는 어떤 하드웨어에서 이러한 스크립트를 계산합니까? 어딘가에 데이터 센터 액세스?

이러한 질문의 배경은 다음과 같습니다. 저는 현재 M.Sc를 작성하고 있습니다. R과 고성능 컴퓨팅에 관한 논문이며 실제로 R을 사용하는 사람에 대한 강력한 지식이 필요합니다. 2008 년에 R에 백만 명의 사용자가 있다는 것을 읽었지만 이것이이 주제에서 찾을 수있는 유일한 사용자 통계입니다. 답변!

진심으로 하인리히


가능한 관련 질문 stats.stackexchange.com/questions/825/... .
chl

답변:


6

나는 여러 철새 종의 인구 역학에 대한 연간 기후 변화의 영향을 모델링하는 생물 학자입니다. 내 데이터 세트는 매우 커서 (공간적으로 많은 데이터) multicoreAmazon EC2 서버에서 R 코드를 실행 합니다. 내 작업이 특히 리소스를 많이 사용하는 경우 26 개의 CPU 장치, 8 개의 코어 및 68G의 RAM과 함께 제공되는 High Memory Quadruple Extra Large 인스턴스를 선택합니다. 이 경우 일반적으로 4-6 개의 스크립트를 동시에 실행하며 각 스크립트는 상당히 큰 데이터 세트를 통해 작동합니다. 소규모 작업의 경우 4-6 코어 및 약 20 기가 RAM의 서버를 선택합니다.

이 인스턴스를 시작하고 (일반적으로 저렴하지만 현재 요금이 지불하기로 선택한 시간을 초과 할 때마다 종료 할 수 있음) 인스턴스를 시작하고 몇 시간 동안 스크립트를 실행 한 다음 스크립트가 완료되면 인스턴스를 종료합니다. 머신 이미지 (Amazon Machine Image)는 다른 사람의 우분투 설치를 수행하고 R을 업데이트하고 패키지를 설치 한 다음 S3 스토리지 공간에 개인 AMI로 저장했습니다.

개인용 컴퓨터는 듀얼 코어 맥북 프로이며 멀티 코어 통화를하기가 어렵습니다. 다른 질문이 있으면 언제든지 이메일을 보내십시오.


데이터 세트의 크기가 무엇인지 말해 줄 수 있습니까?
suncoolsu

확실한. 내가 현재 작업하고있는 데이터 세트는 ~ 14 기가
Maiasaura

4

당신이 묻기 때문에, 나는 멀티 코어 백엔드 와 함께 foreach 패키지를 사용하고 있습니다. 나는 많은 RAM이있는 단일 Nehalem 상자에서 여러 코어 로 당황스럽게 병렬 워크로드 를 분할하는 데 사용합니다 . 이것은 당면한 작업에 매우 효과적입니다.


답변 주셔서 감사합니다! 작업 / 학술 연구 또는 자체 PC에서 자체 프로젝트에 대한 계산을 수행합니까?
Heinrich

이것은 상업적인 환경에서 이루어집니다. 이 작업을 위해 32GB RAM과 RAIDed 디스크가있는 단일 Intel 상자를 사용하고 있습니다 (주로 어려움은 많은 데이터이지만 처리 자체는 계산이 많이 필요하지 않습니다)
NPE

좋아, @aix, 얼마나 자주 이러한 계산을 수행합니까? 하루 종일 상자를 달리고 있습니까?
Heinrich

@NPE에 대한 빠른 질문 : 어떤 시스템에 데이터를 저장합니까? 데이터베이스 백엔드를 사용합니까?
nassimhddd

3

나는 아카데미에서 일하고 있으며, 대부분 Opteron 기반 Sun Constellation과 일부 소규모 클러스터에서 머신 러닝 알고리즘의 벤치 마크에 멀티 코어를 사용하고 있습니다. 그것들은 또한 다소 창피한 병렬 문제이므로 멀티 코어의 주요 역할은 메모리 사용량을 곱하지 않고 노드에 계산을 분산시키는 것입니다.


함부르크에있는 우리는 항상 학술 데이터 센터의 대기 시간이 길다는 문제가 있습니다. 당신도 마찬가지입니까?
Heinrich

@Heinrich 저는 일종의 학술 데이터 센터에서 일하고 있으므로 그런 문제가 없습니다 (-; 진지하게, 바르샤바에서는 과학적 CPU 시간 공급이 수요보다 많기 때문에 보조금을 받기가 매우 쉽다고 생각합니다. D-Grid 또는 EGEE를 사용해보아야한다고 생각합니다. 제 경험에 따르면 일반적으로 그리드가 많이 사용되지 않습니다.

오. 그것 참 흥미 롭네. 이러한 확장에 어떤 종류의 비즈니스 R이 사용되는지 알고 있습니까?
Heinrich

2

HPC 클러스터에서 코스 병렬 처리에 눈과 강설을 사용하고, 데이터 병렬 처리를 위해 CUDA를 사용합니다. 전염병학 모델링을하는 역학에 있습니다. 그래서 나는 둘 다 사용합니다.


정보 주셔서 감사합니다. 과정 병렬화 란 무엇을 의미합니까?
Heinrich

코스 병렬화는 MCMC 변경을 독립적으로 실행하는 것과 같습니다. 즉, 스레드를 동기화하지 않고 병렬로 실행할 수있는 매우 큰 척입니다. 미세 입자의 예는 데이터 포인트에 대해 독립적으로 계산을 수행 할 수있는 가능성을 계산하는 것입니다.
Andrew Redd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.