2012-04-19 2 views
5

저는 C 코드를 호출하고 numpy, scipy 및 많은 지리 분석 모듈을 사용하는 Python 과학 모델을 보유하고 있습니다. EC2에 배포하고 싶지만 아직 EC2에 대해 많이 알지 못합니다.Amazon EC2에서 과학적 파이썬 알고리즘 배포

StarCluster AMI에서 파생 된 AMI를 설정 한 후 StarCluster 패키지를 사용하여 스택을 배치 할 수 있는지 확인했습니다. 이것들은 이미 numpy와 scipy 그리고 ipython을 가지고 있습니다, 그래서 제가해야 할 일은 지리 모듈을 추가하는 것입니다.

내 계획은 고객의 컴퓨터에서 실행되는 독립 실행 형 GUI를 작성하고 입력 내용이 내 모델에 유효한지 확인하는 것이 었습니다. 그런 다음 독립형 GUI가 FTP 위치에 최대 약 10GB 압축 아카이브를 보냅니다. 그런 다음 EC2에서 실행 속성 (인스턴스 수, 모델 실행 수)을 구성하는 웹 페이지에 로그인합니다. 이 웹 페이지는 지정한 크기의 클러스터에서 고객의 작업을 수행하는 스크립트를 시작합니다. 포스트 프로세서는 모델 출력을 처리하고 처음에는 고객이 볼 수 있도록 암호로 보호 된 결과 웹 페이지 및 그래프를 작성합니다. 내 모델은 5 분에서 3 시간이 걸릴 수있는 개별 반복으로 구성됩니다.

누구나이 모델의 이상적인 설정에 대한 조언을 제공 할 수 있습니까? 나는 ... 나는 출발점은 웹 인터페이스를 실행하기위한 무엇인지 표시되지 않습니다

감사

+0

와우, 그건 상당히 질문입니다! 내가 언급 한 계획된 시스템의 모든 측면에 걸쳐 간단하고 간결한 대답을 제공하는 것이 어려울 것이라고 생각합니다. 대신 개별 구성 요소에 대해보다 작고 구체적인 질문을 게시 할 수 있습니까? – ThePhysicist

답변

2

재미있는 프로젝트를 내가 그것의 과학적인 부분을 알아낼 수 있다고 생각하지만!

AWS EC2에 배포 한 AMI에 모듈을 추가하는 것은 pip를 통해 수행 할 수 있습니다. 먼저 인스턴스에 대한 SSH 액세스가 필요합니다. 이에 대한 문서는 여기에 있습니다 : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html 그런 다음 다음과 같이 핍 & 귀하의 추가 패키지를 & 모듈을 설치할 수 있습니다, 아직 설치하지 않은 경우 : 는 sudo apt-get을 설치 파이썬

sudo apt-get install -y python-pip 
sudo pip install numpy (already installed so no need for this) 
sudo pip install scipy (same as above) 

우분투 & 데비안을 -numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

버전은 현재의 Scipy 스택 사양을 충족합니다. 사용자는 추가 Scipy 패키지를위한 NeuroDebian 저장소를 추가 할 수도 있습니다. 페도라 sudo는 냠 ipython NumPy와 scipy 파이썬-하기 matplotlib를 설치 파이썬 코

페도라 (17)의 사용자 및 파이썬 - 팬더 sympy 다음 핍 사용 IPython을 업그레이드해야합니다 이전 :를 통해 발견 위 (정보 ipython --upgrade를 설치 sudo는 핍 scipy 문서 : http://www.scipy.org/install.html)에 GUI & 대용량 파일 업로드에 대한 계획에 관해서는

(AWS S3를 살펴 이것은 당신이 당신의 솔루션을 밀어 싶어 얼마나 멀리에 따라 파일 저장 &에 대한 몇 가지 제한)를 가지고 있지만, 당신을 청크 파일 업로드를 사용하거나 파일 tran에 대해 이러한 솔루션과 유사한 다중 부분 요청을 스트리밍 할 수 있습니다. sfers :

https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads 
https://devcenter.heroku.com/articles/paperclip-s3 
https://github.com/heiflo/play21-file-upload-streaming 
https://github.com/netty/netty/issues/845 
https://github.com/playframework/playframework/pull/884 
https://github.com/floatingfrisbee/amazonfileupload 
http://blog.assimov.net/blog/2011/04/03/multi-file-upload-with-uploadify-and--carrierwave-on-rails-3/ 

("청크 파일 업로드 GitHub의"나에 대한 빠른 검색 가능한 코드 & 자세한 내용면에서 많은 옵션을 설정해야 "파일 업로드 구글 코드 청크".)

그러나, 파일 업로드/전송을위한 쉬운 방향이 이와 같은 솔루션에서 볼 수 있습니다 : 당신이 당신의 EC2 인스턴스에서 확인 환경을 만들고 싶어 것, 관계없이

http://www.bucketexplorer.com/be-download.html 
https://forums.aws.amazon.com/thread.jspa?messageID=258228&tstart=0 
https://forums.aws.amazon.com/thread.jspa?messageID=257781&tstart=0 
http://www.jfileupload.com/products/js3upload/index.html 
http://codeonaboat.wordpress.com/2011/04/22/uploading-a-file-to-amazon-s3-using-an-asp-net-mvc-application-directly-from-the-users-browser/ 

&/또는 S3 버킷은 큰 파일 업로드 & 처리를 허용하도록 구성됩니다. 예를 들어, AMI의 php 버전은 php.ini를 통해 특정 크기 이상의 파일을 업로드하도록 &으로 컴파일되어야합니다. 또한 알고 있어야하는 시간 제한이 있습니다. 또한 대형 EBS와 함께 64 비트 AMI가 필요할 것입니다 이 모든 것을 강화할 수 있습니다.

GUI의 덜 복잡한 프런트 엔드 구성 요소 인 jQuery 또는 node.js는 좋은 출발점입니다. Github에서 또는 AWS EC2/S3 포럼에서 코드 패키지 & 문서의 톤은 다음과 같은도 있습니다

특정 요구 사항을 모른 채
https://github.com/josegonzalez/upload 

는 & 시간/예산 제한을 계획, 즉 내가 할 수있는 가장 충고 주기. 그러나이 스레드에 회신하거나 다른 질문으로 직접 ping 할 수 있습니다.

관련 문제