표준 편차와 표준 오차에 대해서 알아보겠습니다. 제가 이 둘을 헷갈려해서 따로 정리하여보았어요~ 그런데 저 뿐만아니라 많은 분들도 헷갈려 하시더라구요. 표준편차 (SD, Standard Deviation) - 점수집합 내에서 점수들 간의 상이한 정도를 나타내는 산포도 측정 도구 - 표준편차가 클수록 평균값에서 이탈한 것 - 표준편차가 작을수록 평균값에 근접한 것 - 변수값이 평균값에서 어느 정도 떨어져 있는지를 알 수 있음 모표준편차 표본표준편차 왜 분모가 n-1인지는 다른 글에 써놓았습니다. 표준오차 (SE, Standard Error) - 표본추출의 과정에서 발생하는 오차와 연관된 것으로 추정량의 정도를 나타내는 측정 도구 - 표본이 모집단으로부터 얼마나 떨어져 있는지를 나타내는 것(모집단이라는거에 ..
Hyper threading 하이퍼 스레딩이라는 기술을 사용하게 되면 멀티코어를 사용해야 할 작업에서 20~30% 성능향상이 있습니다. 단, 멀티코어가 필요없는 싱글코어로도 충분한 작업에서는 오히려 10%정도의 성능이 저하됩니다. 위의 그래프에 대해 설명합니다. 첫번째 그래프에서 주황색과 파란색의 막대가 각각 시간적 흐름에 따라 하나의 프로세스에서 필요로 하는 자원의 양을 나타내고 있습니다. 멀티태스킹이 이루어지는 원리는 운영체제 상에서 매우 작은 시간 단위로 각각의 작업을 번갈아가며 실행시키기 대문에 가능한 것입니다. 따라서 두번째 그래프에서 묘사된 대로 하이퍼스레딩이 적용되기 전의 일반적이 상황에서 두개의 작업이 완료될 때까지 각각의 작업을 따로 실행시킨 것과 동일 한 시간이 걸리게 됩니다. *세번째..
CPU cache cpu cache란? cache memory는 속도가 빠른 장치와 느린 장치 사이에서 속도차에 따른 병목 현상을 줄이기 위한 범용 고속 buffer 메모리를 지칭합니다(SRAM이라고도 합니다). CPU에서는 CPU 코어와 메모리 사이에서 속도차에 따른 병목 현상을 완화하는 역할을 합니다. 프로그램에서 직접적으로 읽거나 쓸 수 없고 하드웨어의 메모리 관리 시스템이 내부적으로 제어합니다. 대부분의 프로그램은 한번 사용할 데이터를 다시 사용할 가능성이 높고, 그 주변의 데이터도 곧 사용할 가능성이 높은 데이터 지역성을 가지고 있습니다. 데이터 지역성을 활용하여 메인 메모리에 있는 데이터를 캐시 메모리에 불러와 두고, CPU가 필요한 데이터를 캐시에서 먼저 찾도록 하면 성능을 향상시킬 수 있습..
CPU란? 중앙처리장치(CPU: Cnetral Processing Unit)는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치입니다. 중앙 처리장치는 제어장치, 연산장치, 레지스터 그리고 이들을 연결하여 데이터를 전달하는 버스로 구성되어 있습니다. CPU의 구성장치 제어장치(control unit) 제어장치(Control Unit)는 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치입니다. 제어장치는 명령 레지스터에서 읽어들인 명령어를 해독하여 해당하는 장치에게 제어 신호를 보내 정확하게 수행하도록 지시합니다. 연산장치(ALU, Arithmetic) 연산장치(ALU, Artihmetic)는 제어장치의 명령에 따라 실제로 연산을 수행하는 장치입니다. 연..
쿠버네티스 기본 개념 쿠버네티스가 어떻게 동작하는지, 설치는 왜 이리 어려운지, 설정 파일은 왜 그렇게 복잡한지 이해하기 위해 쿠버네티스의 디자인과 구성 요소, 각각의 동작 방식을 알아보겠습니다. 쿠버네티스에서 가장 중요한 것은 desired state - 원하는 상태 라는 개념입니다. 원하는 상태라 함은 관리자가 바라는 환경을 의미하고 좀 더 구체적으로는 얼마나 많은 웹서버가 떠 있으면 좋은지, 몇 번 포트로 서비스하기를 원하는지 등을 말합니다. 쿠버네티스는 복잡하고 다양한 작업을 하지만 자세히 들여다보면 현재 상태current state를 모니터링하면서 관리자가 설정한 원하는 상태를 유지하려고 내부적으로 이런저런 작업을 하는 로직을 가지고 있습니다.이러한 개념 때문에 관리자가 서버를 배포할 때 직접적..
쿠버네티스란? 쿠버네티스는 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼입니다. 컨테이너 오케스트레이션이 하는 일은 여러 개의 서버에 컨테이너를 배포하고 운영하면서 서비스 디스커버리Service discovery같은 기능을 이용하여 서비스 간 연결을 쉽게 해주는 것입니다. 서버마다 app01, db01, cache01 같은 이름을 지어주고 하나하나 접속하여 관리하는 것이 아니라 server1, 2, 3, 4..를 하나로 묶어 적당한 서버를 자동으로 선택해 애플리케이션을 배포하고 부하가 생기면 컨테이너를 늘리고 일부 서버에 장애가 발생하면 정상 동작 중인 서버에 다시 띄워 장애를 방지합니다. 다양한 배포 방식 컨테이너와 관련된 많은 예제가 웹(프론트엔드+백엔드) 애플리케이션을 다..