Task Scheduling/Allocation 알고리즘을 설계할 때 고려하는 요소를 설명
태스크 스케줄링 알고리즘을 설계할 때 먼저 어떤 목표를 최적화할지 명확히 하는 것이 출발점이었습니다. 처리량 최대화가 목표인지, 응답 시간 최소화인지, 공정성인지에 따라 전략이 완전히 달라졌습니다. 우선순위 기반 스케줄링에서는 높은 우선순위 태스크가 계속 들어오면 낮은 우선순위가 기아(starvation) 상태가 되는 문제가 생겼고, 에이징(aging) 기법으로 대기 시간에 따라 우선순위를 올리는 방식을 보완책으로 이해했습니다. 실시간 시스템에서는 데드라인 준수가 핵심이라 EDF(Earliest Deadline First) 방식을 공부했고, 데드라인을 놓치면 전체 시스템에 영향을 주는 구조에서 왜 중요한지 이해했습니다. 자원 할당에서는 과부하가 한 노드에 쏠리지 않도록 부하 분산을 설계하는 것이 실제 시스템에서 더 중요했습니다. 이론 알고리즘과 실환경 변수(네트워크 지연, 장애) 사이의 간격을 메우는 것이 설계의 어려운 부분이었습니다.