우리 시스템에서 좀비 찾기: CPU 병목 현상에 대한 ... 노트

우리 시스템에서 좀비 찾기: CPU 병목 현상에 대한 실제 이야기

Pinterest의 ML 플랫폼 팀은 간헐적인 네트워크 연결 문제로 인해 Ray 기반 학습 작업이 중단되는 문제를 겪었고, 이에 따라 PinCompute 팀이 조사를 시작했습니다. 3개월에 걸친 조사 결과, 이러한 실패는 AWS EC2 인스턴스의 ENA 네트워크 드라이버 재설정과 관련이 있다는 사실이 밝혀졌습니다. CPU 부족으로 인해 발생하는 이러한 재설정은 높은 시스템 CPU 사용량과 관련이 있었습니다. 처음에는 팀에서 거대한 페이지와 메모리 할당자를 사용하는 등 다양한 해결책을 시도했지만 모두 문제를 해결하지 못했습니다. 이상하게도 문제는 Pinterest의 AWS 가용 영역 중 하나에서만 발생했습니다. perf와 mpstat를 사용한 프로파일링 노력은 단일 CPU 코어 포화 상태를 식별했습니다. perf를 사용한 시간 프로파일링 설정은 간헐적으로 높은 CPU 리소스를 소비하는 프로세스가 범인임을 밝혀냈습니다. 이 프로세스는 좀비 프로세스로 식별되었습니다. 좀비와 CPU 사용량 및 네트워크 드라이버 성능에 미치는 영향이 발견되면서 시스템 병목 현상에 대한 더 깊은 이해를 얻게 되었습니다.
CdXz5zHNQW_ETi1Y6sqJq.png