JPH09218861A - Scheduler - Google Patents

Scheduler

Info

Publication number
JPH09218861A
JPH09218861A JP8022375A JP2237596A JPH09218861A JP H09218861 A JPH09218861 A JP H09218861A JP 8022375 A JP8022375 A JP 8022375A JP 2237596 A JP2237596 A JP 2237596A JP H09218861 A JPH09218861 A JP H09218861A
Authority
JP
Japan
Prior art keywords
time
processing
job
subtask
idle
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
JP8022375A
Other languages
Japanese (ja)
Inventor
Hiroshi Kawamoto
浩史 川本
Hiroshi Ishikawa
宏 石川
Koji Adachi
康二 足立
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8022375A priority Critical patent/JPH09218861A/en
Publication of JPH09218861A publication Critical patent/JPH09218861A/en
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the idle time of waiting for another job while keeping the intermediate generation data of a processing in performing the scheduling of parallel processings. SOLUTION: This scheduler is provided with a task division means 1 for dividing a task to be division-processed into plural sub tasks provided with task groups provided with mutual dependency, a load prediction means 2 for predicting the processing time of the respective divided sub tasks, a dependency storage means 3 for holding the relation of processing dependency among the respective sub tasks, a scheduling means 4 for deciding the processing schedule of a sub task group and an idle time adjustment means 5 for optimizing the decided schedule. For the sub task scheduled so as to generate an idle state after execution by an arithmetic processing unit 6, the idle time adjustment means 5 changes the start time to the time for which the processing time predicted by the load prediction means 2 is subtracted from the dissolving time of the idle state and exchanges post-processing idle time with the pre- processing idle time of a non-load state.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ネットワーク分散
処理、マルチプロセッサシステムにおける並列処理のジ
ョブスケジューリングを行うスケジューラに関し、特
に、ページ記述言語等の描画命令列を複数の処理装置で
実行して高速に画像形成するシステムに適用して好適な
スケジューラに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a scheduler for performing job scheduling of network distributed processing and parallel processing in a multiprocessor system, and more particularly to executing a drawing instruction string such as a page description language in a plurality of processing devices to achieve high speed processing. The present invention relates to a scheduler suitable for application to an image forming system.

【0002】[0002]

【従来の技術】従来の分散処理あるいは、並列処理にお
けるジョブスケジューリングのポリシーは、各ジョブ実
行の納期を守ること、あるいは、すべてのジョブが処理
される時間を最短にすることであった。このような基準
のもと、N台の機械でM個のジョブを処理する所謂一般
ジョブショップ問題には、最適解を求める効率的なアル
ゴリズムは存在しないことが知られているが、様々な最
適化手法を用いたヒューリスティックな方法が提案され
ている。そこでは、ジョブの入れ替え等の操作により、
各処理機械におけるジョブの実行開始時刻をなるべく早
い方向へ移動しようするものであった。
2. Description of the Related Art The conventional job scheduling policy in distributed processing or parallel processing is to keep the deadline for executing each job, or to minimize the time required to process all jobs. Based on such criteria, it is known that there is no efficient algorithm for finding an optimal solution in the so-called general job shop problem, which processes M jobs by N machines, but various optimal jobs are known. A heuristic method using the optimization method has been proposed. There, by operations such as job replacement,
It is intended to move the job execution start time in each processing machine as early as possible.

【0003】一方、上記のようなジョブスケジューリン
グを必要とする処理システムのひとつの典型は、印刷情
報の処理系である。計算機ネットワーク上でサーバ化さ
れ、多数のユーザからの印刷要求を引き受けることにな
った印刷装置においては、大量の印刷ジョブを高速に処
理するために、複数のプロセッサをバスにより結合し、
並列に印刷情報の解釈実行を行う印刷処理装置(例え
ば、特開平4−128068号公報参照)、あるいは、
複数のプロセッサをネットワークにより結合し、並列的
に印刷情報に解釈実行を行う印刷処理システム(例え
ば、PCT/JP91/00456号公報参照)等の技
術が提案されている。
On the other hand, one typical processing system that requires job scheduling as described above is a print information processing system. In a printing device that has become a server on a computer network and accepts print requests from many users, in order to process a large number of print jobs at high speed, multiple processors are connected by a bus,
A print processing device that performs interpretation and execution of print information in parallel (for example, see Japanese Patent Laid-Open No. 4-128068), or
A technique such as a print processing system (see, for example, PCT / JP91 / 00456) that connects a plurality of processors via a network and interprets and executes print information in parallel has been proposed.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記の
ような並列処理スケジューリングにおいては、処理待ち
の遊休時間だけでなく、処理後の遊休時間が問題となる
ケースもあり得る。それは、ある第1のジョブを完了し
たとしても、その第1のジョブを処理した結果の中間生
成物が膨大であり、それを必要とする第2のジョブが開
始され、その第2のジョブの実行機械に引き渡すまで保
持しておくことがコストとみなされる場合である。
However, in the above-described parallel processing scheduling, there may be a case where not only the idle time waiting for processing but also the idle time after processing becomes a problem. Even if a certain first job is completed, the amount of intermediate products resulting from the processing of the first job is enormous, and the second job that requires it is started and the second job of the second job is started. This is the case when it is considered to be a cost to hold the work until it is handed over to the execution machine.

【0005】この状況は、印刷処理システムにおいて特
に顕著となる。例えば、特開平7−104987号公報
に開示された技術においては、互いに処理の順序依存性
を持ったジョブを実行して行く必要があるため、あるプ
ロセッサにおいて他のジョブの開始を待つジョブは、同
期待ちの間だけそのジョブの処理結果である部分画像を
保持するか、あるいはディスク上に書き出す必要が生じ
る。すなわち、より一般的に言うならば、処理の中間生
成物が大きなジョブにおいては、その大きな中間データ
ファイルをデータ保持のために記憶領域に置いたままに
するため、資源欠乏状態が長く続き、たとえそのプロセ
ッサがジョブを完了していたとしても、他のジョブがそ
のプロセッサを利用することを不能あるいは困難にさせ
てしまう。このようなプロセッサの無駄な、すなわち活
用不能な遊休期間は、ジョブスケジュールの結果が、他
のジョブの前提条件となっていないのに過度に早期実施
されるジョブが存在するときに顕著となる。
This situation is particularly remarkable in the print processing system. For example, in the technique disclosed in Japanese Patent Application Laid-Open No. 7-104987, it is necessary to execute jobs having processing order dependencies with each other. Therefore, a job waiting for the start of another job in a certain processor is Only during the waiting time for synchronization, it is necessary to hold the partial image that is the processing result of the job or write it out on the disk. That is, more generally speaking, in a job with a large intermediate product of the process, the large intermediate data file is left in the storage area for data retention, so that the resource starvation state continues for a long time, Even if the processor has completed the job, it makes other jobs unavailable or difficult to use. Such a wasteful or inutilizable idle period of the processor becomes noticeable when there is a job that is executed too early even though the result of the job schedule is not a prerequisite for other jobs.

【0006】原則的に、このようなジョブ完了後の遊休
期間を削減するためには、その第1のジョブを時間的後
方に移動させるか、またはその第1のジョブが処理され
るプロセッサにおいて実施されるジョブであって第1の
ジョブの時間的後方に位置する第2のジョブを時間的前
方に移動させることが必要である。しかしながら、この
ような移動操作は、スケジュール全体の進捗を遅滞させ
たり、スケジュールを構成するジョブ間の前後関係を逆
転させてしまう可能性をはらんでいるため、無条件に実
施することは危険であるという問題点があった。
In principle, in order to reduce the idle period after such a job is completed, the first job is moved backward in time, or implemented in the processor in which the first job is processed. It is necessary to move the second job, which is the job to be performed and which is located temporally behind the first job, to the temporal front. However, such a move operation may delay the progress of the entire schedule or reverse the context of the jobs that make up the schedule, so it is dangerous to perform it unconditionally. There was a problem.

【0007】本発明はこのような点に鑑みてなされたも
のであり、処理の中間生成データを保持したまま他のジ
ョブを待つような遊休時間を短くして処理資源を有効活
用するスケジューラを提供することを目的とする。
The present invention has been made in view of the above circumstances, and provides a scheduler for effectively utilizing processing resources by shortening idle time such as waiting for another job while holding intermediately generated data of processing. The purpose is to do.

【0008】[0008]

【課題を解決するための手段】図1は本発明によるスケ
ジューラの原理構成を示すブロック図である。同図にお
いて、本発明によるスケジューラは、ひとつのタスクを
分割し、分割したタスクを複数の演算処理装置6によっ
て並列処理するようスケジューリングするもので、分割
処理すべきタスクを相互に依存性を持ったタスク群を含
んだ複数のサブタスクに分割するタスク分割手段1と、
各サブタスクの処理時間を予測する負荷予測手段2と、
各サブタスク間の処理依存性の関係を保持する依存性記
憶手段3と、サブタスク群の処理スケジュールを決定す
るスケジューリング手段4と、このスケジューリング手
段4が生成したスケジュールにおいて、各演算処理装置
6において実行されるサブタスクの実行後に遊休時間が
生じる場合には、そのサブタスクをその実行後の遊休時
間の終了時刻から負荷予測手段2が予測した処理時間を
減じた時刻に処理開始するよう変更する遊休時間調整手
段5とから構成されている。
FIG. 1 is a block diagram showing the principle configuration of a scheduler according to the present invention. In the figure, the scheduler according to the present invention divides one task and schedules the divided tasks to be processed in parallel by a plurality of arithmetic processing units 6, and the tasks to be divided have a mutual dependency. Task dividing means 1 for dividing into a plurality of subtasks including a task group,
Load predicting means 2 for predicting the processing time of each subtask,
The dependency storage unit 3 that holds the processing dependency relationship between each subtask, the scheduling unit 4 that determines the processing schedule of the subtask group, and the schedule generated by this scheduling unit 4 are executed by each arithmetic processing unit 6. When the idle time occurs after the execution of the subtask, the idle time adjusting means for changing the subtask to start the processing at a time obtained by subtracting the processing time predicted by the load predicting means 2 from the end time of the idle time after the execution of the subtask. It is composed of 5 and.

