Comments
Description
Transcript
インプリサイス計算モデルにおける温度を考慮した
信学技報 TECHNICAL REPORT OF IEICE. 社団法人 電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS インプリサイス計算モデルにおける温度を考慮した DVFS 制御 溝谷 圭悟† 上田 陸平†† 高須 雅義† 千代 浩之†† 松谷 宏紀†† 山崎 信行†† † 慶應義塾大学 理工学部 †† 慶應義塾大学 大学院理工学研究科 E-mail: †[email protected] あらまし マイクロプロセッサの高密度化に伴い,上昇するプロセッサ温度の制御がより重要な課題となっている.プ ロセッサの温度制約違反を防ぎ消費電力を削減する手法として Temperature-Aware Dynamic Voltage and Frequency Scaling(TA-DVFS)が提案されている.しかし,TA-DVFS ではプロセッサ温度によって電圧と周波数が変動するた め,タスクの実行時間の予測が困難である.本研究では,タスクを必須部分と付加部分に分割するインプリサイス計 算モデルを TA-DVFS に適用することで,プロセッサ温度の上昇を防ぎつつ残ったスラックを活用してタスクの実行 結果の品質を向上させる.TA-DVFS によりタスクの実行時間が増加しても,付加部分の処理を中断することでリア ルタイム性を維持する.実機評価により,TA-DVFS にインプリサイス計算モデルを適用することで,プロセッサの 温度制約違反回数を削減しつつ,残ったスラックでタスクの実行結果の品質を向上できていることを示した. キーワード 動的電圧周波数制御,プロセッサ温度,インプリサイス計算モデル,消費電力 A Temperature-Aware DVFS Control on Imprecise Computation Model Keigo MIZOTANI† , Rikuhei UEDA†† , Masayoshi TAKASU† , Hiroyuki CHISHIRO†† , Hiroki MATSUTANI†† , and Nobuyuki YAMASAKI†† † Faculty of Science and Technology, Keio University †† Graduate School of Science and Technology, Keio University E-mail: †[email protected] Abstract As microprocessor grows in density, management of processor temperature is becoming an important issue. Temperature-Aware Dynamic Voltage and Frequency Scaling (TA-DVFS) has been proposed to reduce power and energy consumption by regulating temperature violation. However, using TA-DVFS makes it hard to calculate execution time of task because of change of voltage and frequency by processor temperature. In this paper, we apply Imprecise Calculation model which split each task into mandatory and optional part to TA-DVFS. It regulates processor temperature growth and better utilizes residual slack to get better quality of task while preserving realtime capability by giving up the execution of optional part. Experimental results show that by using the proposed technique, we reduced the number of processor temperature violations and raised the quality of tasks by exploiting residual slack. Key words DVFS, Processor Temperature, Imprecise Computation Model, Power Consumption 1. は じ め に め,ソフトウェアによるプロセッサの温度制御の重要性が増す こととなる.ソフトウェアによるプロセッサ温度制御の手法の 近年,組込みリアルタイムシステムの高機能化及びマイクロ 一つとして,温度制約違反を防ぐために動的にプロセッサの供 プロセッサの高密度化に伴い,消費電力の削減と上昇するプロ 給電圧と動作周波数を調整する Temperature-Aware Dynamic セッサ温度の制御がより重要な課題となっている.特に組込み Voltage and Frequency Scaling(TA-DVFS)[1], [2] が挙げら リアルタイムシステムではハードウェア資源に限りがあるた れる.動作周波数及び供給電圧の低減により消費電力を削減す —1— ることで,効果的にプロセッサ温度の低下を図ることが出来る. しかし,リアルタイム性を保証するためにはプロセッサ利用率 を低くする必要があり,周波数と電圧を下げない場合は大幅な スラックが発生してしまう. スラックを利用してタスクの結果の品質を向上させる手法 として,インプリサイス計算モデル [3] が提案されている.イ ンプリサイス計算モデルでは,タスクは必須部分(mandatory 図1 part)と付加部分(optional part)に分けられる.必須部分は インプリサイス計算モデルの例 Fig. 1 Imprecise computation model example 許容可能な最低限の品質を持つ結果を生成し,付加部分は必須 部分が生成した結果の品質を向上させる.システムが過負荷状 態に陥り付加部分に割り当てる実行時間が無くなったとしても, 付加部分を中断することでデッドラインミスを回避することが 可能である. 本研究では,TA-DVFS により動的に変動するスラックを活 用するため,TA-DVFS へのインプリサイス計算モデルの適用 を提案する.中断可能な付加部分を持つインプリサイス計算モ 図 2 M-FED スケジューリング例 デルを適用することで,リアルタイム性を維持しつつタスクの Fig. 2 M-FED scheduling example 実行結果の品質を向上させる. 本論文の構成は,次の通りである.まず, 第 2 章でインプリ サイス計算モデルについて述べる.次に,第 3 章で温度制御技 そのため,EDF 同様にシングルプロセッサにおけるスケジュー 術について述べる.第 4 章では本研究で提案する TA-DVFS へ ル可能なタスクセットのプロセッサ利用率の合計の上限は 1 で のインプリサイス計算モデルの適用の設計について述べ,第 5 ある.M-FED でスケジューリングした例を図 2 に示す.τ1 と 章で実装方法について述べる.第 6 章で実装の実機評価及びそ τ2 の必須部分をスケジューリングした後,残ったプロセッサ の考察を行う.最後に,第 7 章で結論を述べる. 時間で可能な限り τ1 と τ2 の付加部分のスケジューリングを行 なう. 2. インプリサイス計算モデル 3. 温度制御技術 インプリサイス計算モデルは,一般計算モデルに計算の精度 を向上させる部分である付加部分を追加したモデルである.付 3. 1 集積回路の温度制御 加部分は必須部分完了後に実行可能になる非リアルタイム処理 半導体の温度と半導体内での化学反応速度の関係式はアレニ なので,付加部分で精度を向上させるために要求された実行時 間を完了する必要はなく,付加部分に割り当て可能な時間が要 ウスの式により以下のように表せる. k = A × exp(− 求実行時間より短い場合,付加部分の実行を中断して精度の低 Ea ) RT (1) い結果を生成する.タスクの必須部分の最悪実行時間を m,周 k は反応速度,A は定数,Ea は活性化エネルギー,R はボル 期を T とすると,タスク τi のプロセッサ利用率は Ui = mi /Ti , ツマン定数,T は絶対温度である.また,この式を変形して以 システム全体のプロセッサ利用率は U = Σi Ui である.タスク 下のように表すことができる. の付加部分の完了はスケジュールの成否に無関係なため,タス クのプロセッサ利用率に付加部分の要求実行時間 oi は含まれ ない. 図 1 にインプリサイス計算モデルの例を示す.タスク τi は 必須,付加部分の順で実行する.ジョブ τi,j+2 のように付加部 分を破棄した場合,必須部分のみ実行する.インプリサイス計 log k = − Ea 1 + log A R T (2) この式が示すように,半導体の温度が上昇すると反応速度が上 昇し,半導体の寿命が短くなる.その結果,高熱状態での稼働 が予期せぬエラーやプロセッサの損傷の原因となる. このようなプロセッサの発熱により生じる不具合を防ぐため, 算モデルは,画像処理のように生成された結果に対して精度を プロセッサの熱制御は重要な課題である.そのため,冷却ファ 要求する処理を考慮している.つまり,付加部分を実行すれば ンやヒートシンクなど様々なハードウェアによるプロセッサの するほど,生成された結果の精度は向上する. 冷却方法が用いられてきた.しかし,ハードウェアによる冷却 インプリサイス計算モデルのスケジューリングアルゴリズムと は面積の増大につながり,特にハードウェア資源が限られてい して Mandatory-First with Earliest Deadline(M-FED)[4] が るリアルタイムシステムでは大きな問題となる.よって,本研 提案されている.M-FED は,Earliest Deadline First(EDF) 究で対象としているリアルタイムシステムにおいて,ソフト に基づく動的優先度スケジューリングアルゴリズムである. ウェアによるプロセッサの温度制御技術は非常に重要である. M-FED は必須,付加部分をそれぞれ EDF でスケジューリン 3. 2 集積回路の消費電力と温度モデル グする.ただし,必須部分は付加部分よりも必ず優先度が高い. 近年のプロセッサなどの集積回路は CMOS 回路で構成されて —2— おり,その消費電力 PT OT AL は以下の式で表すことができる. PT OT AL = PSW + PLEAK (3) PSW はスイッチング電力,PLEAK はリーク電力で,プロセッ サの消費電力はこの 2 つの和で表すことができる.スイッチ ング電力は回路が動作して CMOS 回路で ON/OFF の切り替 えが発生することによって生じる電力であり,以下の式で表さ れる. 図 3 TA-DVFS における M-FED スケジューリング例 2 ×f PSW = α × C × VDD (4) Fig. 3 M-FED scheduling example on TA-DVFS α は動作率,C は負荷容量,VDD は供給電圧,f は動作周波数 である.スイッチング電力は供給電圧の 2 乗に比例し,動作周 波数に比例する.また,リーク電力は以下の式で表すことがで 4. 1 TA-DVFS へのインプリサイス計算モデルの適用 3. 3 節で述べたように,多くの TA-DVFS の手法ではタスク の実行時間の予測が困難であり,リアルタイム性の保証のため きる. にスケジュール可能なプロセッサ利用率が限定されてしまう. PLEAK = ILEAK × VDD (5) ILEAK はリーク電流で VDD は供給電圧である.リーク電流は 電源が投入されていれば,動作,停止の状態に関わらず発生 する. 半導体素子のジャンクション温度と消費電力の関係は以下の 式で表すことができる. Tj = θja Pd + Ta (6) 抗,Pd は消費電力である.この式が示すように,消費電力を削 減することで,プロセッサ内部の温度上昇を抑えることが可能 である. 3. 3 Temperature-Aware Dynamic Voltage and Frequency Scaling(TA-DVFS) プロセッサの温度上昇は 3. 2 節の式 (6) に示すように消費電 力に比例するため,消費電力を削減することで温度上昇を抑え ることが可能である.また,3. 2 節の式 (4) に示すように供給 電圧の 2 乗と動作周波数にそれぞれ比例する関係にあり,供 給電圧と動作周波数を制御することでプロセッサのスイッチ ング電力を削減することが可能である.Temperature-Aware Dynamic Voltage and Frequency Scaling(TA-DVFS)は,プ ロセッサの温度制約違反を防ぐために,温度が閾値を超えた場 合に動的に動作周波数及び供給電圧を下げることで消費電力を 削減し,温度上昇を抑える. しかし,温度を閾値として動的に動作周波数と供給電圧を下 げるため,プロセッサ利用率が高い状態で動作周波数と供給電 圧を下げた場合,スケジュール不可能な状態に陥る危険性があ る.そのため,TA-DVFS ではリアルタイム性の保証のために プロセッサ利用率が限定され,電圧と周波数を下げない場合は 大幅なスラックが生じてしまう. 計 本章では本研究における提案と,実装及び評価で用いるプロ セッサモデルとタスクモデルについて述べる. リアルタイム性を維持しつつ活用するため,インプリサイス計 算モデルの適用を提案する.スラックが利用できる場合は付加 部分を実行して生成結果の品質を向上させ,動作周波数が下が り過負荷に陥った場合は付加部分を破棄してリアルタイム性を 維持する.TA-DVFS による周波数の変更によりタスクの実行 時間が変化するため,動的スケジューリングアルゴリズムであ ここで,Tj はジャンクション温度,Ta は周辺温度,θja は熱抵 4. 設 そこで本研究では,TA-DVFS で動的に変動するスラックを, る M-FED を用いる.図 3 に TA-DVFS へのインプリサイス 計算モデルのスケジューリングの様子を示す.τ2 の 2 度目のリ リース時に温度制約違反が発生し,周波数及び電圧を下げたこ とで以降のタスクの実行時間が増加している.TA-DVFS によ りタスクの実行時間は変動し,インプリサイス計算モデルの付 加部分の処理には残ったスラックを割り当てる.これによりリ アルタイム性を維持しつつ,電圧と周波数を下げない場合に大 幅に生じるスラックを活用することができる. 4. 2 プロセッサモデル 本研究では,マルチスレッド実行を行うプロセッサを対象 に実装を行う.実機評価を行うプロセッサとして,Responsive Multithreaded Processor(RMTP)[5] を用いた. 図 4 は,RMTP と各種デバイスを集約した System in Pack- age(SiP)の全体図である.SiP 上には 3.3V から 1.0V に減 圧する DC/DC コンバータとポテンショメータが実装されてい る.このポテンショメータは SPI インターフェースを持ってお り,RMTP の SPI インターフェースと SiP 基盤を介して接続 されている.ソフトウェアから SPI を用いてポテンショメータ を制御し,抵抗値を変えることで,RMTP の供給電圧を 0.8∼ 1.1V の間で変動させることができる. また,RMTP では各ハードウェアモジュールに供給するク ロックの分周比を指定することができる分周器によってソフト ウェアでの動的な周波数制御を可能としており,前述した供給電 圧の制御及び熱電対を用いた温度センサとあわせて TA-DVFS を実現する. 4. 3 タスクモデル 本研究では,画像処理などの付加的な処理で結果の品質を向 上させることが可能なタスクを想定している.そこで,本研 —3— void end_mandatory(void) { task_t *task = current_task(); if (task->deadline > current_time()) { deactivate_task(task, task->rq); task->part = OPTIONAL; task->priority += PRIORITY_OPTIONAL; activate_task(task, task->rq); schedule(task->rq); 図 4 RMTP SiP } Fig. 4 RMTP SiP } 図 6 end mandatory 関数 Fig. 6 end mandatory function 行する.必須部分の実行完了後,タスクは end mandatory 関 数を呼びだす.end mandatory 関数では,付加部分の実行時間 を割り当て可能であるかどうか判定を行う.付加部分の割り当 て時間がない場合は,付加部分は実行されずタスクの実行を完 了する.付加部分の割り当て時間がある場合は付加部分を実行 図5 タスクキュー Fig. 5 Task queue する.図 6 に end mandatory 関数を示す.呼び出したタスク がデッドラインを過ぎていないか判定を行い,デッドラインを 過ぎていなければ,タスクを一度 RQ から取り除き,タスクの 究の評価用のタスクとして JPEG 2000 [6] の復号処理を行う. OpenJPEG [7] の復号器を拡張し,インプリサイス計算モデル を適用した評価用タスクとして実行できるよう実装を行った. この復号処理をインプリサイス計算モデルに適用するため, JPEG 2000 のタイル分割の機能を用いる.JPEG 2000 は復号 を分割したタイルごとに別々に行うことが可能であり,分割し たタイルの奇数番目を必須部分,偶数番目を付加部分として復 号を行う. 5. 実 実行状態を表す構造体メンバ part を OPTIONAL に,優先度 を表す構造体メンバ priority を低優先度に変更して RQ に再び 格納し,スケジューリングを行う. 5. 3 付加部分の中断処理 図 7 にデッドラインミスした付加部分の中断処理を行う関 数の擬似コードを示す.optional deadline check 関数は RQ 内 の付加部分を実行中の各タスクがデッドラインミスしていな いか判定を行う.必須部分の実行中にデッドラインミスした場 装 合,中断処理は行われず実行を継続する.付加部分を実行中 のタスクがデッドラインミスしていた場合は,RQ から取り除 本章では,インプリサイス計算モデルを TA-DVFS に適用す るための実装方法について述べる. 5. 1 M-FED スケジューラ 図 5 にスケジューリングを行う際にタスクを挿入するキュー の構造を示す.Wait Queue(WQ)と優先度別の Run Queue いてそのタスクの実行状態 part を MANDATORY に,優先 度 priority を高優先度に戻した後,delete thread 関数を実行 する.delete thread 関数はタスクの実行スレッドを破棄する. タスクが周期タスクの場合は,スレッドを再び生成し,リリー ス時刻まで WQ に格納する. (RQ)を管理しており,必須部分を実行中のタスクには高い 優先度が,付加部分を実行中のタスクには低い優先度が必ず 与えられる.スケジューラは RQ にあるタスクを EDF でスケ ジューリングする.ただし,必ず優先度の高いタスクから実行 するため,RQ 内に必須部分を実行中のタスクが存在しない場 合にのみタスクの付加部分は実行される.そして,実行を完了 したタスクはスケジューラによって次のリリース時刻まで WQ に格納される.これにより,M-FED を実現する. 5. 2 インプリサイス計算モデルのタスク インプリサイス計算モデルのタスクでは,まず必須部分を実 6. 評 価 本章では,TA-DVFS におけるインプリサイス計算モデル適 用について,実機を用いて温度制約違反回数,実行結果の品質, 消費電力を評価した. 6. 1 評 価 環 境 本研究では,RMTP を搭載した評価キットを用いて評価を 行った.実機評価に用いる評価キットの外観を図 8 に示す.4. 2 節で前述した,TA-DVFS を行なう環境を実現するための各種 デバイスを含めた SiP が搭載されている.また,評価用タスク —4— 表 2 JPEG 2000 復号タスクセット Table 2 Task set of JPEG 2000 decode void optional_deadline_check(task_t *task) タスク mi { if (task->deadline <= current_time()) { deactivate_task(task, task->rq); task->part = MANDATORY; oi τ1 17 9 τ2 22 12 τ3 25 17 task->priority -= PRIO_OPTIONAL; delete_thread(task); } } 図 7 optional deadline check 関数 Fig. 7 optional deadline check function 図9 温度制約違反回数 Fig. 9 The number of regulating temperature violation 6. 2 温度に関する評価 TA-DVFS 適用時の各温度制約での温度制約違反回数を図 9 に示す.横軸は評価開始時のプロセッサの温度を,縦軸は TA-DVFS を行わない場合の温度制約違反回数で正規化した 図8 評価キット Fig. 8 Evaluation kit TA-DVFS 適用時の温度制約違反回数を表している.評価時の プロセッサ利用率は 0.8,TA-DVFS の閾値は温度制約の値と 同じである.全体を通して TA-DVFS 適用による温度制約違反 表1 動作周波数と供給電圧の設定 Table 1 Setting of operating frequency and supply voltage Level 周波数 電圧 HIGH 31.25 1.1 LOW 15.62 0.88 回数削減の効果が現れている.ただし,温度制約が摂氏 40 度 の場合では温度制約違反回数削減の効果が小さい.これは,今 回実行した JPEG 2000 の復号処理では,TA-DVFS 適用時に はプロセッサ温度がおおよそ摂氏 43 度前後,TA-DVFS 未実 装時にはおおよそ摂氏 46 度前後に収束したためである.この のスレッド数は 3 つであり,評価で実行したスレッド数の合計 はカーネルスレッド,TA-DVFS 用スレッドを含めた 5 つであ る.また,室温摂氏 24 度の環境で評価を行った. 評価における TA-DVFS は以下のように行う.動作周波数と 供給電圧の値は表 1 に示すように,HIGH,LOW の 2 段階を 用いる.システム起動時の周波数と電圧は HIGH の状態であ る.温度センサにより検出した温度が閾値を超えた場合,周波 数と電圧の値を LOW に変更する.また,検出した温度が閾値 よりも摂氏 3 度以上低い場合,周波数と電圧の値が LOW であ れば,値をそれぞれ HIGH へと戻す. また,4. 3 節で前述したように,JPEG 2000 の復号を評価用 のタスクとして用いる.3 種類の画像の復号をそれぞれ周期タ スクとして実行する.周波数と供給電圧が HIGH のとき,各タ スクのパラメータは表 2 の通りである.インプリサイス計算モ デルにおける必須部分の最悪実行時間を mi ,付加部分の最悪 実行時間を oi とする.これらのタスクの内,最大周期のタスク が 10 回実行完了するまで実行した. 結果から,TA-DVFS の閾値を摂氏 40 度から 46 度の間で変動 させて評価をとり,今回の評価用タスクでの最適な TA-DVFS の閾値を求める. 6. 3 実行結果の品質に関する評価 TA-DVFS に M-FED を適用した場合の各 TA-DVFS 閾値で の実行結果の品質を図 10 に示す.横軸は TA-DVFS の閾値を, 縦軸は付加部分の処理により実際に追加で復号されたタイル数 の割合を表している.閾値が高いほどタスクの実行結果の品質 は向上する.これは,閾値が高いほど TA-DVFS で周波数と電 圧を下げる機会は減り,付加部分が利用できるスラックが増加 するためである.また,プロセッサ利用率が低いほど利用でき るスラックは増え,品質が向上している. 6. 4 消費電力量に関する評価 TA-DVFS に M-FED を適用した場合の各 TA-DVFS の閾 値での消費電力量を図 11 に示す.横軸は TA-DVFS の閾値を, 縦軸は最大消費電力量で正規化した消費電力量を示している. 閾値が高いほど消費電力は増加する.これは,閾値が高いほど TA-DVFS によって動作周波数と供給電圧を低下させる機会は —5— 図 10 実行結果の品質 図 12 Fig. 10 Quality of execution result 消費電力量と実行結果の品質の関係 Fig. 12 Relation between power consumption and quality of execution result イス計算モデルを適用することを提案した.M-FED スケジュー ラの実装を行い,JPEG 2000 の復号処理にインプリサイス計 算モデルを適用し,TA-DVFS を実現可能な環境で実機評価を 行った. 評価では,実際に実機上で TA-DVFS による温度制約違反 回数削減の効果が得られていることを示した後,TA-DVFS に M-FED を適用することで,温度制約を満たしつつタスクの実 行結果の品質を向上させられることを示した.また,消費電力 図 11 についても同様の条件で評価を行い,品質の向上と消費電力の 消費電力量 削減がトレードオフであることを示した後,消費電力あたりの Fig. 11 Power consumption 実行結果の品質を算出して,実行結果の品質と消費電力量の 観点において最適な TA-DVFS の閾値を示した.これにより, 減り,消費電力削減の効果が低下するためである. TA-DVFS の閾値を低く設定することが,実行結果の品質と消 6. 5 トレードオフ解析 6. 3 節と 6. 4 節で示した評価結果を元に,消費電力あたりの 品質が最大となる TA-DVFS の閾値を求めた.閾値が高いほど TA-DVFS がスラックを利用する機会が減り消費電力削減の効 果は低下するが,付加部分の処理に利用可能なスラックは増加 する.消費電力削減と実行結果の品質はトレードオフの関係に ある.評価関数を式 (7) に示す. F = Q P (7) Q は実行結果の品質向上の割合,P は消費電力である.評価関 数 F は消費電力あたりの品質向上の割合を示す.この評価関数 の算出結果を図 12 に示す.閾値が低いほど,消費電力あたり の品質が高いという結果となった.これは,3. 2 節の式 (4) で 示したように,消費電力は供給電圧の 2 乗,動作周波数にそれ ぞれ比例するため,この両者を削減することによる,消費電力 削減の効果が大きいためである.よって,実行結果の品質と消 費電力の観点で見た場合,閾値を低く設定して TA-DVFS によ る消費電力削減の機会を増やすほうが効果が得られることが示 された. 7. 結 論 本論文では,TA-DVFS においてリアルタイム性を維持しつ 費電力量の観点において最適であるという結果が得られた. 謝辞 本研究は科学技術振興機構 CREST の支援によるもの であることを記し,謝意を表す.また,本研究の一部は文部科 学省グローバル COE プログラム「環境共生・安全システムデ ザインの先導拠点」に依るものであることを記し,謝意を表す. 文 献 [1] S.Y. Kyungsu Kang, Jungsoo Kim and C.-M. Kyung, “Temperature-Aware Integrated DVFS and Power Gating for Executing Tasks with Runtime Distribution,” IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, vol.29, no.9, pp.1381–1394, Sept. 2010. [2] K.S. Jong Sung Lee and S.W. Chu, “Predictive Temperature-Aware DVFS,” IEEE Transactions on Computers, vol.59, no.1, pp.127–133, Jan. 2010. [3] K.-J.L. Jane W. S. Liu, Wei-Kuan Shih and R. Bettati, “Imprecise Computations,” PROCEEDINGS OF THE IEEE., vol.82, no.1, pp.83–94, Jan. 1994. [4] S.K. Baruah and M.E. Hickey, “Competitive On-line Scheduling of Imprecise Computations,” IEEE Transactions on Computers, vol.47, pp.1027–1033, 1996. [5] N. Yamasaki, “Design Concept of Responsive Multithreaded Processor for Distributed Real-Time Control,” Journal of Robotics and Mechatronics, vol.16, pp.194–199, 2004. [6] “JPEG 2000”. http://www.jpeg.org/jpeg2000/. [7] “OpenJPEG library : an open source JPEG 2000 codec”. http://www.openjpeg.org/. つ動的に変動するスラックを活用する方法として,インプリサ —6—