質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

1625閲覧

python 高速実行する環境について AWS

takumi123

総合スコア59

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/06/18 10:22

#解決したいこと

Mac Book AirでPython実行環境を作って実行していますが、速度が遅いです。
そのため、高速に処理ができる環境をAWSに構築したいと考えており、アドバイスが欲しいです。

#やっていること

遺伝的アルゴリズムで最適解の探索を行っています。
そのため、forループによってプログラム全体で100億回程度ループします。

データはローカルのCSVから読み込むため、ネットワーク速度は関係ありません。
for文によるループが大量にあるだけです。

#考えていること
EC2インスタンスのメモリを重視してAWSインスタンスを選択しておりますが、他に考慮する点はありますでしょうか?
利用して結果が出たらインスタンスは停止させるため、料金についてはそれほど気にしておりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/06/18 11:00

現在はどの種類のものを使用しているのでしょうか?
guest

回答2

0

ベストアンサー

  • CPUインスタンスを使う
  • pypyやcythonで高速化を狙う
  • ループ部分をProcessPoolExecutorで並列化してみる

投稿2020/06/18 23:15

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

メモリじゃなくてCPUがネックになっている可能性はありませんか?

もっとも、スペック的なところは実際のリソース消費やプログラムをみなければCPUなのかメモリなのかどれがボトルネックになってるのかがわからないのでなんとも言えません。
ここで言えるのは単純にでかいインスタンスを使いましょう、ぐらいですね。

リソース消費を見るのにはサーバログインしてコマンドで確認する他、CloudWatch Agentを入れるなどしてCloudWatch上で確認することもできます。
(CPU使用率はエージェントなしでも見られますがメモリ使用率はエージェントが必要です)
もちろん他の監視ソリューションを使ってもいいでしょう。

ここで「どのインスタンスがいいか」とは情報が足りないので何も言えません。

質問と関係ないですけど
プログラムの具体的な中身についてもここではわかりませんが、ループを減らす工夫ができるなら考えてみてもいいと思います。

また、実行環境としては短時間利用がメインの用途ならスポットインスタンスを使うと料金が大幅に削減できます。
さらに処理内容が決まっているのであればAWS Batchを使ってみてもいいでしょう。
ご参考までに。

投稿2020/06/18 17:16

yu_1985

総合スコア7445

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問