2010-02-05 3 views
3

나는 수천 개의 결과 객체를 생성하는 시뮬레이션을하고 있습니다. 각 개체 크기는 약 1MB이며 모든 결과 개체는 다양한 특별 보고서에 대해 쿼리 할 메모리에 있어야합니다. 그리고 하나의 결과 객체를 만들기 위해서는 1 ~ 2 초가 걸립니다.CPU/메모리 집약적 인 작업을위한 최상의 (파이썬) 설정

그래서 병렬 실행으로 내 쿼드 코어 CPU를 완전히 사용하더라도 한 번의 시뮬레이션을 완료하는 데 5 분 이상이 소요됩니다. 그리고 작업 프로세스는 하나의 시뮬레이션 세트에 대해 4 ~ 5GB 이상의 메모리를 필요로합니다. 문제는 더 많은 시뮬레이션 세트를 동시에 실행하고 더 빨리 수행하려고합니다.

현재 Windows vista64의 C# 및 ironpython, 8g 메모리의 쿼드 코어 CPU를 사용하여이 작업을 수행하고 있습니다. 나는 새로운 컴퓨터, 더 나은 CPU와 24 기가 바이트 메모리를 주문하고 궁극적으로, 나는 멀티 CPU와 더 많은 추억과 워크 스테이션을 구입할 수 있습니다.

제 질문은 새 하드웨어를 사용하는 가장 좋은 방법은 무엇입니까? 다음 중 하나의 조합을 고려합니다. 윈도우 (64)상의

  1. IronPython의 + C#
  2. IronPython의 + 리눅스의 C# (모노) 64
  3. 리눅스 64

시뮬레이션 엔진에서 Windows 64

  • 자이 + 자바 자이 + 자바 C#/java로 작성되었으며 파이썬을 사용하여 보고서를 작성합니다. 어떤 조합이 최고라고 생각합니까?

    메모리 소비 작업을 처리하는 .net과 java 플랫폼간에 큰 차이가 있습니까? Windows와 Linux간에 차이점이 있습니까?

    가끔 내 우분투 노트북 (32 비트, 2g RAM)에 현재의 C# + ironpython 코드를 실행하고 Windows와 비교했을 때 꽤 안정적이라고 생각합니다 .net env가 동일한 사양의 하드웨어입니다. 하지만 기본 하드웨어가 꽤 좋은지는 잘 모릅니다.

    그리고 위의 선택 사항에 관계없이 모든 종류의 제안을 환영합니다.

  • +0

    http://serverfault.com에서 확인하십시오. – jmservera

    답변

    2

    무료로 설치할 수 있기 때문에 .Net과 Java 모두에 이미 구현 된 코드가있는 것처럼 들리지만 4 가지 플랫폼 (windows/linux * java/.net) 모두에서 벤치 마크를 권장합니다. .

    Jython 대 IronPython의 상대적인 성능이 크게 관련이 없다고 생각됩니다.

    2

    @Dave는 정말 멋지다. 각 조합을 벤치마킹하면 실제로 볼 수있다.

    개인적으로 저는 Windows, Java, Linux, .Net 또는 임의의 조합이 가장 적합하다고 개인적으로 생각합니다. 소프트웨어 유지 관리 및 개발의 생산성 수준은 일반적으로 OS 또는 VM을 전환 할 때 얻을 수있는 사소한 성능 향상보다 우선합니다.

    관련 문제