Kto używa R z pakietem wielordzeniowym, SNOW lub CUDA do obliczeń wymagających dużej ilości zasobów?

16

Kto z was na tym forum używa „> R z pakietem wielordzeniowym , pakietami śniegowymi lub CUDA , więc do zaawansowanych obliczeń, które wymagają więcej mocy niż procesor stacji roboczej? Na jakim sprzęcie obliczasz te skrypty? W domu / pracy czy masz dostęp do centrum danych?

Tło tych pytań jest następujące: Obecnie piszę mój tytuł magistra. praca na temat R i High Performance Computing i potrzebuję silnej wiedzy na temat tego, kto faktycznie używa R. Czytałem, że R miał 1 milion użytkowników w 2008 roku, ale to mniej więcej jedyne statystyki użytkowników, jakie mogłem znaleźć na ten temat - więc mam nadzieję, że odpowiedzi!

Z poważaniem Heinrich

Heinrich
źródło
Możliwym pokrewne pytanie, stats.stackexchange.com/questions/825/... .
chl

Odpowiedzi:

6

Jestem biologiem, który modeluje wpływ zmian klimatu na okres międzyroczny na dynamikę populacji kilku gatunków wędrownych. Moje zestawy danych są bardzo duże (dane przestrzennie intensywne), więc uruchamiam kod R multicorena serwerach Amazon EC2. Jeśli moje zadanie wymaga szczególnie dużej ilości zasobów, wybiorę bardzo dużą czteroosobową bardzo dużą instancję wysokiej pamięci, która zawiera 26 jednostek procesora, 8 rdzeni i 68G pamięci RAM. W takim przypadku zwykle uruchamiam 4-6 skryptów jednocześnie, z których każdy działa na dość dużym zestawie danych. Do mniejszych zadań wybieram serwery z 4-6 rdzeniami i około 20 gigabajtami pamięci RAM.

Uruchamiam te instancje (zwykle instancyjne, ponieważ są tańsze, ale mogą zostać zakończone w dowolnym momencie, gdy bieżąca stawka przekracza kwotę, którą wybrałem do zapłaty), uruchamiam skrypt na kilka godzin, a następnie kończę instancję po zakończeniu skryptu. Jeśli chodzi o obraz maszyny (Amazon Machine Image), wziąłem kogoś innego do instalacji Ubuntu, zaktualizowałem R, zainstalowałem moje pakiety i zapisałem jako prywatny AMI na mojej przestrzeni dyskowej S3.

Moja osobista maszyna to MacBook Pro z podwójnym rdzeniem i trudno jest jej rozwiązywać połączenia wielordzeniowe. W razie innych pytań zachęcamy do wysłania wiadomości e-mail.

Maiasaura
źródło
Czy możesz powiedzieć, jaki jest rozmiar twojego zestawu danych.
suncoolsu
Pewnie. Zestawy danych, z którymi obecnie pracuję, to ~ 14 koncertów
Maiasaura,
4

Ponieważ pytasz, używam pakietu foreach z wielordzeniowym backendem. Używam go do dzielenia żenująco równoległego obciążenia na wiele rdzeni na jednym urządzeniu Nehalem z dużą ilością pamięci RAM. Działa to całkiem dobrze do danego zadania.

NPE
źródło
Dziękuję za odpowiedź! Czy wykonujesz obliczenia dla swojej pracy / badań naukowych lub dla własnych projektów na własnym komputerze?
Heinrich,
Odbywa się to w warunkach komercyjnych. Do tego zadania używam pojedynczego procesora Intel z 32 GB pamięci RAM i dysków RAIDed (główną trudnością jest duża ilość danych, a samo przetwarzanie nie jest bardzo wymagające obliczeniowo.)
NPE
W porządku @ aix, jak często wykonujesz te obliczenia. Czy Twój box działa przez cały dzień, czy jest bardziej bezczynny?
Heinrich
Szybkie pytanie do @NPE: w jakim systemie przechowujesz dane? korzystasz z zaplecza bazy danych?
nassimhddd
3

Pracuję w akademii i używam wielordzeniowych do niektórych ciężkich testów algorytmów uczenia maszynowego, głównie w oparciu o naszą konstelację Sun opartą na Opteron i kilka mniejszych klastrów; są to również kłopotliwie równoległe problemy, więc główną rolą wielordzeniowego jest rozkładanie obliczeń na węzeł bez zwielokrotnienia zużycia pamięci.

użytkownik88
źródło
W Hamburgu zawsze mamy problem z tym, że czas oczekiwania na akademickie centra danych jest naprawdę długi. czy to dla ciebie to samo?
Heinrich,
@Heinrich Pracuję dla pewnego rodzaju akademickiego centrum danych, więc nie mam takich problemów (-; Poważnie, w Warszawie czas na naukowy procesor jest większy niż popyt, więc uważam, że uzyskanie grantu jest dość łatwe. I Myślę, że powinieneś wypróbować D-Grid lub EGEE, moje doświadczenie jest takie, że siatki są ogólnie bardzo niewykorzystane
O. To jest interesujące. Czy wiesz, w jakich firmach R używa się w tych obszarach?
Heinrich
2

Śniegu i śniegu używam do równoległości kursu w klastrach HPC, a CUDA do precyzyjnego równoległego przetwarzania danych. Jestem w epidemiologii, zajmując się modelowaniem przenoszenia chorób. Więc używam obu.

Andrew Redd
źródło
Dziękuję za twoją informację. Co masz na myśli mówiąc o równoległości kursu?
Heinrich,
Równoległość kursu byłaby czymś w rodzaju niezależnego przebiegu zmiany MCMC., Tj. Bardzo dużych uchwytów, które można uruchamiać równolegle bez synchronizacji wątków. Przykładem drobnoziarnistego jest obliczenie prawdopodobieństwa, w którym obliczenia można wykonać niezależnie na punktach danych.
Andrew Redd,