JP2013061779A - パラメータ適合方法及びパラメータ適合システム - Google Patents

パラメータ適合方法及びパラメータ適合システム Download PDF

Info

Publication number
JP2013061779A
JP2013061779A JP2011199606A JP2011199606A JP2013061779A JP 2013061779 A JP2013061779 A JP 2013061779A JP 2011199606 A JP2011199606 A JP 2011199606A JP 2011199606 A JP2011199606 A JP 2011199606A JP 2013061779 A JP2013061779 A JP 2013061779A
Authority
JP
Japan
Prior art keywords
cores
parameters
parameter
calculation
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011199606A
Other languages
English (en)
Inventor
Isato Nakada
勇人 仲田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2011199606A priority Critical patent/JP2013061779A/ja
Publication of JP2013061779A publication Critical patent/JP2013061779A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】パラメータの適合作業を複数のコアを有する演算装置を用いて行うにあたり、その演算資源を有効に活用することのできる適合方法を採ることによって適合作業に要する演算時間の短縮を実現する。
【解決手段】複数のコアを有する演算装置は、まず、エンジン制御プログラムに含まれる全てのパラメータθ,θ,・・・,θ14間のデータ依存関係をデータ依存解析技術を用いて抽出する。次いで、複数のコアによる並列計算の順序を抽出したデータ依存関係に基づいて決定し、決定した計算順序に従って各パラメータθ,θ,・・・,θ14の最適化問題を何れかのコアに割り当てる。そして、抽出したデータ依存関係に従いコア間でデータを受け渡しながら、コアごとに割り当てた各パラメータθ,θ,・・・,θ14の最適化問題を複数のコアにより並列に解いていく。
【選択図】図3

Description

