web-dev-qa-db-ja.com

Android folding @ Homeのようなプロセッサを使用して古いラップトップをブーストできますか?

今日のAndroidデバイスは非常に強力なので、実質的にスタンドアロンデスクトップとして使用できます。私はシングルコアAMDプロセッサを搭載した古いAcer5515ラップトップを持っており、クアッドコードも持っていますAndroidそしてそのプロセッサパワー(Android)を使用してラップトップのパフォーマンスを向上させたいです。検索しましたグーグルとこの時点でまだ誰もいないので、ここで誰かが何かを提案できますか?私はc#とAndroidでコーディングでき、USBインターフェイス/ APIを使用してデータを転送することを考えました。

2
juansnow

これはいくつかの理由で事実上不可能です。

何よりもまず、携帯電話のプロセッサとラップトップのプロセッサにはほとんど共通点がないという事実です。それらは完全に異なるアーキテクチャであり、コード互換ではありません。一方で実行したいコードはしませんもう一方はたくさんの作業なしで実行できます。

モバイルプロセッサがデスクトップと同じくらい強力であるという仮定も誤りです。携帯電話のプロセッサは低電力用に構築されており、通常は5ワット未満のプロセッサ、ラップトップは35ワットを超えるプロセッサ、デスクトップは最大100ワットです。これらの数値は、デスクトップが非常に非効率的であることを意味しているだけでなく、モバイルプロセッサとデスクトッププロセッサの複雑さには桁違いの違いがあります。

どちらもJavaを実行していることをアピールできますが、Javaはインタープリター型言語であり、コードを実行するマシンにJITコンパイラーが必要です。そのコンパイラーは次のように調整する必要があります。それが実行されているアーキテクチャと一方でサポートされている機能は、必ずしも他方でサポートされているとは限りません。

お使いの携帯電話とラップトッププロセッサの両方がアーキテクチャ互換であったとしても、これはまだ簡単な作業ではありません。あなたの携帯電話に、ビデオなどを再生するという大きなうなり声を上げてもらいたいとしましょう。ビデオのデコードは、思ったほど簡単ではありません。お使いの携帯電話にはビデオをデコードできる専用のハードウェアがあり、コンピューターでそれを視聴したい場合は、処理されたデータをネットワーク経由でコンピューターに送り返す必要があります。これは、コンピュータが処理できるものに再エンコードする必要があり、モバイルと同じくらい強力であるため、この偉業は十分に困難です。多くのデスクトップと、モバイルがリアルタイムで実行できるものをはるかに超えています。

少しの作業を単純に「パッケージ化」して別の場所にパイプし、それをサポートする主要なインフラストラクチャがなければ、それらを元に戻すことはできません。 Folding @ Homeがそれを行う理由は、すべてのマシンで実行する専用のソフトウェアをパッケージ化してから、各マシンが実行する大量の作業をパッケージ化して結果を送り返すことができるためです。各「パッケージ」を分割する価値があるためには、そもそもパッケージングのコストを相殺するために、かなり長い時間がかかる必要があります。少量の作業をパッケージ化して、たとえば、最初にラップトップで行うよりも高速な方法でWebページを表示する現実的な方法はありません。

4
Mokubai

はい、絶対にこれを行うことができます。ただし、両方のデバイスにLinux環境がある場合のみ。モバイルプロセッサに4つ以上のコアがある場合、またはクアッドコアと言えます。それが4未満の場合、このすべてのたわごとを行う意味がないからです。このためには、open MPI(オープンメッセージパッシングインターフェイス)を学ぶ必要があります。これは、CiscoとAmazonで開発されたCライブラリです。 Javaでも利用できますが、JavaではなくCをお勧めします。 CはJavaよりもはるかに高速であるため、ここでは速度について説明します。 Open MPIは、単一のタスクの分散処理を提供します。複数のスマートフォンを使用することもできます。 1つのノードがマスターノードである場合、通常はコンピューターまたはラップトップで、他のノードはスレーブノードになります。マスターノードがタスクを決定し、スレーブに配布して、軟膏から計算結果を取得します。他のコンピュータをスレーブとして使用することもできます。しかし、それでも、実行するさまざまなタスクごとにマスターとスレーブのプログラムを開発する必要があるため、非常に難しいタスクです。

文法を間違えたらごめんなさい。私は英語をあまり知りません。

Open MPIに関する基本情報: https://en.wikipedia.org/wiki/Open_MPI

LAN内でのMPIクラスターの実行: http://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/

例:15418.courses.cs.cmu.edu/spring2013/article/22

ダウンロード:www.open-mpi.org/software/ompi/v2.1/

1
Ishit

実際には、ビルドサーバーがあれば可能です:-)

最良の方法は、Androidに完全なLinux環境をインストールすることです。完全なLinuxインストーラーという名前のアプリはこれを行うことができます(root)。

しかし、ほとんどのディストリビューションはクロスコンパイラを提供していません。また、ARMデバイスは、デスクトップ作業を処理するには弱くなります。

コンパイルエクスペリエンスを向上させたい場合は、そうです。

しかし、全体的な経験であれば、それはほとんど不可能です。

0
Tatsuyuki Ishi