【0009】上記スケジューラにおいて、スケジューリ
ング手段4は、スケジュール対象の各サブタスクが他の
サブタスクの実行開始条件であるかどうかを示すタスク
情報テーブルを備え、さらに遊休時間調整手段5は、タ
スク情報テーブルにおいて実行開始条件となっている第
1のサブタスクの開始時刻を、相応する第2のサブタス
クの開始予想時刻から前記負荷予測手段の予測した第1
のサブタスクの処理時間を減じた時刻にスケジューリン
グし、実行開始条件となっていない第1のサブタスクの
開始時刻を、最終サブタスクの完了予想時刻から負荷予
測手段2の予測した第1のサブタスクの処理時間を減じ
た時刻にスケジューリングするように構成されている。
In the above scheduler, the scheduling means 4 is provided with a task information table indicating whether or not each subtask to be scheduled is an execution start condition of another subtask, and the idle time adjusting means 5 is executed in the task information table. The start time of the first subtask, which is the start condition, is predicted by the load prediction means from the predicted start time of the corresponding second subtask.
Processing time of the first subtask that is scheduled by the processing time of the second subtask is subtracted, and the start time of the first subtask that is not the execution start condition is predicted by the load prediction means 2 from the predicted completion time of the final subtask. Is configured to be scheduled at a reduced time.

【0010】上記構成のスケジューラによれば、まず第
一に、入力されたタスクはタスク分割手段1によって複
数のサブタスクに分割される。タスク分割手段1は、分
割の際にサブタスク間の依存性を解析し、検出された処
理依存性を依存性記憶手段3に保存する。分割されたサ
ブタスクは、負荷予測手段2によってその処理時間が予
測評価され、サブタスクに付加情報として保持され、ま
たは上記のタスク情報テーブルのような別個の記憶手段
に保持される。さらに、サブタスク全体の集合はスケジ
ューリング手段4によって、複数の演算処理装置6上の
処理計画としてスケジュール構成される。このときに、
依存性記憶手段3における依存関係情報および付加予測
手段2の評価した予測時間値が計画作成のために参照さ
れる。ここで作成されたスケジュールを受け取って、遊
休時間調整手段5は、処理後の遊休時間があるようなサ
ブタスクについては、その処理開始時刻を遅らせるよう
スケジューリングする。これにより、処理後に遊休時間
があるようなサブタスクを処理する演算処理装置6で
は、そのサブタスクを先に処理して次のサブタスクを待
っているような遊休時間が、何等処理を行わない、つま
り処理資源を使用しない処理前の遊休時間に交換され
る。スケジューリング手段4にてスケジューリングさ
れ、遊休時間調整手段5にてスケジュールが最適化され
たサブタスクは、各演算処理手段6にて分散処理され、
マスタとなる演算処理装置が処理されたサブタスクを回
収する。
According to the scheduler having the above structure, first, the input task is divided into a plurality of subtasks by the task dividing means 1. The task dividing unit 1 analyzes the dependency between subtasks at the time of division, and stores the detected processing dependency in the dependency storage unit 3. The processing time of the divided subtasks is estimated and evaluated by the load predicting means 2, and the subtasks are held as additional information in the subtasks or held in separate storage means such as the task information table described above. Further, the scheduling unit 4 schedules a set of all subtasks as a processing plan on the plurality of arithmetic processing devices 6. At this time,
The dependency relationship information in the dependency storage means 3 and the predicted time value evaluated by the additional prediction means 2 are referred to for planning. Upon receipt of the schedule created here, the idle time adjusting means 5 schedules the processing start time of the subtask having the idle time after processing to be delayed. As a result, the processing device 6 that processes a subtask that has idle time after processing does not perform any processing during the idle time that processes the subtask first and waits for the next subtask. It is exchanged for idle time before processing without using resources. The subtasks scheduled by the scheduling means 4 and the schedule optimized by the idle time adjusting means 5 are distributedly processed by the respective arithmetic processing means 6,
The master arithmetic processing unit collects the processed subtask.

【0011】したがって、タスクを分割して複数の演算
処理装置により並列に処理するようにスケジューリング
するスケジューラにおいて、演算処理装置において実行
されるサブタスクの処理後に遊休時間が生じる場合に、
そのサブタスクの処理開始時刻を時間的後方にシフトさ
せるようにしたことにより、そのサブタスクの処理を完
了し中間生成データを保持したまま次のサブタスクの処
理待ちとなっている遊休時間は、処理前の無負荷な遊休
時間に交換され、処理資源が有効活用されることにな
る。
Accordingly, in a scheduler that divides a task and schedules it to be processed in parallel by a plurality of arithmetic processing devices, when idle time occurs after processing subtasks executed in the arithmetic processing device,
By shifting the processing start time of that subtask backward in time, the idle time waiting for the processing of the next subtask while completing the processing of that subtask and holding the intermediately generated data is It will be exchanged for idle time with no load, and the processing resources will be effectively utilized.

【0012】[0012]

【発明の実施の形態】以下、本発明のスケジューラの実
施の形態を、ページ記述言語等の描画命令列を複数の処
理装置で実行して高速に画像形成する印刷処理システム
に適用した場合を例にして説明する。
BEST MODE FOR CARRYING OUT THE INVENTION A case where the embodiment of the scheduler of the present invention is applied to a print processing system in which a drawing instruction sequence such as a page description language is executed by a plurality of processing devices to form an image at high speed will be described below. And explain.

【0013】図2は印刷処理システムの構成例を示す図
である。図示の印刷処理システムは、印刷データを作成
して印刷要求を出力する複数のクライアント計算機1
1,12,・・・と、印刷装置20と、ローカルエリア
ネットワークのひとつであるイーサネット30とによっ
て構成される。また、印刷装置20は、データ受信部2
1と、ジョブ管理部22と、複数のラスタライズ処理部
23a,23b,23c,23dと、頁メモリ24と、
印字装置25とによって構成され、ジョブ管理部22、
ラスタライズ処理部23a,23b,23c,23d、
頁メモリ24、および印字装置25は、共有バス26に
よって結合されている。
FIG. 2 is a diagram showing a configuration example of a print processing system. The illustrated print processing system includes a plurality of client computers 1 that create print data and output print requests.
, 12, the printer 20, and the Ethernet 30, which is one of the local area networks. In addition, the printing device 20 includes the data receiving unit 2
1, a job management unit 22, a plurality of rasterization processing units 23a, 23b, 23c, 23d, a page memory 24,
And a job management unit 22,
Rasterization processing units 23a, 23b, 23c, 23d,
The page memory 24 and the printing device 25 are connected by a shared bus 26.

【0014】ネットワーク上に配置された印刷装置20
は、クライアント計算機11,12,・・・からのプリ
ント要求データを、イーサネット30を経由して受け取
る。印刷データはデータ受信部21がスプールしてお
き、ジョブ管理部22に送られる。ジョブ管理部22
は、クライアント計算機11,12,・・・から発せら
れた印刷ジョブを複数のジョブに分割し、複数のラスタ
ライズ処理部23a,23b,23c,23dに配分す
る。各ラスタライズ処理部23a,23b,23c,2
3dで処理されたジョブは、頁メモリ24に転送され、
最終ジョブが完了した時点で印字装置25に転送され
る。印字装置25は、例えばCMYK(シアン、マゼン
タ、イエロー、黒)カラーの1色毎に露光、現像、転写
を繰り返すことによりフルカラー画像を出力することが
できるレーザ走査式の電子写真方式を用いたカラーペー
ジプリンタである。その性能は、例えば記録サイズA
3、解像度400dpi(dot per inc
h)、階調各色8ビットである。したがって、頁メモリ
24は、128MB(Mega Byte)を備えてい
る。
A printing device 20 arranged on the network
Receives print request data from the client computers 11, 12, ... Via the Ethernet 30. The print data is spooled by the data receiving unit 21 and sent to the job management unit 22. Job management unit 22
, Divides the print job issued from the client computer 11, 12, ... into a plurality of jobs and distributes them to the plurality of rasterization processing units 23a, 23b, 23c, 23d. Each rasterization processing unit 23a, 23b, 23c, 2
The job processed in 3d is transferred to the page memory 24,
When the final job is completed, it is transferred to the printer 25. The printing device 25 is a color using a laser scanning electrophotographic method capable of outputting a full-color image by repeating exposure, development, and transfer for each color of CMYK (cyan, magenta, yellow, black), for example. It is a page printer. Its performance is, for example, recording size A
3, resolution 400 dpi (dot per inc)
h), each color is 8 bits. Therefore, the page memory 24 has 128 MB (Mega Byte).

【0015】次に、本発明によるスケジューラを適用し
たジョブ管理部22の詳細な構成について説明する。図
3はジョブ管理部の構成例を示すブロック図である。
Next, a detailed configuration of the job management unit 22 to which the scheduler according to the present invention is applied will be described. FIG. 3 is a block diagram showing a configuration example of the job management unit.

【0016】ジョブ管理部22は、単一の印刷ジョブを
複数のジョブ群に分割するジョブ分割部221と、分割
された各ジョブの処理時間を評価する負荷予測部222
と、分割された各ジョブ間の処理順序制約に関する情報
を記憶しておく依存性記憶テーブル223と、分割され
たジョブ群をラスタライズ処理部23a,23b,23
c,23dに配分するためのスケジュールを作成するス
ケジューリング部224と、スケジューリング部224
から出力されるスケジュールに対して遊休時間の調整を
主たる目的とした最適化処理を施すスケジュール改善部
225とから構成されている。
The job management unit 22 divides a single print job into a plurality of job groups, and a load prediction unit 222 that evaluates the processing time of each divided job.
And a dependency storage table 223 for storing information regarding processing order constraints between the divided jobs, and the rasterized processing units 23a, 23b, 23 for the divided job groups.
a scheduling unit 224 that creates a schedule for distribution to c and 23d, and a scheduling unit 224
The schedule improving unit 225 performs an optimization process mainly for adjusting the idle time with respect to the schedule output from the above.

