2019 컴퓨터 시스템 소사이어티 후기

Home Forums News 2019 컴퓨터 시스템 소사이어티 후기

This topic contains 0 replies, has 1 voice, and was last updated by  OSlab 3 months, 3 weeks ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #1293

    OSlab
    Keymaster

    안녕하세요. 석사과정 김수완입니다.

    이번 컴시스 학회에서는 다양한 세션 중 연구실 선배님이신, 진현욱 교수님이 좌장을 맡으신 SW 시스템 세션을 중심적으로 들었습니다.

    연구실에서 수행중인 네트워크 시스템 관련 연구주제와 관련된 다양한 연구 동향을 살펴볼 수 있는 좋은 기회였습니다.

    각 연구별로 주요한 내용을 요약하면 다음과 같습니다.

    1. Coordinated and efficient Huge Page Management with Ingens
    권영진 교수, Kaist

    기존의 가상 메모리환경에서 가장 큰 오버헤드는 가상주소 traslation이다. 그런데 하이퍼바이저가 관리하는 가상화 환경에서는 가상주소 translation이 2단계로 필요해 더 많은 translation오버헤드가 발생한다. Page table walking에만 CPU cycle의 40%를 사용하고 가상화 환경에서는 70%까지 사용한다.

    이러한 가상주소 translation 오버헤드를 줄이기 위한 해결책이 Large memory system이다. 기존에는 TBL사용해 translation을 빠르게 했지만 문제는 어플리케이션의 크기가 커짐에 따라 상대적으로 작은 TBL는 크기가 큰 어플리케이션의 locality를 커버할 수 없어서 TLB miss가 많이 일어났다.

    그래서 하드웨어 제조사들이 기존의 4KB page보다 큰 페이지 사이즈를 커버할 수 있도록 큰 사이즈의 TLB를 개발했다. 커진 TLB에 따라 FreeBSD, 리눅스에서도 2011, 2012년부터 huge page를 지원하기 시작했다. 그러나 많은 어플리케이션은 huge page를 사용하지 말 것을 권장했다. 리눅스의 huge page 할당에 큰 단점이 있었기 때문이다.

    첫 번째 단점은 Huge Page Fault latency이다. 2MB 페이지에 대한 page fault 처리가 4K 페이지에 비해 매우 느렸다. 때문에 어플리케이션의 resume delay (tail latency)가 매우 길어졌다. 그리고 두 번째 단점은 memory bloating이다. 어플리케이션은 메모리 파편화 때문에 실제 사용량보다 많은 메모리를 차지하는데, 이는 연속적인 메모리인 huge page할당을 어렵게 만들고 기존 메모리에 대한 스왑이 잦게 일어난다. 따라서 어플리케이션의 성능은 더욱 떨어진다.

    Ingens에서는 이러한 문제점을 해결하기 위해 huge page 할당을 위한 메모리 compaction을 page fault handler에서 처리하지 않고 백그라운드 프로세스에서 할당하도록 했다. 백그라운드 프로세스에서 memory compaction을 지속적으로 수행해 메모리의 일정량 이상을 사용한다면 huge page로 전환할 것을 요청한다. 이렇게 page fault handler의 huge page 할당과 관련된 일을 백그라운드 프로세스에서 수행하도록 하여 memory floating을 막고 page fault 오버헤드를 줄였다.

    특히 본 연구는 디자인 자체가 복잡하지는 않지만, 페이지 관리와 같은 매우 낮은 지연을 요구하는 시스템 컴포넌트는 디자인이 간결하면서도 모든 상황에 적용 가능한 디자인이 좋은 연구라는 것을 잘 보여주는 사례로 보였다. 이러한 점은 향후 우리 연구실이 커널 기반 네트워크 연구를 할 때도 유념해야 할 것으로 생각했다.

    2. MC-SDN: Supporting Mixed-Criticality Real-Time Communication Using Software-Defined Networking
    이진규 교수, 성균관대
    이 연구는 자율주행, 항공, 스마트 팩토리 같은 사이버 피지컬 시스템을 위한 네트워크 자원을 관리하는 방법에 관한 연구이다. 특히 CPS 네트워크의 요구사항인 안전성과 자원 효율성을 모두 지원하기 위해 mixed-crititcality 개념을 도입했다. 기존 연구들은 실시간성을 보장하기 위한 안전성 또는 네트워크 자원을 효과적으로 사용하기위한 자원 효율성만을 고려했지만, 이 연구는 둘다를 고려하여 여러 실시간성 어플리케이션들이 단일 하드웨어를 공유하는 환경을 목표로 했다.

    연구의 핵심적인 디자인은 네트워크 자원을 모든 어플리케이션의 실시간성을 보장하는 일반모드와 중요도가 높은 어플리케이션의 실시간성만 보장하는 긴급모드로 동작할 수 있도록하여 네트워크 상황에 따라 다르게 동작하도록 했다. 긴급모드일 경우엔 우선순위가 낮은 어플리케이션의 패킷을 드랍하는 방식을 사용한다. 또한 SDN 개념을 적용하여 이 자원들을 동적으로 관리할 수 있도록 했다. 그리고 컨트롤러가 아닌 스위치내부에서 상황을 판단하고 다른 스위치로 브로드캐스팅하여 빠르게 모드를 변경할 수 있도록 최적화했다. 요약하자면, mixed-ciriticality 방식을 통해 실시간성이 요구되는 여러 어플리케이션들의 요구사항을 만족시켜줄 뿐만 아니라 네트워크 자원을 효율적으로 관리하는 연구이다.

    3. How will Deep Learning Change Internet Video Delivery
    한동수 교수, Kaist

    전 세계 인터넷 트래픽의 대부분은 넷플릭스, 유튜브와 같은 비디오 스트리밍이다. 현재 비디오 스트리밍은 서버에서 여러 bit rate로 인코딩을 해두고 network bandwidth상황에 따라 적절한 bit rate의 비디오 chunk를 보낸다. 기존의 연구들은 주어진 네트워크 자원을 어떻게 효율적으로 사용할 것인가에 집중해 문제를 해결했다. 그런데 비디오 디코딩은 간단하기 때문에 컴퓨팅 자원을 많이 사용하지 않는다. 그리고 클라이언트의 GPU와 같은 컴퓨팅 자원은 점차 성능이 좋아졌다. 성능이 좋아진 클라이언트의 GPU 자원을 비디오 스트리밍에 활용해야 한다.

    비디오를 인코딩 할 때 GOP(Group of picture) 단위로 인코딩을 하는데 이는 스트리밍이라는 특성 때문이다. 비디오는 같은 장면이 반복해서 나오는 특성이 있다. 이를 활용해서 클라이언트에서는 DNN을 통해 high level feature를 추출한다. 기존 GOP 단위 인코딩과 달리 DNN은 전체 비디오를 학습할 수 있기 때문에 GOP이상의 단위로 scaling이 가능하다. DNN을 통해 추출한 특성들을 사용해 화질을 upscaling한다.

    그러나 DNN을 활용해 upscaling을 해도 오히려 비디오 quality가 낮아지는 상황이 발생한다. 그리고 실시간 비디오 스트리밍의 경우 RT DNN처리가 필요하다. 이러한 한계를 해결할 필요가 있다.

    본 연구는 스트리밍과 네트워크 시스템과 같은 전통적인 네트워크 연구에 딥러닝을 적용하면서도, 딥러닝의 특성을 그대로 적용하지 않고 시스템에 적합하게 필요한 부분만을 차용했다는 점에서 기존의 연구와 차별성이 있고 앞으로 우리 연구실이 수행하는 다양한 시스템 연구에서도 접목할 만한 포인트가 많았다고 생각했다.

    KakaoTalk_20190129_152307203

    KakaoTalk_20190131_165323060

    KakaoTalk_20190131_165323787

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.