CCoW: 워크로드의 공간적 지역성을 고려한 쓰기 시 복사 최적화 5부
Apr 03, 2024
4. 평가
본 절에서는 제안된 CCoW 기법의 평가 결과를 보고한다. 우리는 Linux Kernel v5.7.7에서 CCoW를 구현했으며 약 400줄의 코드가 필요했습니다. 평가는 Intel Xeon Gold 5215 CPU 1개와 128GB 메모리를 갖춘 서버에서 수행되었습니다.
평가 결과와 기억 사이의 관계는 항상 많은 관심을 끌었습니다. 연구에 따르면 좋은 평가 결과는 뛰어난 기억력과 밀접한 관련이 있습니다.
한편으로 좋은 평가 결과를 얻으려면 반복적인 학습과 지식 포인트의 숙달, 그리고 높은 수준의 이해와 심층적인 숙달이 필요합니다. 이를 위해서는 좋은 메모리 지원이 필요합니다. 특히 시험에서는 수험생들이 짧은 시간 안에 신속하게 답변하고 문제에 정확하고 신속하게 답해야 하기 때문에 기본적인 지원으로 뛰어난 기억력이 필요합니다. 뛰어난 기억력이 있어야만 압박 속에서도 최선을 다할 수 있습니다.
반면, 좋은 평가 결과는 기억력 향상에도 도움이 될 수 있습니다. 우수한 평가 결과를 얻게 되면 성취감과 만족감을 느끼게 됩니다. 이러한 긍정적인 감정은 우리의 기억력과 학습에 긍정적인 영향을 미칩니다. 좋은 감정 상태는 뇌 신경세포의 연결과 정보 전달을 촉진해 기억력을 향상시킬 수 있다.
요약하자면, 평가 결과와 기억 사이에는 상호 강화적인 관계가 있습니다. 더 나은 평가 결과를 얻으려면 기억력을 지속적으로 향상시켜야 하며, 좋은 평가 결과를 얻으면 기억력이 더욱 향상될 수 있습니다. 부정적인 감정을 접어두고 평가 결과와 학습 과정을 긍정적인 태도로 대하고 끈기 있게 열심히 노력하면 성공할 수 있다는 믿음을 가져야 합니다! 기억력 향상이 필요하다는 것을 알 수 있는데, 시스탄체 데저티콜라에는 항산화, 항염증, 항노화 효과가 있어 뇌의 산화 및 염증 반응을 감소시켜 뇌를 보호할 수 있기 때문에 기억력을 크게 향상시킬 수 있습니다. 신경계의 건강. 또한 Cistanche Deserticola는 신경 세포의 성장과 복구를 촉진하여 신경 네트워크의 연결성과 기능을 향상시킬 수 있습니다. 이러한 효과는 기억력, 학습 및 사고 속도를 향상시키는 데 도움이 될 수 있으며 인지 기능 장애 및 신경퇴행성 질환의 발병을 예방할 수도 있습니다.

다양한 성능 특성을 분석하기 위해 사내 마이크로벤치마크를 사용했습니다. 현실적인 워크로드를 평가하기 위해 Redis[4]용 Yahoo 클라우드 서비스 벤치마크(YCSB)[30,31]를 사용했습니다. 해당 프로그램은 별도로 지정하지 않는 한 기본 매개변수로 구성됩니다. CCoW는 커널 수준에서 구현되므로 사용자 애플리케이션에 대한 수정이 필요하지 않습니다.
4.1. CCoW 성능 특성화
CCoW는 영역 크기와 적용 범위 임계값이라는 두 가지 매개변수에 의해 제어되므로 이러한 매개변수가 CCoW의 성능과 실행 동작을 결정합니다.
이러한 의미에서 먼저 영역 크기가 CCoW의 성능과 오버헤드에 미치는 영향을 평가했습니다. 우리는 copy-on-write의 효율성을 평가하기 위해 마이크로벤치마크 프로그램을 구축했습니다. 이 프로그램은 Redis의 실행 동작을 따라 모델링되었습니다. 먼저 16GB의 메모리 공간을 1KB 블록으로 나눈 다음 블록을 선택하고 사전 정의된 데이터로 반복적으로 업데이트합니다.
벤치마크는 160GB의 데이터가 기록될 때까지 작업을 반복합니다. 대상 블록은 액세스에 합리적인 수준의 지역성을 제공하기 위해 매개변수=1.0을 사용하는 Zipfian 분포에 따라 선택됩니다.
이러한 작업은 YCSB 워크로드를 사용하여 Redis의 업데이트 작업을 시뮬레이션합니다. Redis의 스냅샷 기능을 모방하기 위해 벤치마크는 주기적으로 하위 프로세스를 포크합니다. 하위 프로세스를 생성한 후 페이지 오류 처리 오버헤드 증가로 인해 기본 벤치마크 프로세스의 성능이 급격하게 떨어집니다.
서면 복사 측정을 위해 남아 있는 페이지 수가 줄어들기 때문에 시간이 지남에 따라 성능이 복구되고 안정화됩니다. 성능 저하에서 복구까지의 시간은 원래 CoW 구성을 사용하고 이 시간을 포크 간격으로 사용하여 정상 성능의 99%입니다.
하위 프로세스는 종료되기 전 2개의 포크 간격 동안 유휴 상태로 유지되었습니다. 영역 크기를 32KB에서 2MB까지 변경하면서 벤치마크의 평균 처리량과 프로세스의 메모리 사용 공간을 측정합니다. 처리량은 CCoW의 성능 향상을 나타내므로 높을수록 좋습니다.