【0017】ジョブ分割部221は、データ受信部21
から印刷ジョブすなわちページ記述言語で記述された描
画命令列を受け取り、複数のラスタライズ処理部23
a,23b,23c,23dで処理するために、複数の
ジョブ(描画命令列)群に分割し、同時に分割された命
令列間の処理の依存性を解析する処理モジュールであ
る。この分割は、並列コンパイラの一般的手法を用い
て、データ依存性を解析することによって実施される。
この分割方式は、互いに順序依存性を含んだ複数の処理
要素を生成するものでありさえすれば、いかなるもので
あっても本発明の構成には影響しない。
The job dividing section 221 includes a data receiving section 21.
A print job, that is, a drawing instruction sequence described in the page description language is received from the plurality of rasterizing processing units 23.
It is a processing module that divides into a plurality of job (drawing instruction sequence) groups for processing by a, 23b, 23c, and 23d, and analyzes the processing dependency between the divided instruction sequences at the same time. This partitioning is performed by analyzing the data dependencies using the general approach of parallel compilers.
This division method does not affect the configuration of the present invention as long as it generates a plurality of processing elements that include order dependency with each other.

【0018】次に、ページ記述言語のひとつであるPo
stScript(ポストスクリプト、Adobe S
ystems社商標)によって記述されたグラフィクス
描画命令列の簡単な分割例を以下に示す。
Next, Po which is one of page description languages
stScript (Postscript, Adobe S
An example of simple division of the graphics drawing command sequence described by the Y. Systems Inc.) is shown below.

【0019】図4は印刷ジョブの分割例を示す図であ
る。この図において、40は、もともとの印刷ジョブで
あり、ここでは、6つの描画要素〜が含まれてい
る。印刷ジョブ40に含まれる6つの描画要素〜
は、4つのジョブ41〜44に分割され、描画属性命令
であるsetgray命令がそれぞれにコピーされる。
後述する重なり状況からわかるように、ジョブ41の実
行は、ジョブ42およびジョブ43の実行に先行しなけ
ればならない。ジョブの分割はグラフィクス命令の場
合、このように実際の描画を担当するコマンドを分割
し、それぞれに描画属性命令をコピーすることで行われ
る。なお、ここではグラフィクス命令の例をあげたが、
互いに重なりの検出ができさえすれば、分割対象となる
ジョブはビットマップの操作であっても文字描画であっ
てもかまわないことは言うまでもない。
FIG. 4 is a diagram showing an example of division of a print job. In the figure, reference numeral 40 denotes an original print job, and here, six drawing elements are included. Six drawing elements included in the print job 40
Is divided into four jobs 41 to 44, and a setgray instruction which is a drawing attribute instruction is copied to each.
As can be seen from the overlapping situation described below, the execution of the job 41 must precede the execution of the jobs 42 and 43. In the case of a graphics command, job division is performed by dividing the command in charge of actual drawing in this way and copying the drawing attribute command to each. In addition, although the example of the graphics command was given here,
Needless to say, the jobs to be divided may be bitmap operations or character drawings as long as they can detect the overlap.

【0020】図5は分割された命令列を実行した場合に
形成される画像を示す図である。この形成画像からわか
るように、要素の上には、要素、要素および要素
が描画されている。したがって、要素は、要素、
要素および要素の描画以前に形成されなければなら
ない。ジョブ分割部221では、命令列の分割と同時に
このような依存性の解析も行う。
FIG. 5 is a diagram showing an image formed when a divided instruction sequence is executed. As can be seen from this formed image, the element, the element, and the element are drawn on the element. So the element is the element,
Must be formed before drawing elements and elements. The job dividing unit 221 simultaneously analyzes such a dependency while dividing the instruction sequence.

【0021】依存性の解析は、最も簡便には描画要素の
最小外接矩形同士を比較することによって実施できる。
描画要素の最小外接矩形は、各描画要素の種類別にその
構成点のリスト{(x1,y1),・・・,(xn,y
n)}から(X座標最小値,Y座標最小値),(X座標
最大値,Y座標最大値)を探索することにより簡単に求
まる。これらの最小外接矩形は図5の例では、破線で示
される矩形である。
The dependency analysis can be carried out most simply by comparing the minimum circumscribed rectangles of the drawing elements.
The minimum circumscribed rectangle of a drawing element is a list of its constituent points for each kind of drawing element {(x1, y1), ..., (xn, y
n)} to obtain (X coordinate minimum value, Y coordinate minimum value) and (X coordinate maximum value, Y coordinate maximum value). These minimum circumscribed rectangles are rectangles indicated by broken lines in the example of FIG.

【0022】各描画要素の種類別にその構成点リストを
定めるには、例えば以下の規則に従って点列を抽出すれ
ばよい。 直線:2端点 曲線:2端点および制御点(1点もしくは2点) 円:(中心点X値−半径,中心点Y値−半径),(中心
点X値+半径,中心点Y値+半径) 矩形:左下点および右上点 ここで、いうまでもなく要素、、、の円および
要素の矩形はそのまま最小外接矩形が得られている。
To define the constituent point list for each type of drawing element, for example, a point sequence may be extracted according to the following rules. Straight line: 2 endpoints Curve: 2 endpoints and control points (1 point or 2 points) Circle: (center point X value-radius, center point Y value-radius), (center point X value + radius, center point Y value + radius) ) Rectangle: lower left point and upper right point Here, needless to say, the circle of element ,,, and the rectangle of element are the minimum circumscribed rectangles.

【0023】こうして得られた最小外接矩形BBiとB
Bi’同士の重なり判定は、(Bx1,By1)をBB
iの左下座標点、(Bx2,By2)をBBiの右上座
標点として、
The minimum circumscribing rectangles BBi and B thus obtained
To determine whether Bi's overlap each other, (Bx1, By1) is BB.
i is the lower left coordinate point, and (Bx2, By2) is the upper right coordinate point of BBi,

【0024】[0024]

【数1】 BBi:{(Bx1,By1),(Bx2,By2)}・・・(1) と表したときに、以下の条件式BBi: {(Bx1, By1), (Bx2, By2)} (1), the following conditional expression

【0025】[0025]

【数2】 {(Bx1>Bx2’)∧(Bx2>Bx2’)∧(By1>By2’)∧(B y2>By2’)}∨{(Bx1’>Bx2)∧(Bx2’>Bx2)∧(By 1’>By2)∧(By2’>By2)}・・・(2) によって判定し、これを満たせば2者は独立であり、そ
うでなければ重なっていると結論付ける。このように解
析されたジョブ間の依存性はテーブルの形式にまとめら
れる。
## EQU2 ## {(Bx1> Bx2 ') ∧ (Bx2>Bx2') ∧ (By1> By2 ') ∧ (By2>By2')} ∨ {(Bx1 '> Bx2) ∧ (Bx2'> Bx2) ∧ (By 1 ′> By 2) ∧ (By 2 ′> By 2)} (2), and if this is satisfied, it is concluded that the two are independent, otherwise they are overlapping. The inter-job dependencies analyzed in this way are summarized in a table format.

【0026】ジョブ分割部221で分割されたジョブ群
は、直ちに負荷予測部222でその処理時間が見積もら
れる。この予測値は、処理を構成する各命令の標準実行
時間テーブルを参照することによって簡便に得られる。
ジョブがサブルーチン群によって構成されている場合に
は、各サブルーチン毎に標準実行時間テーブルを設ける
ことによって、より効率的に時間予測することが可能で
ある。この予測は、例えば、描画命令列から描画される
べき図形の面積、線分の長さ等の処理の内容に応じて計
算されるが、ジョブの処理時間もしくはそれに相応した
量を予測することさえできれば、他の任意の方法によっ
てもよい。負荷予測部222において、負荷算定に使用
されるテーブルの一例を以下に示す。
The load predicting unit 222 immediately estimates the processing time of the job group divided by the job dividing unit 221. This predicted value can be easily obtained by referring to the standard execution time table of each instruction that constitutes the process.
When the job is composed of a group of subroutines, it is possible to more efficiently predict the time by providing a standard execution time table for each subroutine. This prediction is calculated according to the content of the processing such as the area of the figure to be drawn, the length of the line segment, etc. from the drawing command sequence, but it is even possible to predict the processing time of the job or an amount corresponding to it. If possible, any other method may be used. An example of a table used for load calculation in the load prediction unit 222 is shown below.

【0027】図6は負荷予測部の負荷算定係数テーブル
の一例を示す図である。図示の負荷算定係数テーブルに
よれば、描画命令の描画種に応じて時間係数Qtおよび
空間係数Qsが規定されており、負荷予測部222で
は、ジョブ分割部221にてそれぞれ分割されたジョブ
をラスタライズ処理部にて実行するときの所要予測時間
をその負荷算定係数テーブルを参照して算出する。
FIG. 6 is a diagram showing an example of a load calculation coefficient table of the load predicting section. According to the illustrated load calculation coefficient table, the time coefficient Qt and the space coefficient Qs are defined according to the drawing type of the drawing command, and the load predicting unit 222 rasterizes the jobs divided by the job dividing unit 221. The predicted time required for execution in the processing unit is calculated by referring to the load calculation coefficient table.

【0028】処理時間Tの予測は、ストロークの描画時
間Tsの場合は、描画要素の大きさLに描画種類毎にあ
らかじめ定められた時間係数Qti(i:は描画種類の
番号)を乗じてTs=Qi×Lとする。描画要素の大き
さLは、描画要素の最小外接矩形の最大辺、すなわちm
ax{bx,by}(bx,by:最小外接矩形の辺)
とする。
In the case of the stroke drawing time Ts, the processing time T is estimated by multiplying the size L of the drawing element by a time coefficient Qti (i: is the drawing type number) predetermined for each drawing type. = Qi × L. The size L of the drawing element is the maximum side of the minimum circumscribed rectangle of the drawing element, that is, m
ax {bx, by} (bx, by: side of minimum circumscribed rectangle)
And

【0029】塗りつぶし描画の場合は、まず輪郭線描画
の描画時間Tsを算出し、さらに、最小外接矩形の面積
Sにあらかじめ定めた空間係数Qsi(i:は描画種類
の番号)を乗じた値を算定し、これをTsに加えてTf
=Ts+S×Qsiとする。ただし、直線描画の場合だ
けは、S=L×線幅とする。
In the case of the filled drawing, the drawing time Ts of the contour drawing is first calculated, and the value obtained by multiplying the area S of the minimum circumscribed rectangle by a predetermined space coefficient Qsi (i: the drawing type number) is used. Calculated, add this to Ts, and add Tf
= Ts + S × Qsi. However, only in the case of straight line drawing, S = L × line width.