本発明は、エンジン制御のための複数のパラメータの適合を複数のコアを有する演算装置を用いて行うための技術に関する。
自動車用エンジンの制御プログラムには多数のパラメータが設定されている。それらパラメータの値は実機による試験で得られたデータに基づいて適合により決定される。パラメータの適合作業には多大な労力を要するため、その作業は自動適合システムによって自動で行われている。ところが、エンジン制御プログラムにおけるパラメータの数は近年益々増えているため、従来の自動適合システムでは全パラメータについて適合が完了するまでに多大な演算時間を要している。
エンジン制御プログラムの開発効率を高める上では、パラメータの適合に要する演算時間はできる限り減らしたい。このような要望を受けて現在検討されている事項の1つが、複数のコアを有する演算装置の自動適合システムへの搭載である。複数のコアを有する演算装置については、例えば特開2011−081539号公報や特開2010−126012号公報に記載されている。従来の自動適合システムの演算装置は単一のコアしか有していない。このため、あるパラメータについて最適化計算を行っていると、それが終了するまでは他のパラメータの最適化計算を行うことができない。これに対して、複数のコアを有する演算装置によれば、複数のパラメータの最適化計算を並列化することにより、全パラメータの適合に要する演算時間の大幅な短縮が期待できる。
特開2007−024046号公報 特開2011−081539号公報 特開2010−126012号公報 特表2010−510469号公報
ただし、パラメータの最適化計算の並列化は単純な問題ではない。パラメータ間にはデータ依存関係、つまり、パラメータの値を同定するデータの依存関係が存在するからである。例えば、ある2つのパラメータの最適化計算を別々のコアによって並列に行うようにしたとする。しかし、それらパラメータ間にデータ依存関係がある場合、一方のパラメータの最適化計算が完了してその最適解が得られるまでは、他方のパラメータの最適化計算は待ち状態となってしまう。演算資源を有効に活用して全パラメータの最適化計算を高速で完了するためには、このような同期処理による待ち時間を極力発生させないことが必要である。
本発明は、上述のような課題に鑑みてなされたもので、パラメータの適合作業を複数のコアを有する演算装置を用いて行うにあたり、その演算資源を有効に活用することのできる適合方法を採ることによって適合作業に要する演算時間の短縮を実現することを目的とする。
上記の目的を達成するため、本発明の1つの形態によれば、複数のコアを有する演算装置は、まず、エンジン制御プログラムに含まれる全てのパラメータ間のデータ依存関係をデータ依存解析技術を用いて抽出する。次いで、複数のコアによる並列計算の順序を抽出したデータ依存関係に基づいて決定し、決定した計算順序に従って各パラメータの最適化問題を何れかのコアに割り当てる。そして、抽出したデータ依存関係に従いコア間でデータを受け渡しながら、コアごとに割り当てた各パラメータの最適化問題を複数のコアにより並列に解いていく。
複数のパラメータの最適化計算の順序を単純に並列化するのではなく、パラメータ間のデータ依存関係に基づいて並列計算の順序が決められるので、各コアで発生する同期処理のための演算の待ち時間を減らすことができる。これにより演算装置の演算資源は有効に活用されることになって、全体としてパラメータの適合作業に要する演算時間は短縮される。
本発明の実施の形態のパラメータ適合システムの構成を示す図である。 本発明の実施の形態のパラメータ適合方法を示すフローチャートである。 有向グラフに基づき決定した並列計算の順序の1つの例を示す図である。 有向グラフに基づき決定した並列計算の順序の別の例を示す図である。
以下、本発明の実施の形態について図を用いて説明する。
本実施の形態のパラメータ適合システムは、エンジン制御プログラムに含まれる多数のパラメータの適合を自動で行うシステムである。本発明においては、エンジン制御プログラムにより制御されるエンジンの種類や構造に限定は無く、エンジン制御プログラム自体についてもその内容に限定は無い。
図1は本パラメータ適合システムの構成を示す図である。本パラメータ適合システムは演算装置を備えている。この演算装置は、ハードウェアとしてのコア及びメモリと、ソフトウェアとしてのOS(Operating System)及び自動適合プログラムを備えている。この演算装置が搭載するコアの数は4つであり、各コアは図示省略のCPUとキャッシュを備えている。4つのコアとメモリは図示省略のバスで接続されている。メモリは4つのコア間で共有される共有メモリである。メモリには、エンジン制御プログラムで用いられるエンジン制御モデルとエンジンの試験データ及び設計データが記憶されている。OSは4つのコアを統合的に管理している。自動適合プログラムはOS上で動作するアプリケーションである。自動適合プログラムが実行されることにより本パラメータ適合システムが実現される。
エンジン制御プログラムでは、エンジンの制御構造をモデル化したエンジン制御モデルが用いられている。エンジン制御モデルは、吸気管、排気管、シリンダ、タービン、コンプレッサ等のエンジンを構成する部品ごとに作成された複数のサブモデルからなる。適合対象であるパラメータは各サブモデルに含まれている。サブモデルは次のような数式によって表すことができる。
Figure 2013061779
上記の数式において、sはサブモデルの数を表している。y,y,…,yは各サブモデルの出力であって、過給圧、EGR率、各部温度等のエンジンの物理量を表している。f,f,…,fは写像を意味し、tは離散的時刻を表している。uはアクチュエータ入力である。wは外乱項であり、例えばディーゼルエンジンの場合には回転数と噴射量が割り当てられる。xは回帰ベクトルであり、入出力の過去の値が入られる。そして、θ,θ,…,θが各サブモデルのパラメータである。各パラメータの値はサブモデルの入出力データから同定されるものであるため、パラメータ間にはデータの依存関係が存在している。
図2は本実施の形態のパラメータ適合方法を示すフローチャートである。演算装置により自動適合プログラムが実行されることによって、このフローチャートに示す適合方法が実施される。
最初のステップS1では、各サブモデルのパラメータ間に存在するデータ依存関係が有向グラフとして抽出される。データ依存関係の抽出には公知のデータ依存解析技術を用いることができる。データ依存解析技術としては今日様々な方法が提案されている。ただし、本発明においては、ステップS1で使用するデータ依存解析技術に限定は無い。
次のステップS2では、4つのコアによる並列計算の順序が有向グラフに基づいて決定される。図3及び図4は、有向グラフに基づき決定した並列計算の順序の例を示している。これらの図では、パラメータ間のデータの依存関係が矢印によって表されている。例えば、パラメータθの値はパラメータθの値に依存し、パラメータθの値はパラメータθの値に依存している。このようなデータ依存関係を有向グラフにより抽出することで、最適化計算を並列に行うことのできるパラメータが明らかになる。例えば、パラメータθとパラメータθの間には依存関係が無いことから、それらの最適化計算は並列に行うことができる。
また、有向グラフによれば、どのような組み合わせで並列計算を行えばコアの使用率を高めることができるかが明らかになる。例えば、図3に示す例では、パラメータθ,θ10,θ11について並列計算を行い、その後に、パラメータθ12,θ13,θ14について並列計算を行うことでコアの使用率を高くすることができる。一方、図4に示す例のように、パラメータθ13,θ14とは依存関係の無いパラメータθ15,θ16が存在するのであれば、パラメータθ,θ10,θ11,θ12について並列計算を行い、その後に、パラメータθ13,θ14,θ15,θ16について並列計算を行うことでコアの使用率をさらに高めることができる。
次のステップS3では、ステップS2で決定したパラメータ間の計算順序に従い、各パラメータの最適化問題が4つのコアに割り当てられる。最適化問題のコアへの割り当ては、全てのパラメータについて最適化計算が完了するまでの時間、つまり、適合作業に要する演算時間が最小になるように決められる。具体的には、コア間の同期処理のための待ち時間が最小になるように割り当てが決められる。例えば、図3においてコア1にパラメータθの最適化問題が割り当てられ、コア2にはパラメータθ,θの最適化問題が割り当てられているとする。この場合、コア2によるパラメータθの計算が終わったとしても、コア1によるパラメータθの計算が終わっていない場合には、コア2は次のパラメータθの計算を開始することができない。つまり、コア1との間で同期を取るための待ち時間がコア2に発生することになる。このようなコア間の同期処理のための待ち時間が最小になるように各コアへの割り当てを定めることで、適合作業に要する全体としての演算時間を最小にすることができる。
そして、ステップS4では、演算装置が備える4つのコアによってパラメータの最適化問題の並列計算が行われる。その際、各コアは、コア間通信によって他のコアとの間でデータを受け渡しながら、自身に割り当てられたパラメータの最適化問題を指示された計算順序に従って解いていく。なお、本発明においては、パラメータの最適化問題の記述の仕方やその解法についての限定はない。
以上述べたように、本パラメータ適合方法によれば、複数のパラメータの最適化計算の順序を単純に並列化するのではなく、パラメータ間のデータ依存関係に基づいて並列計算の順序が決められる。これにより、各コアで発生する同期処理のための待ち時間を減らすことができ、短い時間で全パラメータの適合作業を完了することができる。また、本パラメータ適合方法によれば、エンジン制御プログラムに含まれる全てのパラメータについてデータ依存関係が抽出され、それに基づいて各パラメータの適合が行われる。これによれば、サブモデルごとに適合を行う場合のような局所最適ではなく、エンジン制御モデルの全体からみた大局的最適な適合を行うことができる。
ところで、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、図1に示すパラメータ適合システムでは1つのOSで4つのコアを管理しているが、コアごとに専用のOSを動作させてもよい。また、コアの数は4つには限定されない。本発明を適用する演算装置は複数のコアを有するいわゆるマルチコアチップの演算装置であればよく、コア数が数十個のいわゆるメニーコアチップの演算装置でもよい。
ステップS3における最適化問題のコアへの割り当て方法に関して言えば、上述の実施の形態とは異なる方法を採ることもできる。例えば、コア間通信の頻度が最小になるように割り当てるというオプションも選択可能である。パラメータθの計算をコア1で行いパラメータθの計算をコア2で行う場合、コア1とコア2との間にはパラメータθの計算に用いるデータを渡すためのコア間通信が発生する。しかし、パラメータθの計算とパラメータθの計算をともにコア1で行えば、パラメータθの計算のためのコア間通信を発生させなくて済む。また、コアごとの演算負荷のばらつきが最小になるように割り当てるというオプションも選択可能である。特定のコアに演算負荷が集中しないように各コアに均等に演算負荷を配分することで、演算装置全体としての電力消費を最小にすることができる。

