Spark에서 알고리즘을 작성했다고 가정하고 로컬 모드에서 실행중인 N
크기의 데이터 세트에 1 .. X
코어를 사용하여 성능을 평가할 수 있습니다. 런타임 Y
노드와 데이터 크기 M >> N
가있는 클러스터에서 실행되는 어떤클러스터에서 Spark 성능/확장 성 예측?
- : 당신은 어떻게이 같은 질문을 접근하는 것?
- 임의의 수의 노드를 사용하여 크기가
M >> N
인 데이터 세트의 최소 런타임은 얼마입니까?
분명히 이것은 수많은 요소의 영향을받으며 정확한 예측은 거의 불가능합니다. 그러나 당신은 어떻게 교육 된 추측을 생각해 낼 수 있습니까? 로컬 모드에서 실행하면 주로 CPU 사용량을 측정 할 수 있습니다. 셔플의 디스크 + 네트워크로드를 고려한 경험 법칙이 있습니까? 클러스터의 성능을 시뮬레이션하는 방법조차 있습니까?
그건 완벽하게 유효하지만, 나는 디스크 + 네트워크를 완전히 무시하는 데 더 관심이있었습니다. 커다란 셔플이 있다는 것을 알고 클러스터의 대역폭도 알고 있다면 어떻게 될까요? 병렬화 오버 헤드를 무시하면 병렬 실행의 한계를 예측할 수 없습니다. – bluenote10
디스크가 무시되지 않았습니다. 셔플이있는 경우 M/대역폭으로 추정됩니다. 누적되어 결과로 나타납니다. 전체 데이터 세트를 한 번 더 셔플해야 할 경우 알고리즘을 개선하는 것이 좋습니다. –