【0030】負荷予測部222はこれらの値を、処理予
測時間として依存性記憶テーブル223に記入する。負
荷予測部222は、この処理時間の予測の他に、処理後
に抱えるであろうデータ量の予測をする。これは、処理
後に遊休状態となった場合にメモリ空間を占有して他の
プロセスを邪魔するという意味あいにおいて、どれだけ
のコストがかかっているかを表す指標となる。このデー
タ量はS×Qsiで代替できる。ランレングス、JPE
Gなどの圧縮形式を用いている場合は、圧縮形式に応じ
てあらかじめ定めた係数を乗じておく。負荷予測部は、
このように算定したデータ量をコスト量として依存性記
憶テーブル223に記入する。
The load predicting unit 222 writes these values in the dependency storage table 223 as the processing prediction time. The load predicting unit 222 predicts the amount of data that will be held after the processing, in addition to the prediction of the processing time. This is an index showing how much the cost is in the sense that it occupies the memory space and disturbs other processes when it becomes idle after processing. This data amount can be replaced by S × Qsi. Run length, JPE
When a compression format such as G is used, it is multiplied by a predetermined coefficient according to the compression format. The load predictor is
The data amount calculated in this way is entered in the dependency storage table 223 as the cost amount.

【0031】ジョブ分割および負荷予測が完了した段階
で、解析されたデータ依存性は依存性記憶テーブル22
3に記憶される。その依存性記憶テーブル223の例を
以下に示す。
At the stage when the job division and load prediction are completed, the analyzed data dependency is stored in the dependency storage table 22.
3 is stored. An example of the dependency storage table 223 is shown below.

【0032】図7は依存性記憶テーブルの例を示す図で
ある。例示した依存性記憶テーブル223は、「JOB
/mark」、「idlecost」、「TIME」、
「PRED JOB/mark」、および「POST」
の欄から構成されている。なお、この依存性記憶テーブ
ル223中の数値については、上述の印刷ジョブ40と
は異なり、例えば7つのジョブに分割された印刷ジョブ
についての値である。
FIG. 7 is a diagram showing an example of the dependency storage table. The illustrated dependency storage table 223 is “JOB”.
/ Mark ”,“ idlecost ”,“ TIME ”,
"PRED JOB / mark" and "POST"
It is composed of columns. It should be noted that the numerical values in the dependency storage table 223 are different from the above-described print job 40, and are values for a print job divided into, for example, seven jobs.

【0033】この依存性記憶テーブル223によれば、
「JOB/mark」欄は各ジョブの識別番号/実行済
みかどうかの作業用フラグである。「idle cos
t」欄は各ジョブが単位時間待たされたらどれ位不都合
かということを表す数であり、例えば、記憶量みたいな
ものを示す指標であって、負荷予測部222が算定した
コスト量である。したがって、この値が小さいものにつ
いては、後述するスケジュール改善処理にはあまり関係
がない。「TIME」欄は負荷予測部222にて評価さ
れた各ジョブの予測実行時間である。「PRED JO
B/mark」欄は各ジョブの実行開始条件、すなわ
ち、各ジョブの実行以前に完了しておくべきジョブの識
別番号/実行済みかどうかの作業用フラグである。第1
および第2のジョブの「PRED JOB/mark」
欄はマイナスであるが、これは、そのジョブが実行開始
するに当たって他のジョブ進行とは独立に開始されても
かまわない、つまり、他のジョブとの依存関係がないと
いうことを示している。「POST」欄は、「PRED
JOB/mark」欄とは逆に、各ジョブが開始条件
となっているジョブ(群)の識別番号である。すなわち
ジョブJiの「POST」欄における各ジョブが実行開
始するためには、ジョブJiが処理完了していなければ
ならない。
According to this dependency storage table 223,
The "JOB / mark" column is an identification number of each job / a work flag indicating whether or not it has been executed. "Idle cos
The “t” column is a number indicating how inconvenient each job is if it waits for a unit time, and is, for example, an index indicating a storage amount, and is a cost amount calculated by the load prediction unit 222. Therefore, those having a small value have little relation to the schedule improvement processing described later. The “TIME” column is the predicted execution time of each job evaluated by the load prediction unit 222. "PRED JO
The “B / mark” column is an execution start condition of each job, that is, a job identification number to be completed before the execution of each job / a work flag indicating whether the job has been executed. First
And the second job "PRED JOB / mark"
Although the column is negative, this indicates that the job may be started independently of the progress of other jobs, that is, there is no dependency with other jobs. The "POST" column shows "PRED"
Contrary to the “JOB / mark” column, it is the identification number of the job (group) whose start condition is each job. That is, in order to start execution of each job in the “POST” column of the job Ji, the processing of the job Ji must be completed.

【0034】次に、互いに依存性をもつジョブ群を複数
のプロセッサ群に配置する順序と時間を決定するスケジ
ューリング部224について説明する。図8はスケジュ
ーリング部の動作を説明するフローチャートである。
Next, the scheduling unit 224 for determining the order and time for arranging the mutually dependent job groups in the plurality of processor groups will be described. FIG. 8 is a flowchart illustrating the operation of the scheduling unit.

【0035】スケジューリング部224では、まず、初
期化として、依存性記憶テーブル223をスケジューリ
ング部224の作業バッファにコピーし(以下これをジ
ョブテーブルと呼ぶ)、各ラスタライズ処理部PEjの
開始可能時刻T(j)をすべて0に設定する(S1)。
In the scheduling section 224, first, as an initialization, the dependency storage table 223 is copied to the work buffer of the scheduling section 224 (hereinafter referred to as a job table), and the startable time T () of each rasterization processing section PEj. All j) are set to 0 (S1).

【0036】次に、ジョブテーブル中のジョブのうちマ
ークされておらず、「PRED JOB/mark」欄
が負あるいは「PRED JOB/mark」欄の識別
番号がすべてマークされているジョブJi、すなわち開
始可能なジョブの集合を候補リストにセットする(S
2)。マークされたジョブとは、既に実行スケジュール
に配置済みのジョブであり、マークはこのことを示すフ
ラグである。既に配置済みをフラグ「1」、未だ配置さ
れていないジョブをフラグ「0」で示す。
Next, a job Ji that is not marked among the jobs in the job table and has a negative "PRED JOB / mark" column or all the identification numbers in the "PRED JOB / mark" column, that is, start Set a set of possible jobs in the candidate list (S
2). The marked job is a job that has already been placed in the execution schedule, and the mark is a flag indicating this. A flag “1” indicates that the job has already been placed, and a flag “0” indicates that the job has not been placed.

【0037】候補リストとは、ジョブJiの線形配列
[Jk,Jm,Jn,・・・]である。ただし、ここで
線形順序は便宜的なものであり、実際の意味はない。マ
ークの意味は後述するように、その「PRED JO
B」が既に処理完了されたものが「1」、そうでなけれ
ば「0」であるフラグである。
The candidate list is a linear array [Jk, Jm, Jn, ...] Of the job Ji. However, the linear order is expedient here and has no actual meaning. The meaning of the mark is, as will be described later, the "PRED JO
The flag "B" is "1" when the processing has already been completed, and "0" otherwise.

【0038】もし、候補リストが空であれば、以下をス
キップしてステップS8に行く(S3)。候補リストが
空でなければ、次に、その候補リストからジョブの処理
時間が最短のジョブJiをひとつ選び、ラスタライズ処
理部PEjに割当てる(S4)。すなわち、ここでのス
ケジューリングはSPT規則(最短処理時間規則)に基
づいたものである。なお、本発明は、あるジョブの処理
後に処理結果を受け取ってもらうまでの待ち時間を減少
させることを目的としている。そのため、初期スケジュ
ーリング自体がどのように構成されるかは、本発明の本
質に係る問題ではなく、この他の配分ヒューリスティッ
ク則としてEDD規則(最早納期規則)を用いてもよい
し、さらにそれらを初期解として様々な最適化方法を適
用してもよい。
If the candidate list is empty, skip the following and go to step S8 (S3). If the candidate list is not empty, then one job Ji having the shortest job processing time is selected from the candidate list and assigned to the rasterization processing unit PEj (S4). That is, the scheduling here is based on the SPT rule (shortest processing time rule). The present invention aims to reduce the waiting time until the processing result is received after processing a certain job. Therefore, how the initial scheduling itself is configured is not a problem related to the essence of the present invention, and the EDD rule (earliest delivery rule) may be used as another allocation heuristic rule, Various optimization methods may be applied as the solution.

【0039】ジョブJiは、<割当て先PEj,ジョブ
Jiの識別番号,Jiの開始時刻>という組データにて
スケジュールリストSLに加えられる。PEjの選択は
最も早く処理開始できるラスタライズ処理部を指定す
る。この開始可能時刻T(j)は次のように決定され
る。すなわち、ジョブJiをPEjで開始できる時刻
は、ラスタライズ処理部の開始可能時刻T(j)および
ジョブJiの「PRED」欄識別番号で指名されたジョ
ブJkの終了時刻TJ(k)のうちの最大値(最も遅い
時刻)である。したがって、ラスタライズ処理部PEj
の開始可能時刻T(j)は、
The job Ji is added to the schedule list SL as a set data of <assignee PEj, identification number of job Ji, start time of Ji>. The selection of PEj designates the rasterization processing unit that can start the processing earliest. This startable time T (j) is determined as follows. That is, the time at which the job Ji can start at PEj is the maximum of the startable time T (j) of the rasterization processing unit and the end time TJ (k) of the job Jk designated by the “PRED” column identification number of the job Ji. Value (latest time). Therefore, the rasterization processing unit PEj
The startable time T (j) of

【0040】[0040]

【数3】 T(j)=max[T(j),TJ(k)]+PT(i)・・・(3) と計算される。ここで、PT(i)はジョブJiの処理
時間である。プロセッサPEjが選択されるとT(j)
も更新される(S5)。
## EQU00003 ## T (j) = max [T (j), TJ (k)] + PT (i) ... (3) is calculated. Here, PT (i) is the processing time of the job Ji. When the processor PEj is selected, T (j)
Is also updated (S5).

