マルチコア、本当に速くなったの?

新製品にマルチコアCPUを採用したのですが…

高速化を期待して採用したマルチコアCPUなのに、体感的に速くなったとは思えません。マルチコアを生かし切れていないのか、それとも別の原因があるでしょうか。

マルチコアの性能に疑問はありませんか?

疑問01

本当にすべてのコアが動いているの?

Linuxではコアのスケジュールはブラックボックス。

すべてのコアがちゃんと活用されているか、プロセスとコアの関連が知りたい。

できれば優先度の高いプロセスへ有効にコアを割り当てたい。

本当にすべてのコアが動いているの?

疑問02

ボトルネックはどこにある?

全体を把握したいので、まずはタスクやプロセスの使用状況を知りたい。

できれば関数レベルで確認したい。

ボトルネックはどこにある?

疑問03

効率のいいコアの割り当ては?

RTOSでどのタスクをどのコアに割り当てると効率的か。

机上で考えたスケジュール通りにコアが動いているか知りたい

効率のいいコアの割り当ては?

疑問04

コアとタスクの同期制御は正しい?

RTOSでコアのスケジューリングしていますが、さぼっているコアがあるようです。

同期制御がまずいようなので、コアとタスクの動きが同時に知りたい。

アとタスクの同期制御は正しい?

そういった問題に答えるための機能が
コアベンチマークです!

コアベンチマークとは?

コアベンチマークとはCPUコアの実行履歴を見える化し、パフォーマンス解析やCPUの負荷解析まで行える機能です。コアベンチマークはPALMiCE4の一つのウィンドウとして表示されます。

このウィンドウは3つのペイン(表示領域)があり、それぞれ以下の特長があります。

PCウォッチャ

  • CPUコアごとに実行履歴を時系列で表示します。
  • 関数、タスク、プロセスの遷移状態が確認できるため、CPUコアの動きが一目で分かります。

CPU使用率

  • 各CPUコアの使用率を時系列でグラフ表示します。
  • CPUの実行負荷をリアルタイムで検証できます。

プロセス占有率

  • 各CPUコアで実行された関数の実行比率をグラフ表示します。
  • タスクやプロセスのほか、関数レベルでの占有率を確認可能です。

コアベンチマークの効果

CPUコアの見える化が可能です。

Linuxでスケジュールされたコアの割り当ても表示できますので、空き時間や、アイドル区間、コアのマイグレーションなど、全てのコアが有効に動いているかどうかが判断できます。

※マイグレーションとは一つのプロセスが別のコアに移行して実行することをいいます。
 コアの移行は負荷がかるため、最小限にする必要があります

時間のかかっているタスクやプロセスが一目で分かります。

関数レベルでの表示も可能ですので、関数のボトルネックを確認できます。

机上で考えたコアのスケジュールが実際の動きと一致するか確認できます。

どのタスクをどのコアに割り付けると効率が上がるか検討材料となります。

コアの同期制御が正しく動作しているか確認できます。

コアの空白期間が分かるので、同期制御での問題を洗い出すことができます。

さらにコアベンチマークは

  • パッチやテストコードの埋め込みは必要ありません
  • PALMiCE4すべてのモデルで使用できます
  • OSやコンパイラに依存しません
  • キャッシュの制限等もありません

事例紹介

01

製品の高速化のためマルチコアを採用しましたが、思ったよりパフォーマンスがでませんでした。
コアベンチマークを使うと、稼働していないCPUコアが一目で分かり、コアのスケジュール調整に役立ちました。

02

タスクの同期処理に問題があり、タスクが期待通りに遷移していませんでした。
コアベンチマークでタスクの動きを確認することで、原因の絞り込みが短時間で済みました。

03

関数のボトルネックを調べるために、再ビルドとか埋め込みとかの準備無しで、簡単に関数のCPU占有率が計測できるので助かります。

無償貸出サービス実施中

PALMiCE4を評価・体験していただくために無償貸出を行っています。

無償貸出サービス3つのポイント

ポイント1

テクニカル・サポート付き

ポイント2

「製品版」を体験できます

ポイント3

正式版一式をお貸出し

お気軽にお申込みください。