(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024173016
(43)【公開日】2024-12-12
(54)【発明の名称】ロスレス圧縮スケジューリングシステム
(51)【国際特許分類】
G06F 9/48 20060101AFI20241205BHJP
G06F 9/50 20060101ALI20241205BHJP
【FI】
G06F9/48 300Z
G06F9/50 150E
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2023091125
(22)【出願日】2023-06-01
(71)【出願人】
【識別番号】502401703
【氏名又は名称】株式会社ディジタルメディアプロフェッショナル
(74)【代理人】
【識別番号】100116850
【弁理士】
【氏名又は名称】廣瀬 隆行
(74)【代理人】
【識別番号】100165847
【弁理士】
【氏名又は名称】関 大祐
(72)【発明者】
【氏名】マグパヨ ミカエル ラクソン
(57)【要約】 (修正有)
【課題】複数のデコーダを含むロスレス圧縮システムにおけるスケジューリングを行う。
【解決手段】並列に配置された複数のデコーダと、複数のデコーダへ出力される信号を制御するためのスケジューラ、複数のデコーダから出力する信号を回収するためのシンクロナイザ、プロセッサ及びプログラムを格納したメモリを含むロスレス圧縮システムであって、プログラムは、複数のデコーダをソフトウェアにより実現したデコーダモデルを取得する工程S110、想定上の符号化されたデータを取得する工程S120、想定上の符号化されたデータを圧縮し、仮想圧縮データを取得する工程S130及びデコーダモデルを用いて、そこに含まれる各デコーダに仮想圧縮データを分配し、デコーダモデルに含まれる各デコーダに分割された仮想圧縮データを出力するタイミングを含む情報であるデコーダ駆動スケジュールを取得する工程S140を含むフローをプロセッサに実行させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
並列に配置された複数のデコーダと;
前記複数のデコーダへ出力される信号を制御するためのスケジューラと;
前記複数のデコーダから出力される信号を回収するためのシンクロナイザと;
プロセッサと;
プログラムを格納したメモリと;を含む、ロスレス圧縮システムであって、
前記プログラムは、前記プロセッサに以下の工程を実行させるように構成されたものであり:
前記複数のデコーダをソフトウェアにより実現したモデルであるデコーダモデルを取得し;
想定上の符号化されたデータを取得し;
前記想定上の符号化されたデータを圧縮し、仮想圧縮データを取得し;
前記デコーダモデルを用いて、前記デコーダモデルに含まれる各デコーダに前記仮想圧縮データを分配する態様と、前記デコーダモデルに含まれる各デコーダに分割された前記仮想圧縮データを出力するタイミングを含む情報である、デコーダ駆動スケジュールを得て;
前記デコーダモデルを用いて、前記デコーダモデルに含まれる各デコーダから出力される仮想デコード情報を回収するタイミングを含む情報である、デコーダ出力回収スケジュールを得て、前記仮想デコード情報は、前記分割された仮想圧縮データを前記デコーダモデルに含まれるデコーダがデコードすることにより得られた情報であり;
前記スケジューラに、前記デコーダ駆動スケジュールに従って、圧縮データを分割させるとともに、分割した圧縮データである分割後圧縮データを、担当デコーダに出力させ、
前記圧縮データは、前記ロスレス圧縮システムが受け取った符号化されたデータであり、
前記担当デコーダは、前記複数のデコーダのうち前記デコーダ駆動スケジュールにより前記分割後圧縮データが出力されるデコーダであり、
前記担当デコーダに、前記分割後圧縮データをデコードして、担当デコード情報を出力させ、
前記シンクロナイザに、前記デコーダ出力回収スケジュールに従って、前記担当デコーダから出力された担当デコード情報を回収させ、前記符号化されたデータを復号化する、
システム。
【請求項2】
並列に配置された複数のデコーダと;
前記複数のデコーダへ出力される信号を制御するためのスケジューラと;
前記複数のデコーダから出力される信号を回収するためのシンクロナイザと;
プロセッサと;
プログラムを格納したメモリと;を含む、ロスレス圧縮システムに用いられるプログラムであって、
前記プログラムは、前記プロセッサに以下の工程を実行させるように構成されたものであり:
前記複数のデコーダをソフトウェアにより実現したモデルであるデコーダモデルを取得し;
想定上の符号化されたデータを取得し;
前記想定上の符号化されたデータを圧縮し、仮想圧縮データを取得し;
前記デコーダモデルを用いて、前記デコーダモデルに含まれる各デコーダに前記仮想圧縮データを分配する態様と、前記デコーダモデルに含まれる各デコーダに分割された前記仮想圧縮データを出力するタイミングを含む情報である、デコーダ駆動スケジュールを得て;
前記デコーダモデルを用いて、前記デコーダモデルに含まれる各デコーダから出力される仮想デコード情報を回収するタイミングを含む情報である、デコーダ出力回収スケジュールを得て、前記仮想デコード情報は、前記分割された仮想圧縮データを前記デコーダモデルに含まれるデコーダがデコードすることにより得られた情報であり;
前記スケジューラに、前記デコーダ駆動スケジュールに従って、圧縮データを分割させるとともに、分割した圧縮データである分割後圧縮データを、担当デコーダに出力させ、
前記圧縮データは、前記ロスレス圧縮システムが受け取った符号化されたデータであり、
前記担当デコーダは、前記複数のデコーダのうち前記デコーダ駆動スケジュールにより前記分割後圧縮データが出力されるデコーダであり、
前記担当デコーダに、入力された前記分割後圧縮データをデコードして、担当デコード情報を出力させ、
前記シンクロナイザに、前記デコーダ出力回収スケジュールに従って、前記担当デコーダから出力された担当デコード情報を回収させ、前記符号化されたデータを復号化する、
プログラム。
【請求項3】
請求項2に記載のプログラムを記憶した非一時的情報記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数のデコーダを含むロスレス圧縮システムにおけるスケジューリングを行うためのシステムなどに関する。
【背景技術】
【0002】
特許第5069122号公報には、ロスレス圧縮システム及び方法が記載されている。
【0003】
深層学習アプリケーションが複雑になるにつれて、深層学習モデルのサイズも大幅に増加している。ハードウェアアクセラレータでは、より大きな深層学習モデルはより多くのメモリストレージと帯域幅を必要とし、ハードウェアコストが増加し、パフォーマンスが低下する。深層学習モデルのウェイト圧縮は、ハードウェアリソースの増加を伴う代償として、メモリストレージと帯域幅の要件を削減するために使用される。特に、損失のない圧縮(ロスレス圧縮)は、深層学習モデルの精度を保持するために好ましく用いられる。可変長符号を持つ損失のない圧縮アルゴリズムの場合、デコーダのハードウェア並列化にはデッドロックを防ぐための適切なスケジューリングが必要とされる。スケジューリングを最小限のパフォーマンスへの影響で行うことは、圧縮によるパフォーマンス向上を維持するために非常に重要である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
この明細書は、複数のデコーダを含むロスレス圧縮システムにおけるスケジューリングを行うためのシステムや方法などを提供することを目的とする。
【課題を解決するための手段】
【0006】
この方法は、ソフトウェアにより仮想的なハードウェアであるモデルを作成して、モデルにおいてシミュレーションを行うことで、複数のデコーダの処理を、サイクル及びビット精度をもって調整できるという知見に基づく。
【0007】
このシステム1は、ハードウェア3とソフトウェアとを有するロスレス圧縮システムに関する。
ハードウェア3は、並列に配置された複数のデコーダ5a、5bと;複数のデコーダ5a、5bへ出力される信号を制御するためのスケジューラ7と;複数のデコーダ5a、5bから出力される信号を回収するためのシンクロナイザ9と;プロセッサと;プログラムを格納したメモリと;を含む。スケジューラ7は、複数のデコーダ5a、5bにデータが入力されるように、スケジューラ7に入力されたデータを分割し、所定のタイミングで所定のデコーダ5a、5bに分配したデータを分配する。デコーダ5a、5bは、データをデコードする。5a、5bは、デコードしたデータを所定のタイミングでシンクロナイザ9に出力する。シンクロナイザ9は、所定のタイミングで回収した複数のデータを合わせて、ひとつのデータとする。
【0008】
プログラムは、プロセッサに以下の工程を実行させるように構成されたものである。
つまり、プログラムは、プロセッサにデコーダモデル取得工程(S110)、データ取得工程(S120)、仮想圧縮データ取得工程(S130)、デコーダ駆動スケジュール取得工程(S140)、回収スケジュール取得工程(S150)、分割後圧縮データ出力工程(S160)、担当デコード情報出力工程(S170)及び復号化工程(S180)を実行させる。すると、システム1は、これらの工程を含む方法を実行する。
【0009】
デコーダモデル取得工程(S110)は、複数のデコーダ5a、5bをソフトウェアにより実現したモデルであるデコーダモデルを取得する工程である。
データ取得工程(S120)は、想定上の符号化されたデータを取得する工程である。
仮想圧縮データ取得工程(S130)は、想定上の符号化されたデータを圧縮し、仮想圧縮データを取得する工程である。
デコーダ駆動スケジュール取得工程(S140)は、デコーダモデル25a、25bを用いて、デコーダ駆動スケジュールを得る工程である。デコーダ駆動スケジュールは、デコーダモデル25a、25bに含まれる各デコーダに仮想圧縮データを分配する態様と、デコーダモデル25a、25bに含まれる各デコーダに分割された仮想圧縮データを出力するタイミングを含む情報である。
回収スケジュール取得工程(S150)は、デコーダモデル25a、25bを用いて、デコーダ出力回収スケジュールを得る工程である。デコーダ出力回収スケジュールは、デコーダモデル25a、25bに含まれる各デコーダから出力される仮想デコード情報を回収するタイミングを含む情報である。仮想デコード情報は、分割された仮想圧縮データをデコーダモデル25a、25bに含まれるデコーダがデコードすることにより得られた情報である。
【0010】
分割後圧縮データ出力工程(S160)は、スケジューラ7に、デコーダ駆動スケジュールに従って、圧縮データを分割させるとともに、分割した圧縮データである分割後圧縮データを、担当デコーダに出力させる工程である。ここで、圧縮データは、ロスレス圧縮システムが受け取った符号化されたデータである。担当デコーダは、複数のデコーダのうちデコーダ駆動スケジュールにより分割後圧縮データが出力されるデコーダである。
担当デコード情報出力工程(S170)は、担当デコーダに、入力された分割後圧縮データをデコードして、担当デコード情報を出力させる工程である。
復号化工程(S180)は、シンクロナイザ9に、デコーダ出力回収スケジュールに従って、担当デコーダから出力された担当デコード情報を回収させ、符号化されたデータを復号化する工程である。
【発明の効果】
【0011】
複数のデコーダを含むロスレス圧縮システムにおけるスケジューリングを行うためのシステムや方法などを提供できる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、ロスレス圧縮システムを説明するためのブロック図である。
【
図2】
図2は、プログラムにより実行される各工程の例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下,図面を用いて本発明を実施するための形態について説明する。本発明は,以下に説明する形態に限定されるものではなく,以下の形態から当業者が自明な範囲で適宜修正したものも含む。
【0014】
図1は、ロスレス圧縮システムを説明するためのブロック図である。ロスレス圧縮システムは、例えば、機械学習を行うためのニューラルネットワークなどにおいて用いられるシステムである。ロスレス圧縮システムは、特許第4874642号公報(ロスレス圧縮システム)及び特表2003-524983号公報(複数コーダを用いる最適化ロスレス圧縮のための方法及び装置)に記載される通り、公知である。
【0015】
図1に示されるように、このシステム1は、ハードウェア3とソフトウェアとを有するロスレス圧縮システムにより実装される。ハードウェア3は、並列に配置された複数のデコーダ5a、5bと;複数のデコーダ5a、5bへ出力される信号を制御するためのスケジューラ7と;複数のデコーダ5a、5bから出力される信号を回収するためのシンクロナイザ9と;プロセッサと;プログラムを格納したメモリと;を含む。ソフトウェアは、メモリに格納されたプログラムである。このように、このシステム1は、コンピュータにより実装される。
【0016】
コンピュータは,入力部,出力部,制御部,演算部及び記憶部を有しており,各要素は,バスなどによって接続され,情報の授受を行うことができるようにされている。例えば,記憶部には,制御プログラムが記憶されていてもよいし,各種情報が記憶されていてもよい。入力部から所定の情報が入力された場合,制御部は,記憶部に記憶される制御プログラムを読み出す。そして,制御部は,適宜記憶部に記憶された情報を読み出し,演算部へ伝える。また,制御部は,適宜入力された情報を演算部へ伝える。演算部は,受け取った各種情報を用いて演算処理を行い,記憶部に記憶する。制御部は,記憶部に記憶された演算結果を読み出して,出力部から出力する。このようにして,各種処理や各工程が実行される。この各種処理を実行するものが,各部や各手段である。コンピュータは,プロセッサを有し,プロセッサが各種機能や各種工程を実現するものであってもよい。コンピュータは,スタンドアロンであってもよい。コンピュータは,機能の一部がサーバと端末に分散されていてもよい。その場合サーバと端末とは,インターネットやイントラネットなどのネットワークにより,情報の授受を行うことができるようにされていることが好ましい。コンピュータは、プロセッサと、プロセッサに連結されたメモリと、を備えていてもよい。そして、メモリが、命令を格納しており、命令は、プロセッサによって実行されると、コンピュータに、各種工程を行わせ、コンピュータを各種要素として機能させるものであってもよい。コンピュータは、各種教師データを与えて学習モデルを構築し、機械学習により各種演算を実現するようにしてもよい。この場合、コンピュータは、AI(人工知能)の機械学習・深層学習により作成された学習モデルを用いて各種解析や分析を実行してもよい。また、コンピュータは、繰り返し、以下の工程を実行させることで、学習データを向上させ、システムの精度を向上させることができる。
【0017】
図2は、プログラムにより実行される各工程の例を示すフローチャートである。プログラムは、例えば、プロセッサに以下の工程を実行させるように構成されたものである。
図2に示されるように、プログラムは、プロセッサにデコーダモデル取得工程(S110)、データ取得工程(S120)、仮想圧縮データ取得工程(S130)、デコーダ駆動スケジュール取得工程(S140)、回収スケジュール取得工程(S150)、分割後圧縮データ出力工程(S160)、担当デコード情報出力工程(S170)及び復号化工程(S180)を実行させる。すると、システム1は、これらの工程を含む方法を実行する。プログラムを記憶した非一時的情報記録媒体の例は、CD、CD-ROM、USBメモリ、ハードディスク、DVD、及びSDカードである。
【0018】
デコーダモデル取得工程(S110)は、複数のデコーダ5a、5bをソフトウェアにより実現したモデルであるデコーダモデル25a、25bを取得する工程である。デコーダモデルやその作成方法は、例えば、特許第7002404号公報に記載された通り公知である。デコーダモデル25a、25bは、ハードウェア3であるデコーダ5a、5bをソフトウェアにより実現した、仮想的なデコーダである。プログラムは、ハードウェアにアクセスし、複数のデコーダ5a、5bの状態(例えば、使用中であるか、使用できるかの状態)に関する情報を取得し、取得した情報を用いて、デコーダモデル25a、25bを作成してもよい。例えば、プログラムは、システム1に、実際に各デコーダ5a、5bに問い合わせ信号を出力させるとともに、各デコーダ5a、5bから戻された状況を伝える出力信号を回収させ、それにより各デコーダ5a、5bの状態を得て、デコーダモデルを作成してもよい。デコーダモデルが、ハードウェアとビットアキュレートかつサイクルアキュレートであることが好ましい。デコーダモデルが、ビットアキュレートかつサイクルアキュレートであれば、圧縮展開が正確なタイミングで行えるスケジューリングが可能となる。
【0019】
データ取得工程(S120)は、想定上の符号化されたデータを取得する工程である。例えば、プログラムは、システム1に、後の工程のため、記憶部から符号化されたデータを読み出させればよい。このようにして、システム1は、想定上の符号化されたデータを取得できる。
【0020】
仮想圧縮データ取得工程(S130)は、想定上の符号化されたデータを圧縮し、仮想圧縮データを取得する工程である。プログラムは、システム1に、得られた想定上の符号化されたデータを圧縮させればよい。データの圧縮方法は、公知である。このため、プログラムは、公知の圧縮プログラムを用いて、システム1に想定上の符号化されたデータを圧縮させてもよい。また、システム1は、システム1において用いられる圧縮プログラムを記憶しておき、プログラムは、その圧縮プログラムを用いて、システム1に、想定上の符号化されたデータを圧縮させてもよい。システムは、得られた想定上の符号化されたデータを圧縮させたデータを記憶しておき、プログラムは、そのデータを読み出すことで、仮想圧縮データを取得してもよい。
【0021】
デコーダ駆動スケジュール取得工程(S140)は、デコーダモデル25a、25bを用いて、デコーダ駆動スケジュールを得る工程である。なお、回収スケジュールは、デコーダ駆動スケジュールと併せて取得されてもよい。デコーダ駆動スケジュールは、デコーダモデル25a、25bに含まれる各デコーダに仮想圧縮データを分配する態様と、デコーダモデル25a、25bに含まれる各デコーダに分割された仮想圧縮データを出力するタイミングを含む情報である。プログラムは、例えば、スケジューラ7のモデルである仮想スケジューラ27を作成する。仮想スケジューラ27は、ハードウェアであるスケジューラ7をソフトウェアにより実現したものである。そして、プログラムは、システム1に、デコーダモデル25a、25bと仮想圧縮データとを用いて、(仮想スケジューラ27が)仮想圧縮データをどのように分割し、分割した仮想圧縮データをどのタイミングで、どのデコーダモデル25a、25bに分配するかのスケジュールを求めさせる。この際、例えば、システム1は、過去の仮想圧縮データとデコーダモデル25a、25bとを教師データとして、学習モデルを構築しておき、学習モデルに従って、デコーダ駆動スケジュールを得てもよい。また、システム1は、仮想圧縮データとデコーダモデル25a、25bとに基づいて、デコーダ駆動スケジュールを得るためのアルゴリズムを記憶部に記憶しておき、プログラムは、そのアルゴリズムを用いて、システム1にデコーダ駆動スケジュールを得させてもよい。
【0022】
デコーダ駆動スケジュールの例は、仮想圧縮データを仮想圧縮データ1、仮想圧縮データ2及び仮想圧縮データ3の3つに分割し、クロックt1にて仮想圧縮データ1を第1のデコーダに入力し、クロックt2にて仮想圧縮データ2を第2のデコーダに入力し、クロックt3にて仮想圧縮データ3を第3のデコーダに入力するというものである。分割後の仮想圧縮データ(分割を行わない場合もありうる)が入力されるデコーダが、後述する担当デコーダである。例えば、第4のデコーダが、しばらくビジーが続き、仮想圧縮データのデコード作業を行えない場合、第4のデコーダには、分割後の圧縮データが送られないようにする。クロックt1、t2及びt3は、同一でも異なっても構わない。
【0023】
回収スケジュール取得工程(S150)は、デコーダモデル25a、25bを用いて、デコーダ出力回収スケジュールを得る工程である。デコーダ出力回収スケジュールは、デコーダモデル25a、25bに含まれる各デコーダから出力される仮想デコード情報を回収するタイミングを含む情報である。仮想デコード情報は、分割された仮想圧縮データをデコーダモデル25a、25bに含まれるデコーダがデコードすることにより得られた情報である。プログラムは、例えば、シンクロナイザ9のモデルである仮想シンクロナイザ29を作成する。仮想シンクロナイザ29は、ハードウェアであるシンクロナイザ9をソフトウェアにより実現したものである。そして、プログラムは、システム1に、デコーダモデル25a、25bに含まれる各デコーダから出力される仮想デコード情報をどのようなタイミングで(仮想シンクロナイザ29)が回収するか、換言すると、担当デコーダがどのタイミングで、仮想シンクロナイザ29に向けて、仮想デコード情報を出力するかに関する情報を取得させる。この際、例えば、システム1は、過去の仮想圧縮データとデコーダモデル25a、25bとを教師データとして、学習モデルを構築しておき、学習モデルに従って、回収スケジュールを得てもよい。また、システム1は、仮想圧縮データとデコーダモデル25a、25bとに基づいて、回収スケジュールを得るためのアルゴリズムを記憶部に記憶しておき、プログラムは、そのアルゴリズムを用いて、システム1に回収スケジュールを得させてもよい。
【0024】
回収スケジュールの例は、第1のデコーダが、クロックt4にて仮想デコード情報1(仮想圧縮データ1をデコードして得られた情報)を仮想シンクロナイザ29に出力し、第2のデコーダが、クロックt5にて仮想デコード情報2(仮想圧縮データ2をデコードして得られた情報)を仮想シンクロナイザ29に出力し、第3のデコーダが、クロックt6にて仮想デコード情報3(仮想圧縮データ3をデコードして得られた情報)を仮想シンクロナイザ29に出力するというものである。クロックt4、t5及びt6は、同一でも異なっても構わない。
【0025】
分割後圧縮データ出力工程(S160)は、スケジューラ7に、デコーダ駆動スケジュールに従って、圧縮データを分割させるとともに、分割した圧縮データである分割後圧縮データを、担当デコーダに出力させる工程である。プログラムは、記憶部から、デコーダ駆動スケジュール及び回収スケジュールを読み出し、ハードウェアをこれらのスケジュールに基づいて駆動させるための指令を出力する。例えば、プログラムは、デコーダ駆動スケジュールに従って、スケジューラ7を駆動し、圧縮データを分割させるとともに、分割した圧縮データである分割後圧縮データを、駆動スケジュールにおいて指定されるタイミングで、各担当デコーダに出力させる。圧縮データは、ロスレス圧縮システム1が受け取った符号化されたデータである。担当デコーダは、複数のデコーダのうちデコーダ駆動スケジュールにより分割後圧縮データが出力されるデコーダ(先の第1~第3のデコーダに対応したハードウェアであるデコーダ)である。このようにして、システム1は、デコーダモデルを用いて、得られたデコーダ駆動スケジュールに対応して、圧縮データを分割させ、分割後圧縮データを、指定のタイミング(指定のクロック)にて、担当デコーダに出力させることができる。
【0026】
担当デコード情報出力工程(S170)は、担当デコーダに、入力された分割後圧縮データをデコードして、担当デコード情報を出力させる工程である。スケジューラ7から出力されたそれぞれの分割後圧縮データは、それぞれの担当デコーダに入力される。担当デコーダは、プログラムの指令に基づき、分割後圧縮データをデコードする。そして、担当デコーダは、プログラムの指令に基づき、デコーダ出力回収スケジュールに従って、担当デコード情報を出力する。担当デコーダは、デコーダ出力回収スケジュールに従って、必要に応じて、担当デコード情報を、シンセサイザ9に出力するクロック(タイミング)を遅延させてもよい。このようにして、システム1は、担当デコーダに、入力された分割後圧縮データをデコードして、担当デコード情報を出力させることができる。
【0027】
復号化工程(S180)は、シンクロナイザ9に、デコーダ出力回収スケジュールに従って、担当デコーダから出力された担当デコード情報を回収させ、符号化されたデータを復号化する工程である。担当デコーダから出力された担当デコード情報は、シンクロナイザ9に入力される。シンクロナイザ9に担当デコード情報が入力されるタイミング(クロック)は、デコーダ出力回収スケジュールに従ったものである。シンクロナイザ9は、プログラムの指令に基づき、回収した担当デコード情報を合わせて、データを復号化し、復号化後のデータを得る。得られた、復号化後のデータは、適宜記憶部に記憶されてもよいし、出力部から出力されてもよい。このようにして、ロスレス圧縮データのスケジューリングが達成される。
【実施例0028】
スケジューラは、ソフトウェアモデルによって、モデル化された各デコーダの状態に応じてサイクル及びビット精度でデータを割り当てる。ソフトウェアモデルはあらかじめどのデータがどのデコーダに割り当てられるかを分析しているので、データはソフトウェアモデルによって、正しいデコーダに供給されるように順序づけられる。
【0029】
スケジューリング手法の一般的なフローは以下の通りである。スケジューリングは、ハードウェアの解凍アルゴリズムを実装したソフトウェアモデルを使用して行った。ソフトウェアモデルは、まずデータを圧縮し、圧縮データのストリームを各デコーダに割り当てた。次に、ソフトウェアは、ハードウェアのスケジューリングをエミュレーションし、各データを適切に配置した。