Intel에서 AMD 프로세서를 선택할 때 고려할 사항


13

레거시 LAMP 웹 응용 프로그램이 많은 회사에서 일하고 있습니다. 여기서 하드웨어를 ~ 250 개의 물리적 서버에서 ~ 40 개의 새로운 서버로 가상화하려고합니다. 공급 업체로부터 두 가지 견적을 받았습니다. 하나는 인텔 프로세서를, 다른 하나는 AMD를 제안하는 것입니다.

AMD의 높은 코어 수에 대해 내가 좋아하는 것 중 하나는 코어를 VM에 전용 할 수 있다는 것입니다. 즉, 스파이크로 인해 응용 프로그램이 서로 간섭 할 가능성이 적습니다. 최고 성능보다 나에게 중요합니다.

내가 생각한 다른 고려 사항은 다음과 같습니다.

  • 전력 소비가 다를 수 있습니다 (이 경우에는 문제가되지 않습니다).
  • CRC32 (SSE 4.2) 와 같은 CPU 명령어는 지원되지 않습니다 (편집 : MySQL 5.6이 SSE4.2를 지원하는 것으로 보입니다. Apache에 대해 확실하지 않음)
  • MySQL은 ~ 16 / ~ 32 코어 이후 완벽하게 확장되지 않습니다 (이 거래를 기꺼이 받아 들일 것입니다.)

다른 고려 사항이 누락 되었습니까?

(중재자 참고 사항 : 이 스레드를 알고 있습니다. 질문은 약간 다릅니다.)


편집 : 작업이 예외적으로 병렬 (웹 서버)이고 데이터베이스 서버가 그렇게 평행하지 않은 것을 신경 쓰지 않는다고 가정하십시오.


당신이 흥미를 찾을 수 있습니다 it20.info/2007/10/intel-amd-vmware-and-aircrafts
ToastMan

애플리케이션이 읽기 / 쓰기 쿼리를 다른 서버 풀로 분할 할 수있는 경우 슬레이브 읽기에서 두 번째 인스턴스를 실행하여 일부 MySQL 성능 문제를 피할 수 있습니다. 이것이 가능한 아이디어인지 또는 이것이 불필요한 오버 헤드와 복잡성을 추가 할 것인지 아는 아키텍처 또는 워크로드에 대해 충분히 알지 못하지만 고려해야 할 옵션입니다.
jgoldschrafe

읽기 / 쓰기 분할의 작동 방식에 익숙합니다. 이 경우 성능 향상에 적합하지 않습니다.
Morgan Tocker

답변:


10

Bulldozer라고하는 최신 AMD 프로세서 제품에 대한 많은 언론이있었습니다. 이 부분의 "서버"버전은 아직 나오지 않았지만 데스크탑 제품은 새로운 것들의 잠재적 인 문제에 대한 훌륭한 견해입니다.

현재 세대의 서버 부분은 모든 권장 사항이 일반적인 수준에서 상당히 우수합니다. 웹 서비스 및 (대부분의) 데이터베이스 작업은 대부분 정수를 기반으로하며 AMD CPU는 정수 계산을 잘 수행합니다. 또한 웹 서비스는 일반적으로 고도로 병렬화 될 수있는 문제입니다. AMD는 "많은 코어가 더 빠른 작업을 위해"만들어내는 데 특히 중점을두고 있으며, LAMP (일반적으로)도 이에 대응하는 경향이 있습니다.

실제로주의를 기울여야 할 영역은 응용 프로그램의 단일 스레드 종속성입니다. AMD 부품은 인텔 부품만큼 시계 방향으로 확장되지 않으므로 기본적으로 단일 스레드 인 프로세스는 전체 시스템을 더 빠른 CPU 부품보다 훨씬 빠르게 병목시킬 수 있습니다. 이것이 당신에게 적용되는지 아닌지 당신 만이 알고 있습니다. 코어 수가 적은 빠른 인텔 프로세서에서 특정 데이터베이스 작업을 더 잘 수행 할 수 있기 때문에 뚱뚱한 스레드가 거의 없어 질 수 있습니다.

응용 프로그램 코드도 여기에서 중요합니다. 오래 실행되는 일부 웹 서버 프로세스는 많은 단일 스레드 시간을 씹을 수 있으며 더 빠른 클럭을 원할 수도 있습니다. 장기 실행 프로세스의 필요성을 다시 써서 해결할 수 있지만 그때까지는 더 빠른 클럭이 좋을 것입니다.

그러나 일반적으로 lots-o-webserver-vm 스타일 워크로드의 경우 이러한 12 코어 부품은 상당히 확장 될 수 있습니다. 일부 단일 스레드 문제가 발생하면 더 높은 클럭의 8 코어 부품을 사용하는 것이 용납 될 수 있습니다.


고맙게도 불행히도 AMD 시스템은 불도저가 아닙니다. AMD Opteron 6140 (또는 유사)입니다.
Morgan Tocker

