blog

マルチコアの新しいアイデア - CPUをメモリのように使う?

マルチコアの時代には、CPUの利用率を向上させるために複数のCPUコアを同時に動作させること、もっと専門的に言えば、マルチコアCPUの加速率を向上させることが非常に重要です。...

Dec 9, 2016 · 2 min. read
シェア

マルチコア時代は、CPUの利用率を向上させるために、より専門的に言えば、マルチコアCPUの加速比係数を向上させるために、複数のCPUコアを同時に動作させることが非常に重要です。

しかし、並列に実行できないコード、特にロックを使用するコードはシリアルに実行されるため、複数のコアを同時に利用することができません。また、負荷分散の問題で、複数のタスクを均等に分割することができないため、実際には一部のタスクが先に実行され、一部のタスクが後に実行され、先に実行されたCPUコアはアイドル状態になります。先に実行されたCPUコアはアイドル状態になります。

一度に複数のコアを使用する必要があるのでしょうか?例えば、サーバーソフトウェアでは、サーバーに接続するクライアントが1つだけであれば、1つのコアで十分にリクエストを処理できます。 例えば、クライアント・ソフトウェアでは、クライアントがある操作を行った後、マシンはその結果をユーザに返すためのごく短い処理を行うだけで、その後はユーザの次の操作があるまでマシンはアイドル状態になります。 この場合、マシンの計算量は非常に小さく、1つのコアでユーザの要求性能を満たすことができるため、複数のコアを使って同時に処理を行う必要はありません。計算量が少ない場合、複数のコアを同時に使用すると、効率が1つのコアに劣る可能性があるため、複数のコアを同時に使用する必要はありません。

マルチコアが不要なケースは非常に多いため、マルチコアマシンを購入する意味はあるのでしょうか? これは、CPUとメモリを比較せずにはいられない、このような2Gメモリマシンのインストールは、実際には、多くの場合、2Gメモリを使い切ることは不可能ですが、いくつかの大規模なアプリケーションを実行する場合、またはいくつかの大規模なゲームをプレイする場合、メモリは基本的にすべてのケースの使用であり、実際には、マルチコアCPUを使用すると、将来的には、メモリの使用と同じようなものかもしれません、いつでもすべてのCPUコアが使用されている使用する必要はありません、唯一の大量の計算の場合には完全に計算を実行するために複数のCPUコアを使用する必要がある、つまり、計算を実行するためにすべてのCPUコアを使用する必要があります。実際には、将来的には、マルチコアCPUの使用は、メモリの使用のように、常にケースにすべてのCPUコアを使用する必要はありませんが、計算の量だけ完全に複数のCPUコアを使用して計算を実行する必要がある前に、つまり、すべてのCPUコアは、主に計算の計算のためにある特定のサイズに達する前に、スケールのすべての使用は、もちろん、CPUコアのこのスケールの計算とは異なるです。

もちろん、CPUとメモリの使用はまったく同じではありません。現在、ソフトウェアの規模はますます大きくなっており、CPUコア数の増加と成長に同期してソフトウェアの規模も大きくなるため、計算機規模のほとんどは複数のコアの使用に対して到達することができ、ほとんどの場合、複数のCPUコアをフルに活用することができます。一方、メモリは同じではありません。クライアントマシンであろうとサーバであろうと、ほとんどの場合、メモリの使用率はそれほど高くなく、メモリをすべて使用するのはわずかなピーク時だけです。メモリについても同様で、クライアントであろうとサーバーであろうと、ほとんどの時間フルに利用されることはなく、いくつかのピーク時のみ利用されることがあります。

Read next

Linuxシステム関数の正しい適用と例外処理

Linuxアプリケーションの開発エンジニアとしてLinuxのシステム関数は、シェルスクリプトを呼び出すために非常に便利な方法ですが、システム関数自体がメカニズムを呼び出すために理解していない、対応するエラー処理を実施しない、それはプログラムの例外やバグを引き起こすことは容易です。

Dec 8, 2016 · 7 min read