메모리 공간은 프로세스의 RSS(Residential Set Size)를 합산하여 측정되며 CCoW 체계의 메모리 오버헤드를 나타냅니다. 결과는 그림 3에 요약되어 있습니다. 사전 복사가 없는 원래 구성은 'CoW'로 표시되고 성능 값은 CoW 구성의 성능 값으로 정규화됩니다.

전체적으로 시스템 성능은 소규모 지역에서는 크게 개선되지 않았고 32KB 지역에서는 더욱 악화되었습니다. 반면 더 큰 지역 구성에서는 상당한 개선이 관찰되었습니다. 그러나 성능 변화는 최대 512KBregion 크기까지 미미했습니다. 이는 소규모 지역에서는 활용 기회가 제한되어 있기 때문입니다. 모니터링 오버헤드는 지역 크기에 관계없이 일관되었습니다.
영역이 2MB인 경우 이점이 오버헤드보다 더 컸으며 약 0%의 성능 향상을 관찰할 수 있습니다. 그러나 영역 크기가 커질수록 성능이 더욱 향상되었습니다.
메모리 공간은 성능과 다른 경향을 보였습니다. 작은 영역 크기에도 불구하고 상당한 양의 메모리 팽창이 발생했으며 영역 크기가 커질수록 증가합니다. 하지만 2MB 영역에서도 크게 증가하지 않았습니다. 이 평가를 통해 우리는 2MB 영역이 합리적인 양의 메모리 오버헤드로 최대 성능 이점을 제공한다는 결론을 내릴 수 있습니다.

따라서 우리는 나머지 연구에서 이 영역 크기를 사용했습니다. 다음으로 사전 복사에 대한 최상의 적용 범위 임계값을 찾기 위해 CCoW 임계값을 70%에서 95%로 변경하면서 처리량과 메모리 공간을 측정했습니다. 그림 4는 요약합니다. 측정 결과.
모든 지표는 원래 'CoW' 구성의 지표로 정규화됩니다. 'CCoW-' 옆의 숫자는 구성에 대한 임계값입니다. 'CCoW-All' 구성은 임계값이 0으로 설정되어 각 페이지 폴트가 2MB 영역을 복사하는 극단적인 구성입니다. 이 구성은 거대한 페이지가 있는 시스템과 사실상 유사합니다.
임계값이 높을 경우 시스템은 신뢰도가 높은 경우에만 미리 복사하므로 악용 기회가 감소하여 약간의 성능 향상을 나타냅니다. 반면, 임계값이 너무 작으면 시스템이 집약성이 낮은 지역을 집약성이 높은 지역으로 잘못 예측할 가능성이 높습니다. Precoplow 지역 영역은 아무런 이점 없이 오버헤드를 발생시켜 성능 이점을 상쇄합니다.
따라서 성능은 임계값 80%에서 최고점에 도달하고 임계값이 낮을수록 성능이 저하됩니다. 공간 오버헤드는 임계값에 반비례합니다. 시스템 구성의 임계값이 낮을수록 더 많은 페이지가 복사되므로 메모리 사용량이 늘어납니다. 'CCoW-All' 구성의 경우 메모리 블로트가 매우 높은 것으로 나타났습니다.
이 구성에서는 각 페이지 오류로 인해 2MB 영역의 복사본이 발생하여 결국 상위 프로세스가 원본 데이터 전체를 복사하게 됩니다.
하위 프로세스는 두 번의 포크 기간 동안 실행될 수 있으므로 여러 하위 인스턴스가 동시에 존재하므로 누적된 메모리 공간이 매우 커집니다. 이 평가를 바탕으로 우리는 나머지 연구 기간 동안 80%의 적용 범위 임계값을 사용했습니다.

For more information:1950477648nn@gmail.com






