2012-04-19 6 views
5

私はPythonの科学的モデルを持っていて、Cコードを呼び出し、numpy、scipy、および多くの地理解析モジュールを使用しています。私はEC2にそれを配備したいと思いますが、まだEC2についてはあまりよく分かりません。Amazon EC2に科学的なpythonアルゴリズムを導入

私は、StarCluster AMIから派生したAMIを設定した後、StarClusterパッケージを使用してスタックを展開できることを確認しました。これらはすでにnumpyとscipyとipythonを持っていますので、私がしなければならないことは地理的モジュールを追加することだけです。

私の計画は、顧客のマシン上で実行されるスタンドアロンのGUIを作成し、その入力が自分のモデルに対して有効であることを確認することでした。次に、スタンドアロンのGUIは、最大10 GBの圧縮アーカイブをFTPロケーションに送信します。その後、EC2で実行しているWebページにサインインして、実行プロパティ(インスタンス数、モデル実行数)を設定します。そのWebページは指定したサイズのクラスタで顧客の仕事を行うスクリプトを開始します。ポストプロセッサは、モデル出力を処理し、最初に顧客が閲覧するためにパスワードで保護された結果のウェブページおよびグラフを書き込む。モデルの実行は、5分から3時間かかる個別の反復で構成されています。

誰もこのモデルで理想的なセットアップのアドバイスを提供できますか?私はそれの科学的な部分を把握することができると思うが、私は出発点が...

おかげ

+0

うわー、それはかなりの質問です!私はあなたが言及した計画されたシステムのすべての側面にわたる簡潔で簡潔な答えをあなたに提供することは難しいと思うので、代わりに個々のコンポーネントについてより小さな、より具体的な質問を投稿することができますか? – ThePhysicist

答えて

2

興味深いプロジェクトをWebインターフェイスを実行している何のためにあるのかが表示されません!

AWS EC2にデプロイしたAMIにモジュールを追加するには、pipを使用します。まず、インスタンスへのSSHアクセスが必要です。これに関するドキュメントはこちらです: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html その後、あなたはそれが既にインストールされていない場合は、次のように、あなたがピップ&あなたの追加パッケージ&モジュールをインストールすることができます。

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) 

Ubuntuの& Debianの sudoのは、Pythonをインストールapt-getを-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

Ubuntu 12.10とDebian 7.0のバージョンは、現在のScipyスタック仕様を満たしています。ユーザーは、追加のScipyパッケージ用にNeuroDebianリポジトリを追加することもできます。 Fedoraの にsudo yumのipython numpyのscipyのダウンロードのpython-matplotlibのをインストールするのpython-鼻

のFedora 17のユーザーとのpython-パンダの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のチャンク」または利用可能なコード&詳細情報の面で多くのオプションを有効にする必要があり、「Googleのコードは、ファイルのアップロードをチャンク」のためのクイック検索。)

ただし、ファイルのアップロード/転送のためのより容易な方向は、これらのようなソリューションを見てことがあります

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/ 

に関係なく、あなたのEC2インスタンス& /または上で必ずご使用の環境を作りたいですよあなたのS3バケットは大容量のファイルアップロードを可能にするように構成されています&処理。例えば、あなたのAMIのphpバージョンはphp.iniを介して特定のサイズ以上のファイルをアップロードするように設定された&をコンパイルする必要があります - あなたが気づく必要があるタイムアウトもあります - そして、おそらく64ビットAMIと大きなEBSこのすべてに力を与える。

GUIのあまり複雑でないフロントエンドコンポーネントでは、jQueryまたはnode.jsが適切な出発点です。 Githubの上、または、次のようなAWS EC2/S3のフォーラムでコードパッケージ&ドキュメントのトンもあります

https://github.com/josegonzalez/upload 

特定の要件を知らなくては、&時間/予算の制限を計画し、それは私ができる最もアドバイスです与える。しかし、このスレッドに返信するか、他の質問と直接私にpingしてください。