복붙노트

[HADOOP] Hadoop MapReduce 대 MPI (Spark vs Mahout 대 Mesos) - 다른 것을 계속 사용할 때?

HADOOP

Hadoop MapReduce 대 MPI (Spark vs Mahout 대 Mesos) - 다른 것을 계속 사용할 때?

필자는 병렬 컴퓨팅에 익숙하지 않고 Amazon AWS에서 MPI 및 Hadoop + MapReduce를 사용해보기 시작했습니다. 그러나 나는 하나를 다른 것 위에 사용할 때 혼란 스럽다.

예를 들어, 내가 보는 엄지 통찰 규칙 중 하나는 다음과 같이 요약 될 수 있습니다.

그러나 MPI (MR-MPI)에서 구현 된 MapReduce의 구현은 내결함성을 제공하지 않지만 Hadoop의 MapReduce보다 일부 벤치 마크에서 더 효율적으로 보이고 코어 밖 메모리를 사용하여 큰 데이터를 처리하는 것으로 보입니다.

반대로, 분산 파일 시스템 (HDFS)을 사용하는 차세대 Hadoop Yarn에도 MPI 구현 (MPICH2-YARN)이 있습니다.

게다가 MapReduce 패러다임의 몇 가지 기능을 모방 한 MPI (Scatter-Gather, Checkpoint-Restart, ULFM 및 기타 내결함성) 내의 조항이있는 것으로 보입니다.

Mahout, Mesos, Spark는 어떻게이 모든 것에 적합합니까?

Hadoop MapReduce, MPI, Mesos, Spark 및 Mahout (또는 그 조합)을 결정할 때 어떤 기준을 사용할 수 있습니까?

해결법

  1. ==============================

    1.이 결정에 대한 좋은 기술적 기준이있을 수 있지만 게시 된 내용은 본 적이 없습니다. 과학적 작업 부하가 MPI를 사용하는 반면 MapReduce는 기업 환경의 데이터를 탐색하는 데 사용되는 것으로 이해되는 문화적 분열이있는 것으로 보입니다. 이는 네트워크 성능에 대한 작업 부하의 기본적인 민감성 때문일 수 있습니다. 알아내는 방법에 대한 몇 가지 생각은 다음과 같습니다.

    이 결정에 대한 좋은 기술적 기준이있을 수 있지만 게시 된 내용은 본 적이 없습니다. 과학적 작업 부하가 MPI를 사용하는 반면 MapReduce는 기업 환경의 데이터를 탐색하는 데 사용되는 것으로 이해되는 문화적 분열이있는 것으로 보입니다. 이는 네트워크 성능에 대한 작업 부하의 기본적인 민감성 때문일 수 있습니다. 알아내는 방법에 대한 몇 가지 생각은 다음과 같습니다.

    현대의 많은 MPI 구현은 여러 네트워크에서 실행될 수 있지만 Infiniband에 크게 최적화되어 있습니다. MapReduce의 표준 사용 사례는 이더넷을 통해 연결된 "화이트 박스"상품 시스템의 클러스터에있는 것처럼 보입니다. "MapReduce Infiniband"에 대한 빠른 검색은 http://dl.acm.org/citation.cfm?id=2511027로 연결되며 이는 MapReduce 환경에서 Infiniband를 사용하는 것이 상대적으로 새로운 일임을 시사합니다.

    그렇다면 왜 Infiniband에 최적화 된 시스템에서 실행하고 싶습니까? 이더넷보다 훨씬 비싸지 만 네트워크의 경합이 심한 경우에는 대역폭이 높고 대기 시간이 짧으며 확장 성이 좋습니다 (http://www.hpcadvisorycouncil.com/pdf/IB_and_10GigE_in_HPC.pdf).

    Infiniband에 대한 최적화 효과에 민감한 응용 프로그램이 이미 많은 MPI 라이브러리에 구워져 있다면 아마도 유용 할 것입니다. 앱이 네트워크 성능에 상대적으로 민감하지 않고 프로세스 간 통신이 필요없는 계산에 더 많은 시간을 소비한다면 MapReduce가 더 나은 선택 일 수 있습니다.

    벤치 마크를 실행할 수있는 기회가있는 경우 사용 가능한 시스템에 대한 예측을 수행하여 향상된 네트워크 성능이 얼마나 도움이되는지 확인할 수 있습니다. 네트워크를 조절하십시오 : 예를 들어 GigE를 100mbit로 다운 클럭하거나 Infiniband QDR을 DDR로 다운 시키십시오. 예를 들어, 결과를 통해 선을 그어 MPI가 최적화 한 더 빠른 인터커넥트를 구매하면 원하는 곳으로 갈 수 있습니다.

  2. ==============================

    2.MapReduce에서 FEM에 대해 게시 한 링크 : http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6188175&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp % 3 숫자 % 3D6188175

    MapReduce에서 FEM에 대해 게시 한 링크 : http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6188175&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp % 3 숫자 % 3D6188175

    MPI를 사용합니다. 그것은 추상에 바로 거기에 명시되어 있습니다. 그들은 MPI의 프로그래밍 모델 (비 혼란스럽지 않은 병렬)을 HDFS와 결합하여 데이터를 "준비"하여 데이터 지역을 개발했습니다.

    Hadoop은 순전히 당황스럽게 병렬 계산을위한 것입니다. 프로세스를 복잡하게 구성하고 데이터를 교환해야하는 경우 Hadoop을 사용하는 것이 좋을 것입니다. 이는 알고리즘 적 복잡성 관점 에서뿐만 아니라 측정 관점에서도 입증 될 수 있습니다.

  3. from https://stackoverflow.com/questions/27791531/hadoop-mapreduce-vs-mpi-vs-spark-vs-mahout-vs-mesos-when-to-use-one-over-the by cc-by-sa and MIT license