Jinsoo KIM – 道木研究室

Jinsoo KIM

名前:
ジンス キム
学年/肩書:
博士課程後期課程3年
役職:
したっぱ
グループ:
モータ
趣味:
運動

研究テーマ / Research topic

制御システムのマルチコアプロセッサ実装時における並列度の向上を考慮した制御系設計に関する研究

 

English ver. Japanese ver.

<

Embedded systems in industrial applications

Embedded systems control many devices in common use today such as Home Appliances, Industrial Devices, Transportation Devices.

The range of applications for embedded systems is expected to become wider and larger in the future. In order to a high-performance, high-quality device requires a large amount of program processing, so it is necessary to improve the performance of the calculator.

To improve the performance of the calculator  a multicore processor was introduced.

< https://www.karlrupp.net >

Until now, the clock frequency has increased to improve the performance of the calculator. However, as the clock frequency increases, the power consumption also increases, and it is no longer possible to increase the clock frequency. To solve this problem, a multicore processor was introduced.

Therefore, in recent years, the ability of calculators has been improved without increasing the clock frequency.

Development of Model-Based Parallelization technology

In order to use a multi-core porcessor efficiently, optimal parallelization of program is required. However, it is difficult to parallelize a complex system to a detailed part with hands because of heavy workload. To solve this problem, Model-Based Parallelization(MBP) has been proposed, which is an automatic parallelizaion technic for multi-core processors.

MBP (Model Based Parallelization) is a tool that automatically generates parallel code for highly reliable and high-performance multi-core environment by using a model designed by MathWorks®’s model design tool “Simulink®”.

By using the MBP, it is possible to peform delicate parallelization of control algorithms that are difficult to perform manually, and significantly reduce the work-time for parallelization.

Result of Parallelization using the MBP Tool

This result, applying MBP in one of a control algorithms is shown. Parallel processing with multicore can reduce computation time. As such, the reduction of computation time is realized because of the introduction of multicore. However, the effect of parallelization is limited due to wasted time as shown in this picture.

 

Causes of Waste Time and How to Improve Parallelization

Why waste time occurs in parallelization?

The next calculation can be performed only after the calculated in the previous block is completed.

As the figure shows, the next calculation can be performed only after the calculated in the previous block is completed. In other words, This waste time is caused by an algorithm with a time constraint that has a fixed computational sequence.

It is difficult to parallelization in such an algorithm with a set calculation order. As a result, multicore processor becomes low efficient.

How to Improve parallelization ?

Case1 : A method of introducing Time-Delay                                                                  A method of introducing Time-Delay has been proposed as one of the methods for improving parallelization and reducing computation time[2].

By inserting the Time-Delay, the computation of C,D can be performed using the value before 1 control cycle of A,B. Then we can confirm that parallelization is possible as shown in this figure. And that also reduces the computation time.

In the end, This method not only improves the degree of parallelization but also shortens the control cycle.

Case2 : A method of Multi-Rate system

Another way to improve the degree of parallelization is a multi-rate system that changes some control cycles to long control cycles.

As shown in the figure, this approach allows some control periods to be twice as long as the current control period. Parallelization in this system, Eliminate wasted time using previous calculated values, Parallelization can be improved by processing other tasks that are independent of the current operation.

In the end, By using a multi-rate system, parallelization can be improved by eliminating wasted time and processing other operations at the same time.

However, these methods are expected to improve parallelization, these approach can make degrade the designed performance.

Issue with Evaluation Methods in Time-Delay Insertion

In a typical linear control system, there are a variety of candidates which can insert time-delay and in order to identify impact of time-delay, it is necessary to perform Individual analysis and evaluation.

For example, As shown above, In general PI control system, there are many location where time-delay can be inserted. In order to improve the degree of Parallelization, 2 or more Time-Delay can be inserted. Then, the number of patterns to be analyzed and evaluated increases dramatically.

Therefore, there is a need for a method for automatically evaluating control performance.

Evaluation method for optimized parallel code generation.

We consider an evaluation system that satisfies both control performance and improve of parallelization as follows.
1. Search for all the candidate of Time-Delay insertion.
2. Evaluate the control performance on MATLAB/Simulink with Time-Delay  inserted.
3. Evaluate the Parallelization Generated by MBP in Time-Delay Inserted Models.
4. Find the optimal location of Time-Delay insertion based on the evaluation value.
5. Determinate the Parallel Code considering parallelization and control
performance.
Generalization of the proposed evaluation method

 

Through the proposed evaluation method, The optimum Time-Delay insertion location can be determined considering the parallelization improvement without affecting the control performance.

Validation of the Evaluation System by Experiments

To verify the validity of this proposed method, We are considering of the RC car Drive board shown in the following figure.

