2024 Operating Systems

Multi-Queue Scheduling 에 대하여

Author
ㅁㄴㅇㄹ
Date
2024-04-13 19:48
Views
94
------------------------------------------수업게시판 규칙------------------------------------------------
커뮤니티가 아닌 공적인 수업 게시판으로 서로 간의 예의를 지켜야 합니다.
비밀 게시물의 경우 확인하지 않고 답변해드리지도 않습니다.
----------------------------------------------------------------------------------------------------------

Multi-Queue Scheduling에서 각각의 코어가 본인만의 ready quueu를 가지고 있다고 가정할 때
Work Stealing이 일어나게 되는 경우 본인의 우선순위는 유지되며 넘어간다고 알고있습니다.
이때 Multi-Queue Scheduling에서는 core 마다 하나의 ready queue를 쓰는데 하나의 queue만으로 어떻게 우선순위에 대한 분류가 가능한가요?
Total 5

  • 2024-04-14 10:24

    queue라고 해서 꼭 단순 구조 queue를 쓰는 것이 아닌 우선 순위 큐를 사용한다고 생각합니다. 따라서 6page "Then it is scheduled essentially independently" 라는 설명에 맞게 코어마다 CFS , Realtime , Deadline 으로 알고리즘이 돌아가고 각각 알고리즘에 맞는 자료구조(예 RB-tree)를 쓰는 것이라 생각합니다.


    • 2024-04-14 17:39

      단순 queue가 아니기에 queue하나로도 우선순위를 결정할 수 있다는 말씀이신가요?


      • 2024-04-15 10:09

        네, 맞습니다. 우선순위대로 정렬이 되기 때문에, 새로 들어온 work 의 우선순위를 확인하여 ready queue를 정렬하게 됩니다.


        • 2024-04-15 19:12

          그렇다면 MLFQ 에서는 각각의 queue는 단순 구조 queue이며 각각의 queue는 우선순위가 정해져있다고 생각해도 될까요?


          • 2024-04-16 11:54

            Queue에 Priority가 있다는 것이 아닌 Queue 안에서 Priority를 기준으로 프로세스가 정렬되는 것입니다.
            Multi-Queue Scheduling 에서 설명하는 Queue는 One per CPU로 CPU 마다 하나씩 존재하는 것이며, Queue 자체에는 우선순위가 없습니다.


Scroll to top