-
Notifications
You must be signed in to change notification settings - Fork 0
01. Inspecting interference between MIG Instances
HongBeenKim edited this page Jul 19, 2022
·
1 revision
여러 개의 MIG instance가 동시에 memory intensive task를 수행할 때,
instance 사이의 memory access isolation이 이상적으로 이루어지는지 확인하는 실험을 해보려고 합니다.
- A100 GPU에 7개의 1g.5gb 인스턴스를 할당합니다.
- 하나의 1g.5gb instance에서 행렬곱 kernel을 실행하고 시간을 측정합니다.
- 여섯 개의 1g.5gb instance 각각에서 행렬곱을 계속 반복하는 kernel을 실행합니다. 행렬의 크기는 2번 단계에서와 같게 조절합니다.
- 나머지 하나의 1g.5gb instance에서 2번 단계와 마찬가지로 행렬곱 kernel을 실행하고 시간을 측정합니다.
- 2번 단계와 4번 단계에서 측정한 시간을 비교합니다.
- 행렬 크기를 바꿔가며 1~5단계를 반복합니다.
instance 한 개에서 단독 실행했을 때의 kernel profiling 결과

instance 7개에서 동시 실행했을 때의 kernel profiling 결과

단독 실행과 동시 실행에서 측정된 시간은 각각 220 ms 와 155 ms 입니다.
instance 한 개에서 단독 실행했을 때의 kernel profiling 결과

instance 7개에서 동시 실행했을 때의 kernel profiling 결과

단독 실행과 동시 실행에서 측정된 시간은 각각 5096 ms 와 5048 ms 입니다.
instance 한 개에서 단독 실행했을 때의 kernel profiling 결과

단독 실행과 동시 실행에서 측정된 시간은 각각 39921 ms 와 39993 ms 입니다.
행렬이 작은 경우에는 모든 instance에서 동시에 kernel이 실행될 때 오히려 latency가 짧습니다.
행렬이 큰 경우 latency에 뚜렷한 차이가 나타나지 않습니다.