2013-01-11 2 views
0

과제가 있습니다 : 현재 구현을 가속화하려면 inverted index입니다. 내 생각에 가장 좋은 방법은 클라우드에서 실행하는 것입니다단순한 병렬 알고리즘을 구현하기 위해 어떤 클라우드 제공자가 사용합니까?

  1. 나누기 입력 몇 가지 부품에 대한 텍스트 (또는 그냥 몇 가지 다른 텍스트 파일을 잡아)
  2. 는 노드에 텍스트를 보내기
  3. 실행 다른 입력 데이터
  4. 에 대한 각 노드의 알고리즘은 결과를 수집하고

내 질문은 병합 : 그것을 구현하는 가장 쉬운 방법은 무엇입니까?

내 현재의 아이디어가 있습니다 : 작업자 역할과

  • 윈도우 Azure - 그것은 병합 나중에 노드에 다른 데이터를 보낼 수 있습니까?
  • Windows Azure 및 HPC 스케줄러 - 이와 같은 작업에 너무 강력하지 않습니까? 구성 및 비용 (새로운 노드 = 새 작업자 역할)을 두려워합니다.
  • Amazon 또는 Google과 같은 다른 클라우드를 사용하십시오. C#으로 코딩하고 싶습니다. Microsoft 기술에 익숙하므로 이 목표를 달성 할 방법

나에게 어떤 조언을주십시오 그들의 작은 두려워, 나는 (내가 MPI, SOA, CUDA와 같은 몇 가지 기본 푸른 기초를 가지고 있지만)

+0

텍스트 파일을 클라우드로 보내는 데 걸리는 시간은 알고리즘을 실행하여 저장 한 시간을 초과하지 않는다는 것을 확실히하기 전에이 계획을 세우십시오. –

+0

그래, 파일이 더 커질 것이고, 이미 클라우드에있을 수 있으므로 노드에 배포하는 데 오래 걸리지 않기를 바랍니다. – user963935

+1

알고리즘의 분할 및 재구성은 Hadoop이 좋은 옵션 일 수 있음을 나타냅니다. Windows Azure의 Hadoop 옵션 (HDInsight)에서는 원하는 경우 C#으로 Map 및 Reduce 기능을 프로그래밍 할 수 있습니다. – codingoutloud

답변

관련 문제