Claims (2)

  1. エンジンの制御プログラムに含まれる複数のパラメータの適合を複数のコアを有する演算装置を用いて行う方法であって、
    前記複数のパラメータ間のデータ依存関係を抽出するステップと、
    前記複数のパラメータの最適化計算を前記複数のコアを用いて並列に実行するときの計算順序を前記データ依存関係に基づいて決定するステップと、
    決定した計算順序に従って前記複数のパラメータの最適化問題を前記複数のコアに割り当てるステップと、
    前記データ依存関係に従い前記複数のコア間でデータを受け渡しながら、コアごとに割り当てた前記複数のパラメータの最適化問題を前記複数のコアにより並列に解いていくステップと、
    を備えることを特徴とするパラメータ適合方法。
  2. 複数のコアを有する演算装置を備え、エンジンの制御プログラムに含まれる複数のパラメータの適合を前記演算装置を用いて行うシステムであって、
    前記演算装置は、
    前記複数のパラメータ間のデータ依存関係を抽出し、
    前記複数のパラメータの最適化計算を前記複数のコアを用いて並列に実行するときの計算順序を前記データ依存関係に基づいて決定し、
    決定した計算順序に従って前記複数のパラメータの最適化問題を前記複数のコアに割り当て、そして、
    前記データ依存関係に従い前記複数のコア間でデータを受け渡しながら、コアごとに割り当てた前記複数のパラメータの最適化問題を前記複数のコアにより並列に解いていくようにプログラムされていることを特徴とするパラメータ適合システム。
