[정글] WEEK07 - WIL : 탐험준비 ProxyWeb lab 회고

Jayden·2022년 5월 23일
0

정글

목록 보기
9/13

공부한 내용 키워드

UNIX I/O - file discriptor, file table, system call (Robust IO)
Socket Interface
Network Layer - LAN, WiFi, 5G ... -> IPv4, IPv6 -> TCP, UDP -> http, ssh, and so on

7주차 회고

cache가 적용된 proxy 구현 과정에서

LRU policy 캐싱에 대해서 우선순위 관리가 어려운 부분

  • 구현한 방식은 캐시를 list로 관리하고 캐시블럭 안에 priority를 저장함. 새로운 요청에 대해 캐싱하기 위해 낮은 우선순위의 블럭을 찾을 때 항상 선형탐색을 해야한다는 단점. 그리고 캐싱된 블럭을 찾아 바로 요청에 응답할 수 있는 상황이라면 해당 블럭의 priority를 높여주어야 하는데 이 priority 또한 공유자원이라 수정하기 어려운 점이 있었음.

  • 큐(Queue)를 사용해서 가장 낮은 우선순위는 항상 front에, 높은 우선순위는 항상 rear에 붙여넣는다면 해결될 것 같음. 우선순위 낮은 캐시블럭 찾을땐 popleft하면 끝나고, 우선순위 높은 캐시블럭은 항상 오른쪽에 있어서 관리가 쉬워질 것 같음. 또한 read 될 때마다 해당 블럭을 빼내고 (나머지들끼리 연결해주고) 맨 오른쪽에 붙여주기만 하면 됨. 이 때 cache queue의 순서를 수정하기 위한 qMutex, 캐시블럭을 읽고 수정하기 위한 wMutex, readCnt를 수정하기 위한 rcMutex 필요할 듯. 구현해보고 싶었으나 시간이 없어서 pass...

컴퓨터 시스템 스터디

몇 주간 진행되었던 컴퓨터시스템(CS:APP) 스터디
어렵지만, 살아오면서 궁금했던 것들이 깨달아져 퍼즐이 맞춰졌을떄 오는 기쁨, 유레카!

profile
#코딩 #개발 #몰입 #꾸준함

0개의 댓글