피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
OpenBSD 7.9 출시
OpenBSD 7.9: CPU 이기종 코어 관리 및 Parking Lock 도입을 통한 보안·효율 최적화
AI 요약
Context
기존 스케줄러의 단순한 프로세스 배치 방식으로 인해 big.LITTLE 구조의 저성능 코어에서 컴파일 속도 저하 및 전력 효율 최적화 문제 발생. 또한 커널 뮤텍스 내 CAS Spinlock의 높은 CPU 자원 소모로 인한 성능 병목 지점 존재.
Technical Solution
- hw.blockcpu 설정을 통한 CPU 코어 타입(P, E, S, L) 구분 및 스케줄러 제외 메커니즘 구현
- 불필요한 저성능 코어 사용을 원천 차단하는 거친 접근(Coarse-grained approach)으로 연산 속도 보장
- 커널 뮤텍스 내 CAS Spinlock을 Parking Lock 구조로 교체하여 대기 스레드의 CPU 점유 방지
- 스케줄러 협력적 양보(Yield) 방식을 통해 락 경쟁 시 컨텍스트 스위칭 유도로 리소스 낭비 제거
- Exim을 ports에서 제거하고 현대적 설정 방식을 지원하는 OpenSMTPD로의 전환 가속화
실천 포인트
- 이기종 코어 환경에서 워크로드 특성에 맞는 CPU Affinity 설정 및 저성능 코어 격리 검토 - 락 보유 시간이 길거나 경쟁이 심한 구간에서 Spinlock 대신 Parking Lock(또는 Sleep-lock) 도입 고려 - 보안 민감도가 높은 서버 설계 시 Binary Blob 제거 및 최소 권한 원칙 기반의 단순한 스택 구성 지향