【0041】ジョブJiの割当てが終わったならば、ジ
ョブテーブル中の全「PRED JOB」欄を検査し、
Jiを発見したならばそこにマークし、ジョブJi自体
にもマークする。すなわち、フラグを「1」にする(S
6)。
When the allocation of the job Ji is completed, all the "PRED JOB" columns in the job table are inspected,
If Ji is found, mark it, and also mark job Ji itself. That is, the flag is set to "1" (S
6).

【0042】以上の候補リストからひとつのジョブを選
び、ラスタライズ処理部に割り付ける手続きを、候補リ
ストが空になるまで繰り返す(ステップS3での判
定)。候補リストが空になったならば、ジョブテーブル
のすべてのジョブがマークされたかどうかを判定し(S
8)、マークされていないジョブがあれば、再びマーク
されていないジョブから候補リストを設定し、以上のサ
イクルをジョブテーブルのすべての行がマークされるま
で繰り返す。すべての行がマークされた段階で、スケジ
ューリング部の初期スケジュール作成処理は完了する。
The procedure for selecting one job from the above candidate list and assigning it to the rasterization processing section is repeated until the candidate list becomes empty (determination in step S3). If the candidate list becomes empty, it is determined whether all jobs in the job table have been marked (S
8) If there are unmarked jobs, a candidate list is set again from unmarked jobs, and the above cycle is repeated until all the rows in the job table are marked. When all the lines are marked, the scheduling unit's initial schedule creation process is completed.

【0043】このようにして、図7の依存性記憶テーブ
ル223に表現されたジョブ群を、以上のの手続きによ
ってスケジュール構成された例を以下に示す。図9はス
ケジュールの一例を示すガントチャートである。
An example in which the job group represented in the dependency storage table 223 of FIG. 7 in this way is scheduled by the above procedure is shown below. FIG. 9 is a Gantt chart showing an example of the schedule.

【0044】このガントチャートは3つのラスタライズ
処理部PE1〜PE3に対してジョブJ1〜J7をどの
ように配置したかを示すもので、図示の例によれば、ラ
スタライズ処理部PE1には、ジョブJ2、J3および
J6が割り当てられ、ラスタライズ処理部PE2には、
まずジョブJ1、そしてジョブJ3の終了時刻からジョ
ブJ4が割り当てられ、ラスタライズ処理部PE3に
は、ジョブJ2の終了時刻から開始するジョブJ5及び
ジョブJ6の終了時刻から開始するジョブJ7が割り当
てられている。ここで、斜線を施した部分は、ジョブが
処理終了後に、受渡し先ジョブの開始を待っている間の
遊休時間を意味している。このガントチャートで示され
るスケジュールは、以下のスケジュールリストSLによ
って内部表現される。
This Gantt chart shows how the jobs J1 to J7 are arranged with respect to the three rasterizing processing units PE1 to PE3. According to the illustrated example, the rasterizing processing unit PE1 has the job J2. , J3 and J6 are assigned to the rasterization processing unit PE2,
First, the job J1 and the job J4 are allocated from the end time of the job J3, and the job J5 starting from the end time of the job J2 and the job J7 starting from the end time of the job J6 are allocated to the rasterization processing unit PE3. . Here, the shaded portion means an idle time while waiting for the start of the delivery destination job after the job is completed. The schedule shown in this Gantt chart is internally represented by the following schedule list SL.

【0045】[0045]

【数4】 SL:<1,2,0><2,1,0><1,3,6><3,5,6><1,6 ,15><2,4,15><3,7,21>・・・(4) 次に、本発明の中心をなすスケジュール改善部225に
ついて説明する。スケジュール改善部225は、スケジ
ューリング部224が生成したスケジュールにおける遊
休時間を改善する処理部である。スケジューリング改善
部225における遊休時間の改善の概念を説明する。ま
ず、スケジューリング部224において、図9のガント
チャートに示すようなスケジュールが生成されたとし、
このスケジュールに対して改善するとする。図9に示し
たガントチャートのジョブ群において、例えばジョブJ
5に注目すると、このジョブJ5はジョブJ2の処理終
了を待って処理開始し、ジョブJ7の処理開始前に終了
していなければならない。また、印刷ジョブ全体の処理
時間を短くするために、ラスタライズ処理部PE3は処
理をなるべく速く済ませるよう、処理開始時刻はジョブ
J2の終了直後の「6」にしてあり、しかも、その処理
結果はジョブJ7に引き渡すまで保持するようにしてい
る。
SL: <1,2,0><2,1,0><1,3,6><3,5,6><1,6,15><2,4,15><3 , 7, 21> (4) Next, the schedule improving unit 225, which is the center of the present invention, will be described. The schedule improving unit 225 is a processing unit that improves idle time in the schedule generated by the scheduling unit 224. The concept of improving the idle time in the scheduling improving unit 225 will be described. First, assume that the scheduling unit 224 generates a schedule as shown in the Gantt chart of FIG.
Let's improve this schedule. In the job group of the Gantt chart shown in FIG. 9, for example, job J
Paying attention to No. 5, the job J5 must start processing after waiting for the processing of the job J2, and must finish before the processing of the job J7 starts. Further, in order to shorten the processing time of the entire print job, the rasterization processing unit PE3 sets the processing start time to "6" immediately after the end of the job J2 so that the processing is completed as quickly as possible, and the processing result is the job. I keep it until I hand it over to J7.

【0046】図10はスケジュール改善部におけるジョ
ブ移動の概要説明図である。図示のガントチャートによ
れば、スケジューリング部224が生成したスケジュー
ルに含まれるジョブJ1〜J7に対して、スケジュール
改善部225は、ジョブJ5がジョブJ7に処理結果を
引き渡すまでこれを保持していなければならないことに
着目して、この遊休時間I1を削減することを狙う。遊
休時間I1を削減するためには、ジョブJ5の処理開始
時刻を時間t0だけ遅らせる。これにより、ラスタライ
ズ処理部PE3が処理終了しても処理結果を保持しなけ
ればならない遊休時間I1はラスタライズ処理部PE3
が無負荷な遊休時間t0に交換されることになる。な
お、ジョブJ1についても同様に時間的に後方に移動さ
せて、ジョブJ4の処理開始までの遊休時間I2をラス
タライズ処理部PE2が無負荷な遊休時間に交換するこ
とができる。
FIG. 10 is a schematic explanatory diagram of job movement in the schedule improvement unit. According to the Gantt chart shown in the figure, for the jobs J1 to J7 included in the schedule generated by the scheduling unit 224, the schedule improvement unit 225 does not hold this until the job J5 passes the processing result to the job J7. Paying attention to the fact that it does not happen, we aim to reduce this idle time I1. In order to reduce the idle time I1, the processing start time of the job J5 is delayed by the time t0. As a result, the idle time I1 in which the processing result must be held even after the rasterization processing unit PE3 finishes processing is the rasterization processing unit PE3.
Will be exchanged for the unloaded idle time t0. Similarly, the job J1 can also be moved backward in time, and the idle time I2 until the start of the processing of the job J4 can be exchanged with the idle time when the rasterization processing unit PE2 has no load.

【0047】では、このような目的をもつスケジュール
改善部225の動作について説明する。まず、依存性記
憶テーブル223をコピーしたジョブテーブルDTをス
ケジュールリストSLを用いて拡張しておくが、その手
続きを説明する。
Next, the operation of the schedule improving unit 225 having such a purpose will be described. First, the job table DT obtained by copying the dependency storage table 223 is expanded using the schedule list SL. The procedure will be described.

【0048】図11はジョブテーブルの拡張手続きを示
すフローチャートである。ジョブテーブルDTを拡張す
る場合、まず、i=1に初期設定し(S11)、次に、
iをインクリメントし(S12)、以下の処理がジョブ
数だけ繰り返したかどうかを判定する(S13)。次
に、スケジュールリストSLからi番目のスケジュール
項目<PEj,Jk,T>を取り出す(S14)。ここ
で、PEjはラスタライズ処理部の番号、Jkはジョブ
識別子、TはJkの処理開始時刻である。次に、拡張さ
れたジョブテーブルDT2のk行、すなわちジョブJk
の「START」項目列にJkの処理開始時刻Tを記入
し(S15)、拡張されたジョブテーブルDT2のk
行、「END」項目列にT+TJ(k)を記入する(S
16)。TJ(k)は、Jkの処理時間であり、ジョブ
テーブルDTのk行の「TIME」欄を参照することで
得られる。この拡張手続きは、ジョブ数だけ繰り返した
ら終了する。
FIG. 11 is a flow chart showing the procedure for expanding the job table. When expanding the job table DT, first, i = 1 is initially set (S11), and then,
i is incremented (S12), and it is determined whether the following processing has been repeated for the number of jobs (S13). Next, the i-th schedule item <PEj, Jk, T> is extracted from the schedule list SL (S14). Here, PEj is the rasterization processing unit number, Jk is the job identifier, and T is the processing start time of Jk. Next, k rows of the expanded job table DT2, that is, job Jk
The processing start time T of Jk is entered in the "START" item column of (S15), and k of the expanded job table DT2 is entered.
Line, enter T + TJ (k) in the "END" item column (S
16). TJ (k) is the processing time of Jk and is obtained by referring to the "TIME" column of the k row of the job table DT. This extended procedure ends after repeating the number of jobs.

【0049】以上のようにして作成されたジョブテーブ
ルDT2の例を以下に示す。図12は拡張されたジョブ
テーブルの構成を示す図である。図示の拡張されたジョ
ブテーブルDT2は、各ジョブの識別番号の「JOB」
欄と、各ジョブが単位時間待たされたらどれ位不都合か
ということを表す指標である「idle cost」欄
と、「TIME」欄と、ラスタライズ処理部の識別番号
の「PE」欄と、各ジョブの実行条件の「PRED」欄
と、各ジョブの予測実行時間の「POST」欄と、処理
開始時刻の「START」欄と、処理終了時刻の「EN
D」欄とから構成される。「START」欄および「E
ND」欄はジョブテーブル拡張手続きによって新たに拡
張された欄である。
An example of the job table DT2 created as above is shown below. FIG. 12 is a diagram showing the structure of the extended job table. The extended job table DT2 shown in the drawing has the "JOB" of the identification number of each job.
Columns, an "idle cost" column, which is an index showing how inconvenient each job is if it waits for a unit time, a "TIME" column, a "PE" column of an identification number of the rasterization processing unit, and each job Execution condition “PRED” column, estimated execution time of each job “POST” column, processing start time “START” column, and processing end time “EN”
D ”column. "START" column and "E
The “ND” field is a field newly expanded by the job table expansion procedure.

