본문 바로가기
책/인프라엔지니어

[IET] Chapter 2 - 2 서버를 구성하는 부품들(1)

by 파이어볼러 2015. 3. 7.

CPU

 

CPU는 연산을 대량으로 빠르게 처리하는 장치로 사람으로 말하면 두뇌에 해당한다 CPU의 종류는 다양하지만 각각의 가격은 차이가 상당하므로 어느 것을 선택해야 좋을 지 알 수 없는 때도 많다.

 

성능과 발열, 소비 전력 

 

CPU는 연산 능력이 높으면 높을수록 고성능 CPU로 분류된다 이전에는 동작 주파수를 올려서 연산 능력을 높였지만, 일반적으로 CPU의 연산 능력이 높아질수록 발열과 소비 전력도 커지므로 CPU는 성능을 높이면서도 발열과 소비 전력은 억제하는 방향으로 진화해왔다 이제는 동작 주파수를 올려도 성능이 향상된다는 장점보다 소비 전력이 증가한다는 단점이 더 커지게 되었다.

 

따라서 최근에는 동작 주파수를 어느 정도 수준으로 억제하는 대신 멀티 코어나 멀티 스레드와 같은 방식을 이용해서 하나의 CPU로 동시에 처리할 수 있는 연산 개수를 늘려서 연산 능력의 향상을 꾀하게 되었다.

 

CPU용어

 

소켓 수 

 

CPU의 개수

 

코어 수 

 

CPU의 주요 계산 부분, 복수의 코어가 있는 것을 멀티코어 라고 한다

 

스레드수 

 

하나의 코어에서 처리할 수 있는 수(하이퍼스레딩 기능이 있으면 코어 수가 배가 된다)

 

동작 주파수

 

1초당 클럭 수. 동작 주파수가 높을수록 처리 속도가 빨라지지만, 전력 효율이 나빠지고 발열도 증가한다.

 

캐시

 

CPU와 메인 메모리 사이에 캐시 메모리라는 빠른 속도의 메모리가 있다. 캐시 메모리에 자주 액세스하는 데이터를 저장해서 상대적으로 느린 메인 메모리로의 액세스를 줄여 CPU의 처리 향상을 돕는다.

 

하이퍼스레딩

 

하나의 코어로 두 개의 처리를 실행할 수 있는 기술(Inter CPU에서 사용하는 용어)

 

터보부스트 기술

 

CPU의 속도를 자동으로 기준 클럭보다 빠르게 동작시키는 기능. 전혀 일을 하지 않는 코어가 있을때 일을 하고 있는 코어를 클럭 업 시키는 기술(Inter CPU에서 사용하는 용어)

 

메모리

 

메모리는 단기 기억 영역이라고 불리며, 일시적으로 데이터를 기억할 수 있지만 전원이 공급되지 않으면 데이터가 모두 지워진다. 메모리에서 가장 중요한 요소는 메모리 용량의 크기지만 서버용 메모리에서는 ​용량 이외에도 내장애성, 성능, 저전력 등이 중시된다

 

메모리에도 다양한 종류가 있찌만 최근에는 DDR3 SDRAM(Double-Data-Rate3 Synchronous Dynamic Random Access Memory)가 많이 사용된다



 

 

성능

 

메모리의 속도는 메모리 자체의 속도와, CPU와 각종 버스 간의 데이터 전속폭을 모두 고려한다 보통 DDR3 메모리는 DDR3-1600 처럼 표기한다 이중에서 1600에 해당하는 부분이 데이터 전송 속도를 나타내는데 이 경우는 1,600MHz로 동작한다는 것이다 모듈의 데이터 전송 속도는 1,600Mhz x 8bytes = 12,800MB/초 = 12.8GB/초가 된다.

 

또한 다중 채널 메모리 구조를 사용하면 CPU나 각종 버스 간의 통신에서 기본 64bit인 데이터 전송폭을 듀얼 채널은 2배, 트리플 채널은 3배로 늘릴 수 있다. 그리고 다중 랭크 메모리를 이용하면 마찬가지로 64bit의 데이터 전송폭을 듀얼 랭크에서는 2배, 쿼드 랭크에서는 4배로 늘릴 수 있다

 

메모리 용어

 

슬롯 

 

메모리는 메인보드에 꽂는다. 슬롯은 메인보드에 있는 메모리 삽입구를 말한다. 즉 메모리 슬롯이 8개인 서버는 메모리를 8개 삽입할 수 있다 일반 컴퓨터의 메모리 슬롯은 보통 몇개 정도 지만 최근에는 1U서버에서도 수십개나 되는 슬롯이 있는 서버가 등장했다

 

ECC메모리

 

메모리 고장으로 비트 반전 오류가 발생했을 때, 자동으로 보정, 감지할 수 있도록 ECC(Error Correction Code/오류 보정 부호) 라고 불리는 패리티 정보가 추가된 메모리를 ECC 메모리라고 한다

 

하드디스크 처럼 가동 부분이 있는 부품과 비교하면 메모리는 고장이 잘 나지 않지만, 서버 운영 대수가 수백 대를 넘어서는 시전부터 메모리 오류를 보게 된다 ECC 메모리가 아닌 메모리를 사용했을 때는 메모리 고장이 발생해도 비트 반전 오류를 메모리가 스스로 바로 잡는다 그 사이에 운영체제는 메모리 고장을 감지해 경고를 내보내므로, 경고가 일어나면 일반적인 방법으로 운영체제를 끈 후 정상적인 새 메모리로 교환할 수 있다

 

