12

私は私の小さなプロジェクトのためにBOINCに魅了されています。BOINCのことは聞いたことがありますが、その仕組みについてはあまり読んでいません。これは主に、現在他の優先事項に焦点を合わせているためです。私が知りたいのは、実際にBOINCのプログラムを作成して、分散コンピューターネットワークでプログラムを実行しようとした人がいるかどうかです。特に私は次の質問に興味があります:

  1. それはどのように機能しますか?コードをコンパイルしてどこかに投稿すると、クライアントがダウンロードして、ワークユニットのリクエストと結果を受け取りますか?
  2. どの言語をサポートしていますか?ランタイムをどのように処理しますか(必要なものがすべて含まれた完全で独立したパッケージを提供できると思います)
  3. あなたのプロジェクトが存在することを人々はどのようにして知り、参加することを選択しますか?
  4. 私の生活を楽にするためにどのようなサービスを提供していますか?一般的なタスク用に事前に作成されたライブラリはありますか?

私は実際の経験が好きです。ウィキペディアは優れた情報源になり得ますが、私は実際のユースケースを好みます。

4

3 に答える 3

23

私はBOINCプロジェクトを管理し(現在は機能していません)、BOINCの開発に少し関わっています(そして開発者との多くの炎上戦争に参加しています!)、実装した機能が少なくとも1つあり、現在はサーバーにあります。 「ソフトウェアを最新の状態に保つ」ことの重要性を理解していない1つか2つのBOINCプロジェクトをハッキングしました。私は現在、BOINCクライアントのフォークで他の3人と協力しています。それで十分?:)

雇う人を探しているのでない限り(ヒント!)、BOINCサーバーのセットアップやアプリの開発などで発生している実際の問題について、「誰かが何かを知っているかどうか」ではなく、SOについて具体的な質問をする必要があります。トピック?"

あなたが尋ねた質問について:

それはどのように機能しますか?コードをコンパイルしてどこかに投稿すると、クライアントがダウンロードして、ワークユニットのリクエストと結果を受け取りますか?

LAMPとBOINCを使用して独自のサーバーをインストールする必要があります。(SETI @ HomeはLinuxではなくSolarisを使用していたことに注意してください。構成を自分で作成すれば、Apache以外のWebサーバーを使用できると確信しています)。

BOINC APIを使用するアプリを作成し(または既存の計算アプリを変更して使用するように)、サーバーにインストールし、「ワークユニット」を作成して、クライアントをプロジェクトに接続させます。クライアントは作品をダウンロードして処理し、アップロードし直します。(それは少し単純化されすぎています...)

サーバーに到達すると、完了したタスクは、計算が有効であることを確認する「バリデーター」(サンプルタスクの1つを作成または使用)と、結果に役立つ何かを実行する「アシミレーター」(作成)を通過します。 ; たとえば、出力ファイルを解析してデータをリレーショナルデータベースに配置したり、「人生への答え」、「宇宙」、「すべて」を見つけたことをメールで通知します。または、いくつかのワークユニットの結果をパッケージ化して、「科学者」に送り返します。

どの言語をサポートしていますか?ランタイムをどのように処理しますか(必要なものがすべて含まれた完全で独立したパッケージを提供できると思います)

主にC++をサポートしています。APIはCと互換性があり、Fortranからそれを使用する本番プロジェクトがあります(climateprediction.netはFortranの数百万行です)。

Pythonのラッパーも作成しました。内部のPythonアプリはAPIにあまりアクセスできませんが、追加するのは簡単です。必要な最小限のものを公開しました。しかし、それはおそらく悪い考えです。BOINCが必要な場合、それは多くのCPU時間を必要とするためです。そしてその場合、あなたはそもそも遅い通訳言語を使用しないでしょう。

あなたのプロジェクトが存在することを人々はどのように知っていますか

大まかに言って、彼らがあなたのブログが存在することを知るのと同じ方法です:それはあなたのマーケティング/ SEOの問題です;)

