두 개의 행렬 즉 A (1500 행렬)와 B (150000 행렬)가 있습니다.큰 데이터를위한 Java의 병렬 컴퓨팅
집합 A의 각 행렬 a에 대해 a와 b의 B 검사 기준에서 모든 요소 b를 반복합니다 (일부 행렬 b의 경우 참이면 iterating을 중지하고 참을 반환합니다.) 그러나 반복 이후 일치 항목이없는 경우 Set B 전체를 false로 리턴).
제 질문은 Java를 사용하여이 프로그램을 병렬로 만드는 방법입니까?
매트릭스 세트가 상당히 크다는 것을 알고 있습니다. (위에 게시 한 요소의 개수는 실제 사례의 경우 더 많을 것입니다.) 계산을 정확히하는 방법? 1 5000 개의 스레드를 생성하고 실제로 모든 계산을 수행하는 것은 좋은 생각이 아닙니다. 모든 계산 작업을 수행하는 최적의 스레드 양은 얼마입니까?
Executors.newFixedThreadPool (numberOfThreads)을 작성하십시오. 여기서 스레드 수는 JVM이 사용할 수있는 코어의 수에 의해 제한됩니다. –
여기에 잘못된 문제를 해결하려는 것 같습니다. 진정한 질문은 "이 검사를 빨리하기 위해 최대한 많은 CPU를 사용할 수 있습니까?"... "어떻게 이런 검사를하지 않을 수 있습니까?" 예를 들어, 행렬을 세트 또는 맵에 저장하거나 가능한 경우 확인해야하는 기준으로 색인 된 행렬을 저장합니다. – cHao
@cHao 검사를 피할 수 있다고 생각하지 마십시오. –