【0050】次に、第二の準備としてスケジュールリス
トSLをラスタライズ処理部の識別番号であるPE番号
順に並べ変えておく。ここで、例えば、先程のスケジュ
ールリストSLは次のスケジュールリストSL2とな
る。
Next, as a second preparation, the schedule list SL is rearranged in the order of the PE number which is the identification number of the rasterization processing section. Here, for example, the previous schedule list SL becomes the next schedule list SL2.

【0051】[0051]

【数5】 SL2:<1,2,0><1,3,6><1,6,15><2,1,0><2, 4,15><3,5,11><3,7,21>・・・(5) このスケジュールリストSL2と拡張されたジョブテー
ブルDT2とを利用しながら、スケジュール改善部22
5は図10に示すような結果になるよう改善処理を行
う。以下、その改善手続きについて説明する。
SL2: <1,2,0><1,3,6><1,6,15><2,1,0><2,4,15><3,5,11><3 , 7, 21> (5) The schedule improving unit 22 while using the schedule list SL2 and the extended job table DT2.
In No. 5, the improvement process is performed so that the result as shown in FIG. 10 is obtained. The improvement procedure will be described below.

【0052】図13はスケジュール改善部の動作の流れ
を示すフローチャートである。スケジュールリストSL
の改善手続きは、まず、拡張されたジョブテーブルDT
2の「END」列の最大値を探して、スケジュール完了
時刻Tendに設定する準備を行う(S21)。次に、
以下の処理の繰り返し回数があらかじめ定めた繰り返し
回数N以下かどうかをチェックする(S22)。このN
はスケジュール改善の精度を表す数であり、適当な数、
例えば1でもよい。次に、以下のステップの処理を各ジ
ョブJiに適用する。まず、ジョブ番号をi=1に設定
し(S23)、そのジョブ番号iがジョブ数以下かどう
かをチェックする(S24)。次に、iをインクリメン
トし(S25)、ジョブJiの完了時刻T1(拡張され
たジョブテーブルDT2のk行の「END」列)とジョ
ブJiのラスタライズ処理部における後続ジョブの開始
時刻T2とを比較する(S26)。後続ジョブの開始時
刻T2は、スケジュールリストSL2中でJiの次のジ
ョブがJiと同じPE番号であれば、その開始時刻を参
照し、もし違うPE番号であれば、すなわちJiが最終
ジョブであれば、Tend−TJ(Ji)とする。ここ
で、TJ(Ji)は、Jiの処理時間すなわち「TIM
E」欄の値である。
FIG. 13 is a flow chart showing the flow of the operation of the schedule improving unit. Schedule list SL
The improvement procedure of the first is the extended job table DT
The maximum value in the “END” column of No. 2 is searched for, and preparations are made to set the schedule completion time Tend (S21). next,
It is checked whether the number of repetitions of the following processing is less than or equal to a predetermined number of repetitions N (S22). This N
Is a number that represents the accuracy of schedule improvement, an appropriate number,
For example, it may be 1. Next, the processes of the following steps are applied to each job Ji. First, the job number is set to i = 1 (S23), and it is checked whether the job number i is the number of jobs or less (S24). Next, i is incremented (S25), and the completion time T1 of the job Ji (the “END” column of the k row of the expanded job table DT2) is compared with the start time T2 of the succeeding job in the rasterization processing unit of the job Ji. Yes (S26). The start time T2 of the succeeding job refers to the start time of the next job of Ji in the schedule list SL2 if it is the same PE number as Ji. If the PE number is different, that is, if Ji is the last job. For example, Tend-TJ (Ji). Here, TJ (Ji) is the processing time of Ji, that is, “TIM
It is the value in the "E" column.

【0053】T1>=T2であれば、次のジョブJi+
1について、時間チェックするためにステップS24に
戻り、T1<T2であれば、ジョブJiを実行開始条件
とするジョブ群の開始時刻を検査する(S27)。拡張
されたジョブテーブルDT2のi行の「POST」欄を
参照し、そこでのジョブ群{Jm}それぞれの開始時刻
{Tpm}を参照する。{Tpm}は、各Jmの「ST
ART」欄の値である。もし、Tpmの中に、ジョブJ
iの完了時刻Tcompに等しいものがあったならば、
次のジョブJi+1について以上の処理をするために、
ステップS24に戻る。
If T1> = T2, the next job Ji +
1, the process returns to step S24 to check the time, and if T1 <T2, the start time of the job group having the job Ji as the execution start condition is inspected (S27). The "POST" column in the i-th row of the expanded job table DT2 is referenced, and the start time {Tpm} of each job group {Jm} therein is referenced. {Tpm} is the “ST of each Jm
This is the value in the "ART" column. If the job J is in Tpm
If there is something equal to the completion time Tcomp of i,
In order to perform the above processing for the next job Ji + 1,
It returns to step S24.

【0054】ステップS27の判断において、すべての
Tpmについて、Tpm>Tcompであれば、ジョブ
Jiの実行開始条件となるジョブの遊休時間増加による
コスト増とジョブJi自体の遊休時間減少によるコスト
減とを比較する(S28)。ジョブJiの「PRED」
欄のジョブ群{Jm}を参照し、各Jmの「idlec
ost」欄の値Cdを総計する。この値ΣCd(m)を
ジョブJiの「idle cost」と比較し、もし、
ΣCd(m)<Cd(i)−εであれば、次のステップ
S29に進む。εは、あらかじめ定めた閾値時間であ
り、0であってもかまわない。ΣCd(m)>=Cd
(i)であるときは、次のジョブJi+1について以上
の処理をするために、ステップS24に戻る。
In the determination of step S27, if Tpm> Tcomp for all Tpms, there is an increase in the idle time of the job that is the execution start condition of the job Ji and a decrease in the idle time of the job Ji itself. The comparison is made (S28). "PRED" of job Ji
Referring to the job group {Jm} in the column, the "idlec" of each Jm
The value Cd in the “ost” column is totaled. This value ΣCd (m) is compared with “idle cost” of job Ji, and if
If ΣCd (m) <Cd (i) −ε, the process proceeds to the next step S29. ε is a predetermined threshold time, and may be 0. ΣCd (m)> = Cd
If (i), the process returns to step S24 to perform the above processing for the next job Ji + 1.

【0055】また、もし、ジョブJiの「PRED」欄
が空(−1)であるときには、次のステップS29へ行
く。ジョブJiの「START」欄を、ジョブJiを開
始条件とするジョブ群{Jm}の開始時刻の最小値から
Jiの処理時間TJ(i)を減じた値で置き換える。す
なわち、START(Ji)=min{START(J
m)}−TJ(i)とする。
If the "PRED" column of the job Ji is empty (-1), the process goes to the next step S29. The “START” column of the job Ji is replaced with a value obtained by subtracting the processing time TJ (i) of Ji from the minimum value of the start time of the job group {Jm} whose start condition is job Ji. That is, START (Ji) = min {START (J
m)}-TJ (i).

【0056】以上の手続きにより、スケジュールSLは
処理後の遊休時間が処理前の遊休時間へと交換され、全
体の処理進捗を遅延することなく負荷が軽減される方向
へ改善される。また、再スケジューリング(最適化)を
施すことにより、増加した処理前の遊休時間に新たなジ
ョブを受け入れる可能性も生まれてくる。
According to the above procedure, the idle time after processing is exchanged for the idle time after processing, and the load is reduced without delaying the overall processing progress. Further, by performing rescheduling (optimization), it is possible to accept a new job in the increased idle time before processing.

【0057】上述のスケジュール改善部225の動作に
よれば、図10に示したように、ジョブJ5の処理完了
が実行開始条件となるジョブJ7の処理開始予定時刻か
らジョブJ5の予想処理時間を差し引いた時刻をジョブ
J5の処理開始時刻としている。しかし、各ジョブの予
想処理時間は通常実処理時間と異なるので、ジョブJ5
の処理時間が予想処理時間よりも長くなってしまった場
合には、結果的に、マイナスの遊休時間が生じることに
なり、したがって、この印刷ジョブ全体の処理時間が長
くなってしまうことがある。また、ジョブJ5はジョブ
J2に依存しているため、開始時刻がジョブJ2の終了
時刻よりあまり遅くなると、ラスタライズ処理部PE1
における負荷が大きくなる。これを避けるために、開始
時刻の設定をこれらを考慮して行う必要がある。
According to the operation of the schedule improving unit 225 described above, as shown in FIG. 10, the expected processing time of the job J5 is subtracted from the scheduled processing start time of the job J7 whose execution start condition is the completion of the processing of the job J5. The time when the job J5 is started is defined as the start time. However, since the estimated processing time of each job is different from the actual processing time, the job J5
If the processing time of is longer than the expected processing time, a negative idle time will result, and thus the processing time of the entire print job may become longer. Further, since the job J5 depends on the job J2, if the start time becomes too late after the end time of the job J2, the rasterization processing unit PE1
The load on is increased. In order to avoid this, it is necessary to set the start time taking these into consideration.

【0058】図14は別のスケジュール改善によるジョ
ブ移動の説明図である。図示のガントチャートによれ
ば、ジョブJ5の開始時刻をジョブJ7の開始時刻から
ジョブJ5の予測処理時間を減じた時刻よりも前に設定
するようにしている。この時、ジョブJ5の開始時刻
は、ジョブJ5と依存関係のあるジョブJ2の「idl
e cost」とジョブJ5の「idle cost」
とを勘案して決定される。例えば、ジョブJ5の遊休時
間I1をジョブJ2およびジョブJ5の「idle c
ost」の逆比率で分割し、分割した遊休時間の内、時
間的に後方のものを遊休時間I3とし、ジョブJ5の開
始時刻をジョブJ7の開始時刻からジョブJ5の予測処
理時間と遊休時間I3とを減じた時刻にするようにして
いる。
FIG. 14 is an explanatory diagram of job movement by another schedule improvement. According to the illustrated Gantt chart, the start time of the job J5 is set before the time obtained by subtracting the estimated processing time of the job J5 from the start time of the job J7. At this time, the start time of the job J5 is "idl" of the job J2 having a dependency relationship with the job J5.
e cost ”and“ idle cost ”of job J5
It is decided in consideration of. For example, the idle time I1 of the job J5 is set to “idle c of the job J2 and the job J5.
The idle time I3 is divided by the reverse ratio of “ost”, and one of the divided idle times is the idle time I3, and the start time of the job J5 is estimated from the start time of the job J7 and the idle time I3. I am trying to set the time to be less.