일반적으로 ECC 메모리와 비 ECC 메모리를 섞어서 사용할 수 없지만, 서버에 따라서는 BIOS에서 ECC 기능을 끄고 ECC 메모리와 비 ECC메모리를 섞어서 사용할 수 있는 서버도 있다

 

채널

 

CPU와 메인보드의 칩셋이 복수의 채널을 지원하면, 채널별로 같은 종류의 메모리를 탑재해 데이터 폭을 넓히고 성능을 높일 수 있다. 하나의 메모리로는 64bit의 데이터 폭으로 전송되지만 듀얼 채널 환경에서는 2개의 메모리를 동시에 액세스해서 128bit의 데이터 폭으로 전송할 수 있게 된다. 트리플 채널이나 쿼드 채널도 개념은 똑같다. 다중 채널을 실현할 때 각 프로세서의 메모리 구성은 동일해야 한다는 규정이 있다

 

멀티 프로세서 환경에서 트리플 채널의 예

 

 

 

구성되는 각 프로세서의 메모리 구성을 똑같이 할 필요가 있다

 

랭크

 

메모리 컨트롤러가 메모리의 DRAM에서 데이터를 입출력하려는 단위를 가리켜서 랭크라고 한다. 하나의 랭크는 64bit 단위로 입출력한다 랭크에는 싱글 랭크(1R), 듀얼 랭크(2R), 쿼드 랭크(4R)가 있다

 

메모리는 DRAM 칩의 조합으로 구성된다 싱글 랭크 메모리에서는 하나의 메모리에 4bit(ECC용 8bit를 추가해서 72bit)의 DRAM 칩이 탑재되어 있다 또한 듀얼 랭크 메모리에서는 하나의 메모리에 128bit(ECC용 16bit를 추가해서 144bit)의 DRAM 칩이 탑재되어 있다

 

서버에 메모리를 삽입할 떄 랭크의 총 사용 수가 많아지게 조합하면 액세스 성능이 향상된다 하지만 메모리 컨트롤러가 다룰 수 있는 랭크수에는 제한이 있다 예를 들어 4R 메모리를 사용하면 싱글 랭크 메모리를 4개 삽입하는것과 같으므로 슬롯수가 남아도 메모리를 최대 개수까지 삽입할 수 없는 일이 일어나는 수도 있다

 

랭크의 예

 

 

 

UDIMM

 

Unbuffered DIMM으로도 불리는 버퍼 없는 DIMM(Dual In-Line Memory Module)이다 일반 컴퓨터용 메모리의 대부분이 이것이다

 

RDIMM

 

Registered DIMM이라고도 불리는 레지스터 DIMM이다 클러과 주소 등의 제어 신호를 버퍼 회로가 가져온다 대용량 메모리나 안정적으로 운여이 필요한 서버용 메모리로 자주 사용된다 단 중간에 버퍼 회로가 끼어들에 레이턴시(또는 딜레이)가 증가하므로 UDDIM보다 액세스 속도는 약간 떨어진다

 

LRDIMM

 

LRDIMM(Load Reduced DIMM)은 RDIMM을 더욱 발전시킨 방식으로 , 메모리 컨트롤로와 메모리 칩 사이의 모든 통신이 버퍼 회로를 매개로 이루어지는 DIMM이다 메모리 버스 전체의 부하를 줄여서, 메인 보드에 장착 가능한 모듈 수를 늘리거나 모듈 하나당 메모리 칩 수를 늘릴 수 있다 이에 따라 대용량과 고속 전송을 실현한다

 

LV

 

LV(저전압)은 일반 메모리보다도 전압을 낮추어 저전력을 실현한 메모리를 말한다

 

 

 

메모리 삽입 방법

 

서버용 메모리는 종류도 많고 장착 개수가 많으므로 메모리 삽입 방법에는 몇 가지 규칙이 있다

 

- 각 프로세서의 메모리 구성은 같아야만 한다

- RDIMM메모리와 UDIMM 메모리는 섞어서 쓸 수 없다.

- 각 채널에 탑재하는 메모리는 같은 종류로 할 필요가 있다

- 저전압 메몰이ㅘ 저전압이 아닌 메모리는 섞어서 쓸 수 없을 때가 많다.

- 원칙적으로 ECC 메모리와 비 ECC 메모리는 섞어서 쓸 수 없다

 

메모리 선정 포인트

 

성능

 

메모리에 빠르게 액세스 하도록 하려면 고속인 메모리를 선택하고 듀얼 채널 이상일때는 가장 좋은 성능을 낼 수 있는 방식으로 삽입한다 그리고 메모리 컨트롤라가 다룰 수 있는 최대 랭크수까지 다 사용할 수 있도로고 한다 또한 다중 프로세서 환경에서 다중 채널을 구현하면 성능이 향상 된다

 

확장성

 

메모리 슬롯의 수는 한정되어 있으므로 앞으로 확장이 예상될 때는 비싸더라도 대용량 메모리를 선택한다 예를 들어 슬롯이 4개뿐인 서버에서 16GB 메모리를 사용할 때 4GBx4r개의 조합으로 구성하면 남는 슬롯이 없어진다 하지만 8GBx2개의 조합으로 구성하면 2개의 슬롯이 남는다