Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO 영역/Customer queueing/step-2 optimization 관련 질문드립니다. #13

Open
YueunLee opened this issue Jun 19, 2024 · 3 comments

Comments

@YueunLee
Copy link

YueunLee commented Jun 19, 2024

안녕하세요.

TODO가 붙어있는 코드 영역만 수정이 가능할 것 같은데, 이 부분의 기준이 혹시 엄격한 것일지 궁금해 질문드렸습니다.
kitchen_task 함수에는 TODO 영역 이후에도 주석이나 코드가 몇 줄 더 있는데, 정확히 TODO 주석 줄부터 다음 주석 줄 전까지의 영역에만 코드를 작성해야 하는 것인지 궁금합니다. 예를 들어 그 다음 주석이 // If every burger is made, fire signal to serving thread 인데, 여기에 해당하는 영역 이후에 코드를 조금 덧붙혀도 되는지 알고 싶습니다.

+) 추가적으로, listenfd 에서 queueing되는 customer 수는 얼마로 설정해야 하나요? 특별히 명시되어 있지 않은 것 같아 질문드립니다.

+) 또, 과제에서 reference 코드(step-1을 통해 구현된 코드)보다 더 빠르게 작동하도록 진행하는 step-2 단계가 있는데, 제 경우에는 step-1으로 구현한 상태에서 reference보다 실행 시간(real)이 빠른 것 같습니다. 혹시 time ./client 10 등을 실행했을 때 출력되는 실행 시간 데이터에서, 전체 시간이 아니라 user mode에서 실행되는 시간 등에 집중하여 보아야 하는 걸까요? 아래는 순서대로 제 코드와 reference 코드의 time ./client 10 실행 결과입니다.
image
image

감사합니다.

@YueunLee YueunLee changed the title TODO 영역 관련 질문드립니다. TODO 영역/Customer queueing/step-2 optimization 관련 질문드립니다. Jun 19, 2024
@kwonsw055
Copy link
Collaborator

  • TODO 바깥 영역도 수정하셔도 됩니다. DO NOT MODIFY 부분만 수정하지 않으시면 됩니다.
  • Queueing되는 customer 수는 문제가 발생하지 않을 크기로만 지정하시면 됩니다.
  • real 시간을 비교하시면 되고, reference보다 빠르다면 step-2는 완료되었다고 판단하셔도 됩니다.

@YueunLee
Copy link
Author

YueunLee commented Jun 19, 2024

답변 감사합니다!
다만 혹시 customer queueing에서 발생할 수 있는 '문제' 라는 게 어떤 걸 의미하시는 건지 말씀해주실 수 있을까요?
그리고, step-2 관련해서 그러면 보고서에는 뭐라고 써야 할지 잘 모르겠습니다... Optimization strategy 를 작성하라고 나와 있는데, 현재 제 코드의 알고리즘을 설명하는 것으로 충분할까요?

@kwonsw055
Copy link
Collaborator

  • Max customer 만큼의 customer가 들어오는 상황을 감당할 수 있으면 됩니다.
  • global mutex를 사용하는 reference 구현 대비 자신의 구현이 어떻게 parallelism을 더 적절하게 사용했는지 생각해보시고 보고서를 작성하시면 되겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants