2014-01-11 8 views
0

업데이트에게 투기 스레드 스케줄링 설명클러스터 스케줄링 : 클러스터 해명

T1은 클러스터에게 예약 순차적 다시 1

에 메모리 위치 1, 2, 3, 4, 5, 접촉된다

T2는 동일한 클러스터에 동시에 스케줄되고 메모리 위치 6, 2, 3에 순차적으로 접촉 한 다음 T1이 메모리 위치 1에 여전히 의존하는 동안 1에 쓰기를 시도합니다.

T2가 메모리 위치 1에 쓰여지기 전에 T2가 대기해야하거나 T1이 완료 될 때까지 클러스터에서 실행될 때까지 기다려야 할 것 같습니다.

메모리 위치 1과 같이 T1이 일치해야하는 메모리 위치를 결정하고이 정보를 테이블에 저장할 수 있습니까? 이렇게하면 T2가 클러스터에 실행되기 전에 T2는 쓰기가 필요한 메모리 위치를 테이블에서 확인할 수 있습니다. T1은 메모리 위치 1에 따라 다르므로 T2 실행을 클러스터에 지연시킵니다.

3.2 장의 내용은 아래 PDF에 나와 있습니다.

도움 주셔서 감사합니다.


아이디어를 얻고 개선 할 수있는 방법에 대한 컴퓨터 과학 수업 주제를 연구 중입니다. 제가 선택한 주제는 클러스터 스케줄링입니다. 같은 http://apt.cs.man.ac.uk/people/yiapanip/taco13yiapanis.pdf

스레드가 예약 할 때처럼 스레드가 쓰고 메모리에 커밋 후, 동일한 메모리 위치를 액세스하는 다른 스레드와의 충돌을 검사, 일 것 같은

내가 읽어 봤는데 논문입니다. 스레드가 커밋하기를 미리 결정하는 방법이 있습니까?

스레드가 쓰는 메모리 위치 테이블을 유지하는 정보가 있습니다 (알고 있어야 함). 그러면 스레드가 쓰고있는 메모리 위치 만 확인한 후 후속 스레드를 클러스터에 예약 할 수 있습니다. 스레드를 실행하고 있습니까? 메모리 위치에 대한 쓰기가 있으면 후속 스레드가 필요하며 해당 스레드는 정지되지만 메모리 위치가 기록되지 않으면 테이블에없는 경우 해당 스레드에 후속 스레드가 예약 될 수 있습니다.

도움 주셔서 감사합니다.

+0

내가 도와주고 싶지만, 주제를 명확히하고 약간 생각할 필요가 있다고 생각한다. 1) 내가 무엇을 의미하는지 완전히 명확하지 않다. '스레드가 커밋하기를 미리 결정하는 방법이 있는가? ? '. 2) 클러스터 스케줄링, 이것이 기법인가, 문제 도메인인가? [나는 주로 스케줄링이 아닌 추측으로 작업합니까?] 3) 일정에 대한 충돌을 최소화하기 위해 실행되지 않은 스레드의 쓰기 세트를 알고 싶어하는 것 같습니다. * 경우에 따라 * 근사 할 수도 있지만 엄밀히 말하면 미래를 볼 필요가 있습니다! 명확한 설명을 위해 –

+0

가 업데이트되었습니다. – user1461119

+0

소프트웨어 트랜잭션 메모리를 살펴볼 수 있습니다. http://en.wikipedia.org/wiki/Software_transactional_memory –

답변

0

여전히 클러스터가 의미하는 바를 정확히 100 % 확신 할 수는 없지만 여기에는 공유 메모리 시스템과 간단한 소프트웨어 기반 TLS 시스템 *을 기반으로 한 대답이 나와 있습니다. T2의 실행을 지연 선택하려면


, 당신은 읽기를 알고 T2 세트를 작성하고, 모든 실행 스레드 기내 세트를 비교해야합니다.

a[i] = b[c[i]] 

어느 정적 근사 성공할 수, 또는 수 있다고 갖는 판독 - 및 - 기록 세트가 데이터 종속 될 수있는 일반적

는 이것은 불가능 프로파일 링 사용.


가능한 영감을 제안, 사물 당신은

  • 기억 마음

    을 유지하기 위해 필요 해요 : RAW, RAR, WAR :의 주문 사항에 액세스합니다.

  • 흥미로운 인용 당신은 추적 할 수 :

    Arnamoy Bhattacharyya을. 입력 사항이 중요합니까? 데이터 의존성 프로파일 링을 사용하여 BlueGene/Q에서 스레드 레벨 추론을 평가합니다. 병렬 아키텍처 및 컴파일 기술 (PACT '13)에 표시하려면

    이는 입력 종속성에 대해 최소한의 걱정없이 벗어날 수 있음을 나타냅니다.

* 소프트웨어 TLS :이 전체 대화는 hardware speculation platform.에 있습니다.

+0

Matthew에게 감사드립니다! 정확히 내가 무엇을 찾고 있었는지. – user1461119

관련 문제