나는 수천 개의 결과 객체를 생성하는 시뮬레이션을하고 있습니다. 각 개체 크기는 약 1MB이며 모든 결과 개체는 다양한 특별 보고서에 대해 쿼리 할 메모리에 있어야합니다. 그리고 하나의 결과 객체를 만들기 위해서는 1 ~ 2 초가 걸립니다.CPU/메모리 집약적 인 작업을위한 최상의 (파이썬) 설정
그래서 병렬 실행으로 내 쿼드 코어 CPU를 완전히 사용하더라도 한 번의 시뮬레이션을 완료하는 데 5 분 이상이 소요됩니다. 그리고 작업 프로세스는 하나의 시뮬레이션 세트에 대해 4 ~ 5GB 이상의 메모리를 필요로합니다. 문제는 더 많은 시뮬레이션 세트를 동시에 실행하고 더 빨리 수행하려고합니다.
현재 Windows vista64의 C# 및 ironpython, 8g 메모리의 쿼드 코어 CPU를 사용하여이 작업을 수행하고 있습니다. 나는 새로운 컴퓨터, 더 나은 CPU와 24 기가 바이트 메모리를 주문하고 궁극적으로, 나는 멀티 CPU와 더 많은 추억과 워크 스테이션을 구입할 수 있습니다.
제 질문은 새 하드웨어를 사용하는 가장 좋은 방법은 무엇입니까? 다음 중 하나의 조합을 고려합니다. 윈도우 (64)상의
- IronPython의 + C#
- IronPython의 + 리눅스의 C# (모노) 64
- 리눅스 64
시뮬레이션 엔진에서 Windows 64
메모리 소비 작업을 처리하는 .net과 java 플랫폼간에 큰 차이가 있습니까? Windows와 Linux간에 차이점이 있습니까?
가끔 내 우분투 노트북 (32 비트, 2g RAM)에 현재의 C# + ironpython 코드를 실행하고 Windows와 비교했을 때 꽤 안정적이라고 생각합니다 .net env가 동일한 사양의 하드웨어입니다. 하지만 기본 하드웨어가 꽤 좋은지는 잘 모릅니다.
그리고 위의 선택 사항에 관계없이 모든 종류의 제안을 환영합니다.
http://serverfault.com에서 확인하십시오. – jmservera