2017-10-14 3 views
1

최근에 나는 Raul Estrada의 "SMACK 스택을 사용한 빠른 데이터 처리 시스템"이라는 책을 읽기 시작했습니다. 그것은 을 방지하기 때문에, 우리가 보았 듯이게으른 평가 및 교착 상태

가, 게으른 평가는 교착 상태와 병목 현상을 방지 :이 개 첫 번째 챕터 후 나는 것을 발견하지 않았다면이 "안녕하세요 세계"의 그리 나쁜 컴파일이 생각 다른 프로세스의 결과를 무기한 대기하는 프로세스.

놀랍게도 나는 게으른 평가가 교착 상태를 방지한다는 주장에 대한 논증을 찾으려고 노력했습니다. 그 성명은 스칼라와 스파크에 관한 것이 었습니다. 불행히도 나는 어떤 주장도 찾지 못했습니다. 내가 아는 한 당신이 그 중 하나 이상이 발생하지 않을 것이라는 점을 확인해야 교착 상태를 피하기 위해 : &는

  • 없음 선점 기다릴
  • 잠금을

    • 상호 배제
    • 원형 대기

    어떻게 게으른 평가로 막을 수 있습니까?

  • 답변

    1

    지연 평가 자체는 교착 상태를 방지하지 않지만 계산 그래프 인 다른 개념과 밀접하게 관련되어 있습니다. Spark은 계산을 종속 관계의 계보로 설명하기 때문에 계산 그래프가 비순환 (유명한 DAG)임을 검증 할 수 있으므로 순환 대기를 유발할 수있는 경우는 없습니다.

    높은 수준의 Spark에서는 중첩 된 변환 및 동작을 허용하지 않음으로써이를 적용합니다. 즉, 스테이지간에 숨겨진 종속성이 없음을 의미합니다.