@MorganTocker 그것이 일어날 때, 나는 그 CPU 클래스에 익숙하다. 그리고 그것이 내가 글을 쓴 글이다. 불도저에는 들어 가지 않은 특정 문제가 있습니다.
sysadmin1138

4

대부분의 경우 두 프로세서가 매우 비슷하다는 것을 알 수 있습니다. AMD 프로세서는 4 번째 채널로 인해 RAM 속도가 약간 우세합니다 (보통). 인텔 프로세서는 일반적으로 CPI 가 낮습니다 ( 워크로드에 따라 크게 다르지만 HT의 경우 더 많음). AMD는 일반적으로 저렴합니다.

이러한 요소의 대부분은 작업 부하에 따라 둘 중 하나에 우위를 제공합니다. 어느 쪽도 다른 것보다 크게 나빠지지는 않을 것입니다 (정상적인 구성과 대략 같은 CapEx 가정).


2

다른 RAM 아키텍처가 가져올 수있는 성능 차이와 이것이 조직에 결정적인 요소인지 여부를 고려해야합니다.

또한 약간의 참고 사항으로, 최고 성능에 관심이 없지만 VM에 각각 여러 코어가 없거나 특정 작업이 단일 스레드 인 경우 인텔에서 상당한 성능 이점이 있습니다. 총 코어 수가 적더라도 AMD보다 코어.


우리의 응용 프로그램이 적절하게 멀티 스레드되어 있다고 가정하십시오 (웹 서버는 MySQL이 전부가 아니라는 것을 기꺼이 받아들입니다).
Morgan Tocker

2

주요 차이점은 접근 중입니다. 중간 범위에서 AMD는 인텔 부품과 비슷한 비용이 드는 부분에서 코어를 약간 강조합니다. 인텔 부품의 클럭 속도는 더 낮습니다.

따라서 가상화 된 웹 앱 워크로드의 경우 AMD 시스템을 선호 할 것입니다.

가격 차이가 크지 않으면 달러에 대해 걱정하지 않아도됩니다. IO 하위 시스템에 대해 더 자세히 살펴 보겠습니다. 그리고 40 대의 서버에있는 TCO는 대부분 서버 자체가 아닌 지원, 소프트웨어 라이센싱 및 직원이 될 것입니다.

최소한 하나의 서버에서 40 대의 서버를 커밋하기 전에 자신에게 유리한 태도를 취하고 두 벤더를 모두 확보하고 하드웨어에서 시스템을 실행해야합니다. 특정 워크로드에 대한 질문에만 올바르게 대답 할 수 있습니다.


답변 주셔서 감사합니다! 우리에게는 하나의 워크로드가 없습니다. 여러 개의 워크로드가 있습니다. 따라서 공급 업체를 도입하려면 완전히 마이그레이션 한 다음 다시 마이그레이션하여 두 가지 모두를 시도해야합니다. 나는 그것이 최적이라는 것을 알고 있으며, 우리의 경우에는 실용적이지 않습니다. 우리는 이동하고 계획하기 위해 더 적은 수의 역할을 선택할 수 있지만, 그렇게하려면 무엇을 측정 / 조심해야하는지 알아야합니다. 따라서 내 질문;)
Morgan Tocker

워크로드에 따르면, 다른 작업을 수행하는 많은 다른 서버로 구성된 하나의 전체 워크로드가 있습니다. 요즘 구입하려는 서버에로드 할 수있는 주요 서버의 하위 세트를 가상 이미지로 쉽게 변환 할 수 있어야합니다 (이를 지원할 수있는 소프트웨어 사용). 무시할 수있는 작업은 아니지만 CPU뿐만 아니라 IO 하위 시스템 및 기타 모든 작업을 선호하는 유일한 방법입니다. 그렇지 않으면 모든 사람이 손을 내밀고 추측합니다. :)
alphadogg

1

한 가지 더 버려야 할 점은 인텔에서 AMD로 게스트를 마이그레이션하는 것이 실제 문제가 될 수 있으며 모든 브랜드의 클러스터링이 카드에 전혀 포함되지 않는 모든 유형의 가상화를 사용하는 경우주의하십시오. 각 클러스터에 대해 하나의 플랫폼을 고수하고 서로간에 점프하기 어렵다는 사실을 인정하십시오.


KVM을 사용한 아키텍처 간 실시간 마이그레이션은 64 비트에서 문제가되지 않는 것으로 보입니다. linux-kvm.org/page/…
Ophidian

사용자는 "레거시 LAMP"라고 말했습니다. 32 비트 손님이있을 것 같은 냄새가납니다. 여전히 KVM이 문제를 극복하고 있다는 것을 아는 것이 좋습니다! 메모 주셔서 감사합니다.
Mark

예, 일부 게스트는 32 비트이지만 64 비트로 전환 할 계획입니다.
Morgan Tocker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.