【0059】以下、ジョブ管理部22は、スケジューリ
ングおよびスケジュール改善を実施した後、描画命令列
を各ラスタライズ処理装置に分配する。スケジュール改
善された配分計画は、処理途中の中間生成画像を長期間
保持しておくコストが小さく押さえられている。
Thereafter, the job management unit 22 distributes the drawing command sequence to each rasterizing processing device after performing the scheduling and the schedule improvement. In the distribution plan with the improved schedule, the cost of holding the intermediately generated images during processing for a long period of time is kept low.

【0060】なお、本実施例では共有バスでラスタライ
ズ処理装置を結合した並列処理装置の構成を採用してお
り、処理後遊休時間が処理前遊休時間に交換されること
は、他のジョブを引受けやすくする意味をもっていた。
一方、本発明は、ネットワーク結合による分散処理シス
テムに対して適用することもまったく同様に可能であ
る。このときには、遊休時間の交換が、印刷ジョブだけ
でなくその他一般のユーザジョブ全体に対しても負荷軽
減の効果を与える。
In this embodiment, the parallel processing device is used in which the rasterizing processing devices are connected by the shared bus. The post-processing idle time is replaced with the pre-processing idle time so that another job is accepted. It was meant to make it easier.
On the other hand, the present invention can be applied to a distributed processing system by network connection in the same manner. In this case, exchanging the idle time has the effect of reducing the load not only for the print job but also for other general user jobs as a whole.

【0061】[0061]

【発明の効果】以上説明したように、本発明のスケジュ
ーラによれば、互いに依存性を持つジョブ群を並列に処
理するスケジューリングを行うためのスケジューラにお
いて、分割されたサブタスクの開始時刻をそのサブタス
クの遊休状態の解消時刻から負荷予測手段による予測処
理時間を減じた時刻に変更する遊休時間調整手段を備え
るように構成したことにより、処理の中間生成データを
抱えたまま他のジョブを待つ遊休時間は処理前の無負荷
な遊休時間に交換され、中間生成データを長時間保持し
ている期間が減少するため、演算処理装置はサブタスク
の処理以外の一般のユーザプロセスに対する負荷を軽減
することができるなど、処理資源が有効活用される。
As described above, according to the scheduler of the present invention, the start time of a divided subtask is set to the start time of the divided subtask in the scheduler for scheduling parallel processing of mutually dependent job groups. By configuring the system to include the idle time adjustment unit that changes the time when the idle state is resolved to the time obtained by subtracting the predicted processing time by the load prediction unit, the idle time that waits for another job while holding the intermediately generated data of the processing is It is exchanged for idle time before processing, and the period of holding intermediately generated data for a long time is reduced, so the processing unit can reduce the load on general user processes other than the processing of subtasks. , The processing resources are effectively used.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明によるスケジューラの原理構成を示すブ
ロック図である。
FIG. 1 is a block diagram showing a principle configuration of a scheduler according to the present invention.

【図2】印刷処理システムの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a print processing system.

【図3】ジョブ管理部の構成例を示すブロック図であ
る。
FIG. 3 is a block diagram illustrating a configuration example of a job management unit.

【図4】印刷ジョブの分割例を示す図である。FIG. 4 is a diagram illustrating an example of division of a print job.

【図5】分割された命令列を実行した場合に形成される
画像を示す図である。
FIG. 5 is a diagram showing an image formed when a divided instruction sequence is executed.

【図6】負荷予測部の負荷算定係数テーブルの一例を示
す図である。
FIG. 6 is a diagram showing an example of a load calculation coefficient table of a load prediction unit.

【図7】依存性記憶テーブルの例を示す図である。FIG. 7 is a diagram showing an example of a dependency storage table.

【図8】スケジューリング部の動作を説明するフローチ
ャートである。
FIG. 8 is a flowchart illustrating an operation of a scheduling unit.

【図9】スケジュールの一例を示すガントチャートであ
る。
FIG. 9 is a Gantt chart showing an example of a schedule.

【図10】スケジュール改善部におけるジョブ移動の概
要説明図である。
FIG. 10 is a schematic explanatory diagram of job movement in a schedule improvement unit.

【図11】ジョブテーブルの拡張手続きを示すフローチ
ャートである。
FIG. 11 is a flowchart showing a procedure for expanding a job table.

【図12】拡張されたジョブテーブルの構成を示す図で
ある。
FIG. 12 is a diagram showing a configuration of an extended job table.

【図13】スケジュール改善部の動作の流れを示すフロ
ーチャートである。
FIG. 13 is a flowchart showing an operation flow of a schedule improving unit.

【図14】別のスケジュール改善によるジョブ移動の説
明図である。
FIG. 14 is an explanatory diagram of job movement due to another schedule improvement.

【符号の説明】[Explanation of symbols]

1 タスク分割手段 2 負荷予測手段 3 依存性記憶手段 4 スケジューリング手段 5 遊休時間調整手段 6 演算処理装置 11,12,・・・ クライアント計算機 20 印刷装置 21 データ受信部 22 ジョブ管理部 23a,23b,23c,23d ラスタライズ処理部 24 頁メモリ 25 印字装置 26 共有バス 30 イーサネット 1 task dividing means 2 load predicting means 3 dependency storing means 4 scheduling means 5 idle time adjusting means 6 arithmetic processing devices 11, 12, ... Client computer 20 printing device 21 data receiving unit 22 job management unit 23a, 23b, 23c , 23d Rasterization processing unit 24 Page memory 25 Printing device 26 Shared bus 30 Ethernet

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ひとつのタスクを分割し複数の演算処理
装置によって並列処理するよう分割されたタスクをスケ
ジューリングするスケジューラにおいて、 分割処理すべきタスクを相互に依存性を持ったタスク群
を含んだ複数のサブタスクに分割するタスク分割手段
と、 各サブタスクの処理時間を予測する負荷予測手段と、 各サブタスク間の処理依存性の関係を保持する依存性記
憶手段と、 サブタスク群の処理スケジュールを決定するスケジュー
リング手段と、 演算処理装置による実行後に遊休状態が生じるようにス
ケジューリングされたサブタスクの開始時刻を遊休状態
の解消時刻から前記負荷予測手段の予測した処理時間を
減じた時刻に変更する遊休時間調整手段と、 を備えたことを特徴とするスケジューラ。
1. A scheduler for scheduling a divided task so that one task is divided and processed in parallel by a plurality of arithmetic processing units, a plurality of tasks including a group of tasks having mutual dependence. Task dividing means for dividing into subtasks, load predicting means for predicting the processing time of each subtask, dependency storing means for holding the processing dependency relationship between each subtask, and scheduling for determining the processing schedule of the subtask group Means and idle time adjusting means for changing the start time of the subtask scheduled so that the idle state occurs after execution by the arithmetic processing unit to a time obtained by subtracting the processing time predicted by the load predicting means from the idle state resolution time. A scheduler characterized by including.
【請求項2】 前記スケジューリング手段は、スケジュ
ール対象の各サブタスクが他のサブタスクの実行開始条
件であるかどうかを示すタスク情報テーブルを備え、 前記遊休時間調整手段は、タスク情報テーブルにおいて
実行開始条件となっている第1のサブタスクの開始時刻
を、相応する第2のサブタスクの開始予想時刻から前記
負荷予測手段が予測した第1のサブタスクの処理時間を
減じた時刻にスケジューリングし、実行開始条件となっ
ていない第1のサブタスクの開始時刻は、最終サブタス
クの完了予想時刻から前記負荷予測手段の予測した第1
のサブタスクの処理時間を減じた時刻にスケジューリン
グするように構成したことを特徴とする請求項1記載の
スケジューラ。
2. The scheduling means includes a task information table indicating whether or not each subtask to be scheduled is an execution start condition of another subtask, and the idle time adjusting means includes an execution start condition in the task information table. The start time of the first subtask is scheduled to be a time obtained by subtracting the processing time of the first subtask predicted by the load predicting means from the estimated start time of the corresponding second subtask, and becomes the execution start condition. The start time of the first subtask that has not been completed is the first time predicted by the load prediction means from the estimated completion time of the last subtask.
2. The scheduler according to claim 1, wherein the scheduler is configured to perform scheduling at a time when the processing time of the subtask is reduced.
【請求項3】 前記スケジューリング手段は、各サブタ
スクの処理後における後続のサブタスクの処理開始まで
の遊休時間での資源コストを評価した遊休コスト係数を
記憶するコスト記憶手段を備え、 前記遊休時間調整手段は、第1のサブタスクの開始時刻
を変更する際に、依存性記憶手段および前記コスト記憶
手段を参照して算出した、前記第1のサブタスクを開始
条件とする第2のサブタスクの遊休状態のコスト増加分
の値が、前記第1のサブタスクの遊休状態のコスト減少
分を上回る場合には、前記第1のサブタスクの開始時刻
の変更を中止するように構成したことを特徴とする請求
項1記載のスケジューラ。
3. The idle means for adjusting the idle time includes a cost storage means for storing an idle cost coefficient which evaluates a resource cost in an idle time after the processing of each subtask until the processing of a subsequent subtask is started. Is the cost of the idle state of the second subtask with the first subtask as the start condition, which is calculated by referring to the dependency storage means and the cost storage means when the start time of the first subtask is changed. 2. When the value of increase exceeds the cost decrease of the idle state of the first subtask, the change of the start time of the first subtask is stopped. Scheduler.
【請求項4】 前記遊休時間調整手段は、サブタスクの
開始時刻を、遊休状態の解消時刻から予測処理時間に前
記遊休コスト係数に基づく係数時間を加えた時間を減じ
た時刻に変更するように構成したことを特徴とする請求
項3記載のスケジューラ。
4. The idle time adjusting means is configured to change the start time of the subtask to a time obtained by subtracting the time obtained by adding the coefficient time based on the idle cost coefficient to the estimated processing time from the idle state cancellation time. The scheduler according to claim 3, characterized in that
【請求項5】 印刷情報を記述したソースファイルから
印刷に必要な画素情報を得るラスタライズ処理を並列に
行うために印刷情報を複数の演算処理装置に配分する印
刷システムのジョブ管理装置において、 印刷情報を記述したソースファイルを複数のコマンドシ
ーケンスに分割するジョブ分割手段と、 各コマンドシーケンスによって形成される画像要素間の
空間的干渉性を解析する依存性解析手段と、 各コマンドシーケンスのラスタライズ処理時間を予測す
る負荷予測手段と、 前記各コマンドシーケンスの各負荷予測結果と画像の空
間的干渉性解析結果とに基づいて、前記複数の演算処理
装置に対しコマンドシーケンス群の処理スケジュールを
決定するものであって、複数の演算処理装置において実
行される第1のコマンドシーケンスが後続の第2のコマ
ンドシーケンスの開始条件となっていない場合に限り、
前記第1のコマンドシーケンスの割当てプロセッサにお
いて後続の第3のコマンドシーケンスが処理開始する時
刻から前記負荷予測手段が解析した第1のコマンドシー
ケンスのラスタライズ処理時間を減じた時刻に処理開始
するようスケジューリングするスケジューリング手段
と、 を備えていることを特徴とする印刷システムのジョブ管
理装置。
5. A job management apparatus for a printing system, wherein print information is distributed to a plurality of arithmetic processing units in order to perform rasterization processing for obtaining pixel information required for printing from a source file describing print information in parallel. The job division means that divides the source file that describes the command sequence into multiple command sequences, the dependency analysis method that analyzes the spatial coherence between the image elements formed by each command sequence, and the rasterization processing time for each command sequence. A load predicting means for predicting, determining a processing schedule of a command sequence group for the plurality of arithmetic processing devices based on each load prediction result of each command sequence and a spatial coherence analysis result of an image. And the first command sequence executed in the plurality of arithmetic processing units is Only if you have not become a condition for starting the connection of the second command sequence,
The allocation of the first command sequence is scheduled to start at the time when the rasterizing process time of the first command sequence analyzed by the load predicting means is subtracted from the time when the subsequent third command sequence starts processing. A job management apparatus for a printing system, comprising: a scheduling unit.
JP8022375A 1996-02-08 1996-02-08 Scheduler Pending JPH09218861A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8022375A JPH09218861A (en) 1996-02-08 1996-02-08 Scheduler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8022375A JPH09218861A (en) 1996-02-08 1996-02-08 Scheduler

