많은 RAM으로 서버를 구축하는 비용 효율적인 방법

확장 성이 주로 RAM으로 제한되는 Java 응용 프로그램이 있는데 데이터 센터의 하나 이상의 서버에서 실행하고 싶습니다. 100GB-512GB 이상의 RAM을 수용 할 수있는 서버 하드웨어를 어디에서 찾아야합니까? 나는 그런 문제에 대한 전문가가 아니므로 어디서부터 시작 해야할지 정말로 모른다.

이것이 슈퍼 컴퓨터 영역에 들어가고 있습니까 (6 자리 이상), 또는 5 자리의 적은 금액으로 그러한 서버를 얻을 수 있습니까?

아래 몇 가지 질문에 근거한 몇 가지 참고 사항 :

  • 예,이 확장 성 요구 사항을 제거 할 수있는 방법을 모색하려고 노력했지만 실제로는 옵션이 아닙니다. 이 응용 프로그램은 기본적으로 매우 많은 양의 데이터에 매우 빠른 임의 액세스가 필요하며 데이터베이스를 통해 하드 디스크에 저장해도 잘리지 않습니다.
  • 적어도 이론 상으로는 JVM이 그 정도까지 확장 될 수 있다고 확신합니다. 나는 눈에 띄는 문제없이 Sun 1.6 JVM에 10GB를 할당하여 정기적으로 코드를 실행합니다.


답변

비정상적인 요구 사항은 때때로 비정상적인 솔루션의 혜택을받습니다. 물론, Sun, Dell 또는 HP에 6 명의 인물을 제공하여 수행 할 수는 있지만 도시에서 유일한 게임은 아닙니다.

단일 박스 솔루션의 경우, 가격이 1.000 미만인 홈 브루 메인 보드에서도 최대 128GB를 얻는 것이 매우 저렴합니다 (32 x 4GB ~ USD 3.000). (메이커를 조롱하지 마십시오. Google에 충분하다면 …)

256GB는 훨씬 비싸고 (32x8GB ~ USD 18.000) 그 이상입니다 …

또는 Infiniband (10Gbps) 상호 연결된 저렴한 박스를 대안으로 고려한 적이 있습니까?

그런 식으로 4 노드, 16 개의 프로세서 (64 코어), 512GB 머신을 구축 할 수 있으며 여전히 USD 25.000에서 변경 될 수 있습니다.

또한 애플리케이션 중 하나가 실패 할 경우 3 대의 시스템에서 애플리케이션을 실행할 수 있고 최대 8 개의 노드로 비용이 선형 적으로 조정될 수있는 경우 (풀 노드 4 개만 추가) 유예 완전 성능 저하의 추가 이점을 얻을 수 있습니다. 이 시점에서 당신은 <USD 50.000에 대한 멋진 128 코어, 1TB RAM 짐승을보고 있습니다.

Infiniband 제안을 이국적인 것으로 기각하기 전에 요청한 기계 유형에 적합하지 않습니다. 예를 들어 상위 10 대 중 4 대를 포함하여 상위 500 대 슈퍼 컴퓨터 중 141 대가 이러한 방식으로 구축됩니다 ( http://top500.org/connfam/8 )


답변

알았어 찾고자하는 RAM 풋 프린트가 있고 최소한 자체 그리드가 필요하지 않은 서버는 찾지 못할 것입니다.

확장 가능한 접근 방식을 취하고 memcached를 사용하십시오. 네트워크를 통해 메모리를 다른 시스템으로 분산시킬 수 있습니다. 데이터는 디스크 드라이브에 닿을 필요가 없으며, 원하는 돈으로 구입할 수있는 초고속 네트워크와 함께 대기 시간은 거의 문제가되지 않습니다.

다음은 java 용 memcached 클라이언트입니다. http://www.whalin.com/memcached/

익숙하지 않은 경우를 대비하여 memcached 소개 : http://www.danga.com/memcached/

이것 좀 봐 엄청난 양의 RAM을 가진 단일 몬스터 머신을 구축하는 것보다 훨씬 비용 효율적입니다. 또한, 이런 종류의 요구 사항이있는 작업을 수행하는 경우 미션 크리티컬 일 수 있으며 단일 실패 지점이 필요하지 않습니다.


답변

HP DL585 또는 DL785 또는 Sun X4600과 같은 4 또는 8 소켓 Opteron 서버는 128-256GB 범위에서 많은 양의 메모리를 사용할 수 있습니다. 저렴하지는 않지만 6 자리 가격표는 아닙니다. 256GB의 RAM을 갖춘 8 웨이 32 코어 Sun X4600은 웹 사이트에서 약 35,000 달러에 판매되며, 이는이 유형의 시스템이 얻는만큼 큰 규모입니다. 웹 사이트에 표시된 정가보다 다소 저렴한 가격으로 시스템을 구입할 수 있다는 것을 알게 될 것입니다.

4Gb DIMM을 사용할 수는 있지만 가격이 비싸지 않은 경우가 많으므로 이러한 시스템을 최대한 활용하는 것이 훨씬 비쌉니다.

이 유형의 시스템을 사용하려면 64 비트 O / S가 필요합니다. 또한 64 비트 JVM을 확보하고 애플리케이션과 잘 작동하는지 확인하십시오.


답변

하드웨어 제안 (소리)을 반복하지는 않지만 테라코타를 통해 앱에 적합한 지 확인하고 싶을 수 있습니다.

http://www.terracotta.org/


답변

이러한 RAM 크기는 절대로주의하십시오. HP 컴퓨터를 64GB로 확장했지만 (라이저 보드, 냉각 샤프트 등을 추가 한 후에 만 ​​(HP와 많은 대화를 나눈 후) HP는 64GB를 사용할 수 있다고 명시했습니다).
머신이 최대 nGB를 갖도록 지정 되었기 때문에 추가 변경없이 작동한다는 의미는 아닙니다. 우리의 경우 모든 일반 메모리 모듈이 작동하지 않았습니다. 뜨거워 졌기 때문에 매우 구체적인 모듈 만 작동했습니다.


답변

RAM 비용은 선형 적으로 큰 규모로 확장되지 않습니다. 15 달러에 1GB DIMM을 구입할 수 있다고해서 1,920 달러에 128GB 서버를 구입할 수있는 것은 아닙니다. 처음에는 128 개의 DIMM 슬롯이있는 마더 보드를 찾을 수 없습니다.

특정 크기 (~ 8 ~ 16GB) 이상에서는 완전 버퍼링 DIMM (FB-DIMM)이 필요한 마더 보드 나타나기 시작하는데 , 이는 표준 데스크탑 메모리보다 GB 당 비용이 훨씬 비쌉니다.

우리는 정기적으로 128GB의 메모리를 가진 머신을 사용하며 최근 몇 년 동안 가격이 크게 떨어졌습니다. 그러나 현재 숫자는 없습니다 … 또는 JVM이 메모리의 크기로 얼마나 잘 확장되는지에 대한 경험이 없습니다. .


답변

실제로 HP 목록에서 128GB를 사용할 수있는 BL680c 블레이드, DL580 / 585는 256GB를, DL785는 512GB를 사용할 수있는 옵션이 많이 있습니다. 하나의 Dell과 마찬가지로 IBM의 일부는 256GB까지 올라갑니다.