ただし、コミュニティに関連するいくつかのユニークなものがあります。

  • やってくるプロジェクトに執着し、積極的に検索するBOINCaholicsがいます。そして、彼らの友人やチームメイトに伝えてください。プロジェクトをオンラインにし、フォーラムを有効にして、少なくとも1つのWebサイトからリンクして、Googleに表示されるようにします。数日以内に、件名に「ATA」が含まれるフォーラムスレッドが表示されることを保証します(Alpha Testers Anonymous)。必要に応じて、そこにいる人のユーザー名を教えてもらえます。それらは予測可能です。(公平を期すために、あなたもそこに私を見つけるかもしれません:D)
  • 複数のプロジェクトからユーザーの信用統計を収集し、それらを集約する多くの統計サイトがあります。これらのサイトの1つにプロジェクトが存在することは、人々がそれを見るための重要な方法です。ただし、統計をエクスポートするだけでは、そこに到達するわけではありません。あなたのプロジェクトが(彼らの意見に)何か有用なことをしていること、そしてそれが信頼できることを統計サイトの管理者に示さなければなりません。
  • ユーザーとの良好なコミュニケーション、アプリの安定性などを維持すると、口コミを通じてより多くのユーザーを獲得でき、さらに重要なことに、既存のユーザーを維持したり、より多くのユーザーを獲得したりできます。 CPU時間のシェア。「第一印象を与える機会は1回だけ」に注意してください。最初の立ち上げ時にプロジェクトを大きく宣伝するのではなく、十分に安定するまで、最初は口コミで処理してください。

もちろん、BOINCaholicsであるコンピューターを所有する世界人口の割合がわずかであることはかなり明白です。そして、BOINCを使用しているのは10%未満です。あなたが幅広い人口をターゲットにしたいなら:通常のウェブサイトのマーケティングに戻ってください、そして私はそれについてあなたを助けることができません。その場合、BOINCの仕組みとインストール方法についても説明する必要があることに注意してください。

参加することを選択しますか?

彼らは、BOINCクライアントからプロジェクトを添付します(または、BOINCを初めて使用する場合は、最初にプロジェクトをダウンロードします)。BOINCGUIから直接アカウントを作成できます。

しばらくの間BOINCをユーザーとして使用するまでは、独自のBOINCプロジェクトを開発しようとさえ考えないでください。これは、Webブラウザを使用した経験のないWebサイトを作成するようなものです(「機能していると思いますが、今はどうすればよいですか?」)。クライアントをダウンロードし、クールなプロジェクトを見つけて添付し、それが機能するのを見てください。

私はかつて誰かがプロジェクトを立ち上げるのを手伝おうとしましたが、彼はLAMPもBOINCもユーザー側からの経験がないことに気づきました。辛い経験でした。

私の生活を楽にするためにどのようなサービスを提供していますか?一般的なタスク用に事前に作成されたライブラリはありますか?

これについて詳しく説明することはできません。プロジェクトが何をするか、「作業」がどこから来るか、サーバー側で実行する必要がある処理、クライアント側アプリが使用する言語/ランタイム/ライブラリなどをより具体的にする必要があります BOINCがそれを助けることができる何かを持っているかどうか私はあなたに言うことができます。

...そして今のところそれで十分だと思います(うわー、午前3時15分!)。

于 2009-12-23T06:15:53.087 に答える
3

BOINCソフトウェア開発の概要を読んでみましたか?かなり包括的に見えますが、私自身はBOINCを使用していません。

于 2009-12-19T12:19:25.890 に答える
1

私は「自分の小さな」プロジェクトを持っているので、おそらく私も助けることができます。

  1. 科学アプリとサーバー/クライアント側を分離できます。科学アプリが目的のOSで安定して動作していることを確認してください。残りは、boincのクライアント/サーバーの義務です。それはあなたのアプリを送り、ロジスティックなことをします。いくつかのDC関連の問題に注意する必要がありますが、私の意見では、それが出発点ではありません。

  2. C ++を直接サポートしますが、「USBペンドライブから実行」できる限り問題ありません。非C++プログラムを処理できるboincラッパーがあります。1つのアプリケーションにJavaを使用します。jarだけでなく、Javaランタイム環境も送信する必要がありますが、正常に動作します。現在、アプリのScilabをテストしています:)。

  3. プロパガンダ:)。boincコミュニティは本当に密集していて高速です。プロジェクトを開始するだけで、彼らはあなたを見つけるでしょう;)。

  4. あなたにとって一般的な仕事は何ですか?

http://aerospaceresearch.net/constellation/

アンドレアス

于 2011-06-23T21:26:39.990 に答える