The main body configuration includes the Renesas’s RH850/F1H(Dual-Core) microprocessor. A brushless motor, and a small embedded motor driver board that has the same functions as the brushless motor driver board.

Reference : https://www.hokutodenshi.co.jp

 

 

<

産業用アプリケーションの組み込みシステム

組込みシステムは、家電機器、産業機器、運輸機器などに広く使用されている。

組み込みシステムのアプリケーションの範囲は、今後さらに広くなると予想されます。高性能、高品質のデバイスを使用するには、大量のプログラム処理が必要になるため、計算機の性能を改善する必要があります。

そこでこれまでは、クロック周波数を上昇させて計算機の性能を向上してきました。しかし、この図のように周波数上昇に伴い消費電力も上がるのでクロック周波数の上昇が困難になってきました。そこで近年は、クロック周波数を上昇させず計算機の能力を上げるためにマルチコアが導入されています。

 

モデルベース並列化ツール(Model Based Parallelization tool)

マルチコアを有効に活用するために、マルチコアプロセッサに向けた自動並列化技術である、モデルベース並列化ツール(MBP)が提案されている。

MBP(Model Based Parallelization)は、MathWorks®のモデル設計ツール「Simulink®」によって設計されたモデルを使用して、信頼性が高く高性能なマルチコア環境向けの並列コードを自動的に生成するツールです。

このツールを用いることで,人の手では困難である,制御アルゴリズムの粒度の細かい並列化を行うことが可能です,さらに、自動で並列化を行うことで作業者の工数も大幅に削減することができます。

MBPを用いた並列化結果

この結果は, ある制御アルゴリズムをマルチコアプロセッサに実装した結果となります。この図に示すように並列処理が可能なマルチコアを用いることで演算時間の短縮が実現されています。

しかし, 空き時間が発生してしまい,並列化の効果が限定的となります。

空き時間の原因と並列度の改善方法

空き時間が発生する理由は?

並列化における空き時間は時間的制約の厳しいシステムで発生します。

すなわち、演算順序が決まっているシステムでは並列化することが難しいです。 結果として,そのようなシステムではマルチコアプロセッサの実行効率が低くなります。

並列化を改善するには?

方法1: 時間遅延を挿入

並列度を向上させるためのアプローチとして時間的制約を緩和する手法が検討されています。

時間遅延を挿入することにより、A、Bの1制御サイクル前の値を使用してC、Dの計算を実行できます。そうすると、この図に示すように、並列化が可能であることを確認できます。また、計算時間も短縮されます。したがって、この方法は並列化の程度を改善するだけでなく、制御サイクルを短縮もできます。

方法2: 制御周期変更

一部の演算周期を長周期に変更し,マルチレート系とすることで処理負荷を分散させる手法です。

以前の計算値を使用して空き時間を除いて、現在の演算に依存しない他のタスクを処理することで並列化を改善すとことができます。

しかし,これらの手法は並列度の向上が見込まれる一方で,時間的制約緩和によって制御系設計時の応答速度や安定性は保証されず制御性能が劣化する恐れがあります。

遅延を利用するMBPのためのコード評価システム

遅延を挿入することが可能な箇所が無数に存在するため、遅延挿入箇所ごとに制御性能を評価する評価システムの一般化が必要です。

以下のように、制御性能と並列化の改善の両方を満たす評価システムを提案します。

1. ブロック線図から全遅延候補を探索,遅延挿入。

2.遅延が挿入された伝達関数の制御性能評価。

3.遅延挿入モデルでMBPによって生成された並列化評価。

4. 評価値に基づいて、時間遅延挿入の最適な箇所を探索。

5. 並列化と制御を考慮した並列コードの決定。

提案した評価方法により、制御性能に影響を与えることなく、並列化の改善を考慮した最適な遅延挿入箇所を決定することができます。

※ 評価関数は、システムとアプリケーションごとに異なるため、設計者によって望ましい評価関数を設計する必要があります

シミュレーションの結果

下図は、提案した評価システムを電流制御器を例に挙げて評価した結果である。

左図は、遅延を1つ入れたときの結果であり、右図は、遅延を1つ挿入したときの制御性能と並列度の改善を考慮した遅延挿入の箇所における2つの遅延を挿入した結果を示している。

 

実験による評価システムの検証

提案方法の妥当性を検証するために、次の図に示すRCカードライブボードを検討しています。

本体構成には、ルネサスのH850 / F1H(デュアルコア)マイクロプロセッサが含まれます。

また、ブラシレスモータおよびブラシレスモータドライバーボードと同じ機能を持つ組み込みシステムです。

 

Reference : https://www.hokutodenshi.co.jp