Publications (1)

Publication Number Publication Date
JPH09218861A true JPH09218861A (en) 1997-08-19

Family

ID=12080901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8022375A Pending JPH09218861A (en) 1996-02-08 1996-02-08 Scheduler

Country Status (1)

Country Link
JP (1) JPH09218861A (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011189A1 (en) * 2004-07-26 2006-02-02 Mitsubishi Denki Kabushiki Kaisha Parallel computer
CN100377084C (en) * 2006-03-10 2008-03-26 浙江大学 Multi-task parallel starting optimization of built-in operation system
US7382484B2 (en) 2004-06-09 2008-06-03 Canon Kabushiki Kaisha Information processing apparatus and its control method
CN100411092C (en) * 2005-04-15 2008-08-13 力晶半导体股份有限公司 Method for reducing idle time of machine and producing system using the same method
JP2008204292A (en) * 2007-02-21 2008-09-04 Toshiba Corp Memory management system
CN100424674C (en) * 2005-08-22 2008-10-08 力晶半导体股份有限公司 Method for improving materials moving efficiency and manufacture system using same
CN101356503A (en) * 2006-01-16 2009-01-28 索尼计算机娱乐公司 Data processing system and data processing method
JP2009163527A (en) * 2008-01-08 2009-07-23 Hitachi Ltd Information processing system for distributing load between operating systems
EP1933235A3 (en) * 2006-12-13 2010-01-13 France Telecom Grid modeling tool
WO2010055719A1 (en) * 2008-11-14 2010-05-20 日本電気株式会社 Schedule deciding apparatus, parallel execution apparatus, schedule deciding method, and program
JP2010211284A (en) * 2009-03-06 2010-09-24 Toyota Motor Corp Data processing device
WO2011102219A1 (en) * 2010-02-19 2011-08-25 日本電気株式会社 Real time system task configuration optimization system for multi-core processors, and method and program
JP2012038001A (en) * 2010-08-05 2012-02-23 Fujitsu Ltd Prediction device, prediction method and prediction program
US8171477B2 (en) * 2003-06-27 2012-05-01 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
JP2013061779A (en) * 2011-09-13 2013-04-04 Toyota Motor Corp Method for adapting parameter and parameter adaptation system
WO2013157244A1 (en) * 2012-04-18 2013-10-24 日本電気株式会社 Task placement device, task placement method and computer program
US8705132B2 (en) 2011-05-12 2014-04-22 Canon Kabushiki Kaisha Printing apparatus, data processing method for printing apparatus and storage medium
JP2015191282A (en) * 2014-03-27 2015-11-02 富士通株式会社 Job schedule program, job schedule method and job schedule device
JP2017016494A (en) * 2015-07-03 2017-01-19 富士ゼロックス株式会社 Information processor and information processing program
CN109725995A (en) * 2018-06-15 2019-05-07 中国平安人寿保险股份有限公司 Data pick-up task executing method, device, equipment and readable storage medium storing program for executing

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171477B2 (en) * 2003-06-27 2012-05-01 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US7382484B2 (en) 2004-06-09 2008-06-03 Canon Kabushiki Kaisha Information processing apparatus and its control method
WO2006011189A1 (en) * 2004-07-26 2006-02-02 Mitsubishi Denki Kabushiki Kaisha Parallel computer
CN100411092C (en) * 2005-04-15 2008-08-13 力晶半导体股份有限公司 Method for reducing idle time of machine and producing system using the same method
CN100424674C (en) * 2005-08-22 2008-10-08 力晶半导体股份有限公司 Method for improving materials moving efficiency and manufacture system using same
CN101356503A (en) * 2006-01-16 2009-01-28 索尼计算机娱乐公司 Data processing system and data processing method
US9311156B2 (en) 2006-01-16 2016-04-12 Sony Corporation System and method for distributing data processes among resources
CN100377084C (en) * 2006-03-10 2008-03-26 浙江大学 Multi-task parallel starting optimization of built-in operation system
EP1933235A3 (en) * 2006-12-13 2010-01-13 France Telecom Grid modeling tool
JP2008204292A (en) * 2007-02-21 2008-09-04 Toshiba Corp Memory management system
JP2009163527A (en) * 2008-01-08 2009-07-23 Hitachi Ltd Information processing system for distributing load between operating systems
JP5464146B2 (en) * 2008-11-14 2014-04-09 日本電気株式会社 Schedule determination device
WO2010055719A1 (en) * 2008-11-14 2010-05-20 日本電気株式会社 Schedule deciding apparatus, parallel execution apparatus, schedule deciding method, and program
JP2010211284A (en) * 2009-03-06 2010-09-24 Toyota Motor Corp Data processing device
US8887165B2 (en) 2010-02-19 2014-11-11 Nec Corporation Real time system task configuration optimization system for multi-core processors, and method and program
WO2011102219A1 (en) * 2010-02-19 2011-08-25 日本電気株式会社 Real time system task configuration optimization system for multi-core processors, and method and program
JP2012038001A (en) * 2010-08-05 2012-02-23 Fujitsu Ltd Prediction device, prediction method and prediction program
US8705132B2 (en) 2011-05-12 2014-04-22 Canon Kabushiki Kaisha Printing apparatus, data processing method for printing apparatus and storage medium
JP2013061779A (en) * 2011-09-13 2013-04-04 Toyota Motor Corp Method for adapting parameter and parameter adaptation system
WO2013157244A1 (en) * 2012-04-18 2013-10-24 日本電気株式会社 Task placement device, task placement method and computer program
JPWO2013157244A1 (en) * 2012-04-18 2015-12-21 日本電気株式会社 Task allocation device, task allocation method, and computer program
JP2015191282A (en) * 2014-03-27 2015-11-02 富士通株式会社 Job schedule program, job schedule method and job schedule device
JP2017016494A (en) * 2015-07-03 2017-01-19 富士ゼロックス株式会社 Information processor and information processing program
CN109725995A (en) * 2018-06-15 2019-05-07 中国平安人寿保险股份有限公司 Data pick-up task executing method, device, equipment and readable storage medium storing program for executing
CN109725995B (en) * 2018-06-15 2024-04-12 中国平安人寿保险股份有限公司 Method, device and equipment for executing data extraction task and readable storage medium

Similar Documents

Publication Publication Date Title
JPH09218861A (en) Scheduler
JP2910649B2 (en) Image forming apparatus and image forming method
US9250848B2 (en) Dynamically adjusting the complexity of worker tasks in a multi-threaded application
US9262209B2 (en) Scheduler, multi-core processor system, and scheduling method
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
US10068518B2 (en) Method, apparatus and system for dithering an image
US9218554B2 (en) Image processing apparatus, image processing method, and storage medium
US5978563A (en) Print processing system and method
JPH10198539A (en) Device and method for forming image
JPH09114611A (en) Method and device for print processing
US9672063B2 (en) Scheduling, interpreting and rasterising tasks in a multi-threaded raster image processor
JPH06274608A (en) Multiprocessor image processor
JPH1131052A (en) Document processing system
CN111930485B (en) Job scheduling method based on performance expression
JP2007156613A (en) Drawing controller, drawing control method, storage medium and program
US20030107751A1 (en) Multi-mode print data processing
JPH1011593A (en) Image forming device
JPH1040040A (en) Printing processor
JPH11157147A (en) Apparatus and method for processing printing
US11205242B2 (en) Memory error recovery for complex page RIP
JPH10305623A (en) Equipment and method for processing print data
JP2019194816A (en) Image processing apparatus, image processing method, and computer program
JP2011197951A (en) Image processor and image processing method
JP2005259042A (en) Image processing method and program
JPH10151815A (en) Printing-processing apparatus