JP2011199606A 2011-09-13 2011-09-13 パラメータ適合方法及びパラメータ適合システム Pending JP2013061779A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011199606A JP2013061779A (ja) 2011-09-13 2011-09-13 パラメータ適合方法及びパラメータ適合システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011199606A JP2013061779A (ja) 2011-09-13 2011-09-13 パラメータ適合方法及びパラメータ適合システム

Publications (1)

Publication Number Publication Date
JP2013061779A true JP2013061779A (ja) 2013-04-04

Family

ID=48186408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011199606A Pending JP2013061779A (ja) 2011-09-13 2011-09-13 パラメータ適合方法及びパラメータ適合システム

Country Status (1)

Country Link
JP (1) JP2013061779A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021033298A1 (ja) * 2019-08-22 2021-02-25

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218861A (ja) * 1996-02-08 1997-08-19 Fuji Xerox Co Ltd スケジューラ
JP2006350529A (ja) * 2005-06-14 2006-12-28 Konica Minolta Business Technologies Inc 情報処理装置およびワークフロー制御プログラム
JP2009245009A (ja) * 2008-03-28 2009-10-22 Fujitsu Ten Ltd 車両制御装置及びマルチコアプロセッサ
WO2010055719A1 (ja) * 2008-11-14 2010-05-20 日本電気株式会社 スケジュール決定装置、並列実行装置、スケジュール決定方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218861A (ja) * 1996-02-08 1997-08-19 Fuji Xerox Co Ltd スケジューラ
JP2006350529A (ja) * 2005-06-14 2006-12-28 Konica Minolta Business Technologies Inc 情報処理装置およびワークフロー制御プログラム
JP2009245009A (ja) * 2008-03-28 2009-10-22 Fujitsu Ten Ltd 車両制御装置及びマルチコアプロセッサ
WO2010055719A1 (ja) * 2008-11-14 2010-05-20 日本電気株式会社 スケジュール決定装置、並列実行装置、スケジュール決定方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021033298A1 (ja) * 2019-08-22 2021-02-25
WO2021033298A1 (ja) * 2019-08-22 2021-02-25 日本電気株式会社 情報処理装置、情報処理方法及び記憶媒体

Similar Documents

Publication Publication Date Title
Boyer et al. Load balancing in a changing world: dealing with heterogeneity and performance variability
US10095657B2 (en) Processor, accelerator, and direct memory access controller within a core reading/writing local synchronization flag area for parallel
CN104035747B (zh) 用于并行计算的方法和装置
JP6763072B2 (ja) データ処理グラフのコンパイル
US8799858B2 (en) Efficient execution of human machine interface applications in a heterogeneous multiprocessor environment
CN105487838A (zh) 一种动态可重构处理器的任务级并行调度方法与系统
Li et al. Energy-aware workload consolidation on GPU
KR20120066189A (ko) 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법
JP2018139064A (ja) 仮想計算機システムおよびそのリソース割当て方法
Wulf et al. Increasing the throughput of pipe-and-filter architectures by integrating the task farm parallelization pattern
CN113822004A (zh) 一种用于集成电路模拟加速和仿真的验证方法及系统
Nguyen et al. Cache-conscious off-line real-time scheduling for multi-core platforms: algorithms and implementation
KR101770234B1 (ko) 소프트웨어 프로그램의 연산 블록을 멀티-프로세서 시스템의 코어에 할당하는 방법 및 시스템
Rubini et al. Scheduling analysis from architectural models of embedded multi-processor systems
Ilić et al. High-performance computing on heterogeneous systems: Database queries on CPU and GPU
JP2013061779A (ja) パラメータ適合方法及びパラメータ適合システム
Stegmeier et al. Evaluation of fine-grained parallelism in AUTOSAR applications
Arndt et al. Portable implementation of advanced driver-assistance algorithms on heterogeneous architectures
Tomiyama et al. Automatic parameter optimization for edit distance algorithm on GPU
EP4177750A1 (en) Scheduling tasks for execution by a processor system
EP4177744A1 (en) Processor scheduling using a contention model
Sheng et al. Software migration for parallel execution on a multicore tablet: A case study
March et al. Dynamic wcet estimation for real-time multicore embedded systems supporting dvfs
De Sensi et al. State-aware concurrency throttling
Palomar et al. Energy minimization at all layers of the data center: The ParaDIME project

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141202