JP3570100B2 - ページ記述展開装置及びページ記述展開方法 - Google Patents
ページ記述展開装置及びページ記述展開方法 Download PDFInfo
- Publication number
- JP3570100B2 JP3570100B2 JP19804896A JP19804896A JP3570100B2 JP 3570100 B2 JP3570100 B2 JP 3570100B2 JP 19804896 A JP19804896 A JP 19804896A JP 19804896 A JP19804896 A JP 19804896A JP 3570100 B2 JP3570100 B2 JP 3570100B2
- Authority
- JP
- Japan
- Prior art keywords
- page description
- page
- processing
- processing device
- unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Multi Processors (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明はページ記述展開装置に関し、特にページ記述を入力とし、これを複数の処理装置(PE:Processing Elements)にて展開処理してプリントデータやプレビューデータを生成するようにしたページ記述展開装置に関する。
【0002】
【従来の技術】
従来、プリントサーバなどにおいて、クライアント計算機からページ記述言語によって記述されたプリントデータを受けると、そのページ記述はページ記述展開装置(デコンポーザ)に入力され、展開処理が行われてページイメージとして出力される。ページ記述の展開処理は一般に負荷が大きいので、展開処理中にメモリ不足になってラスタ処理ができなかったり、出力が極端に遅くなることがある。そこで、ページ記述の展開処理を複数の処理装置が分担して行うことにより、処理時間を短縮することが考えられている。たとえば、特開平7−104988号公報では、複数の処理装置を有するページ記述展開装置において、入力されたページ記述が含むオペレータ(画像処理手続き)数を処理装置の数で単純に均等割りし、その数を各処理装置への割り付けオペレータ数としている。
【0003】
【発明が解決しようとする課題】
しかし、プリントサーバは、一つのページ記述が入力されて展開処理を行うことは少なく、複数のページ記述が入力される。このため、展開処理の待ち行列がある場合や、展開処理中のページ記述があって実際に使うことができる資源が減っている場合や、ハードウェアが持つ処理装置ごとの資源が異なっている場合のように、処理装置ごとに稼働率が異なっているので、一律に同数のプロセスを各処理装置へ割り付けると、負荷の大きい処理装置と負荷の小さい処理装置とで処理時間が異なり、総処理時間が最も負荷の大きい処理装置に依存する、という問題点があった。
【0004】
本発明はこのような点に鑑みてなされたものであり、ページ記述が入力された時点で各処理装置が持つ資源に応じて処理の負荷が処理装置間で均等になるように展開処理の振り分けを行うことができるページ記述展開装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明では上記問題を解決するために、ページ記述の展開処理を複数の処理装置にて行うページ記述展開装置において、ページ記述を入力してその構文解析を行うとともにページ中に含まれる描画オブジェクトの存在領域の抽出を行うページ記述解析手段と、前記ページ記述解析手段にて実施した構文解析および描画オブジェクトの存在領域の抽出結果をもとに前記ページ記述に含まれる描画オブジェクトの相互依存関係を判定してページ記述の論理構造を抽出するページ構造抽出手段と、展開処理を実施する前記処理装置のそれぞれのリソース情報を取得するパラメータ取得手段と、前記ページ構造抽出手段にて抽出されたページ記述の論理構造から展開するページ記述中の各描画オブジェクトの展開負荷を求め、前記パラメータ取得手段より取得した前記処理装置のリソース情報をもとに、前記展開負荷の大きい描画オブジェクトを有効リソースの多い処理装置へ割り付け、展開負荷の小さい描画オブジェクトを有効リソースの少ない処理装置へ割り付けるプロセス割り付け手段と、前記プロセス割り付け手段にて割り付けられた各処理装置において生成されたイメージ群を統合してページイメージを生成するページ生成手段とを備えていることを特徴とするページ記述展開装置が提供される。
【0006】
上述の構成によれば、ページ記述解析手段が入力されたページ記述を順次解析し、ページ構造抽出手段が描画オブジェクトの依存関係を調べて、ページ記述を構造化する。パラメータ取得手段は描画オブジェクトの展開負荷を求めるとともに、実際に展開処理しようとしている処理装置のリソースに対してどれだけ動的な負荷がかかっているかという有効リソースの情報を取得する。たとえば、有効リソースはハードウェア資源が有する処理装置の稼働率、有効メモリ数、有効バス帯域幅を任意の時間サンプリングした上で各々その平均値を取得して、処理装置当たりの偏差値を算出することにより求められる。プロセス割り付け手段はページ構造抽出手段で求めた展開負荷が各処理装置に対してなるべく対応する有効リソースをもった各処理装置にて処理されるように、各処理装置への描画オブジェクトの処理を配分する。すなわち、サンプリング時間における処理装置当たりの負荷を偏差値で比較して順序付けを行い、展開するページ記述中の各描画オブジェクトの中で展開負荷の大きい描画オブジェクトは有効リソースの多い処理装置へ割り付け、展開負荷の小さい描画オブジェクトは有効リソースの少ない処理装置へ割り付けるようにする。そして、各処理装置においてそれぞれ生成されたイメージ群はページ生成手段にて合成され、一つのページイメージとして出力される。これにより、各処理装置への処理配分をそれらの有効リソースに応じて動的に割り付けることができ、ページ記述展開装置全体の処理効率を向上させることができる。
【0007】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は本発明のページ記述展開装置の原理構成を示す図である。本発明のページ記述展開装置は、ページ記述1を入力とするページ記述解析手段2と、ページ記述の論理構造を抽出するページ構造抽出手段3と、展開処理を実施する複数の処理装置(PE)4a,4b,4c,4d,・・・と、これらのリソース情報を取得するパラメータ取得手段5と、各処理装置への処理配分を決めるプロセス割り付け手段6と、各処理装置において生成されたイメージからページイメージを出力するページ生成手段7とから構成されている。
【0008】
ページ記述解析手段2は、入力されたページ記述1を順次解析してその構文解析を行い、ページ中に含まれる描画オブジェクトの存在領域の抽出を行う。ページ構造抽出手段3では、ページ記述解析手段2にて実施した構文解析および描画オブジェクトの存在領域の抽出結果から、ページ記述1に含まれる描画オブジェクトの相互依存関係を判定し、ページ記述1の論理構造を抽出して処理単位への分割を行う。パラメータ取得手段5は、その処理単位の展開負荷を求めるとともに、実際に展開処理しようとしている処理装置4a,4b,4c,4d,・・・のリソースに対してどれだけ動的な負荷がかかっているかという情報、すなわち、処理装置の稼働率、有効メモリ数、有効バス帯域幅を有効リソースの情報として取得する。有効リソースの情報は任意の時間サンプリングした上で各々その平均値を取得して、処理装置当たりの偏差値を算出する。プロセス割り付け手段6は、パラメータ取得手段5より取得した処理単位の描画オブジェクトの展開負荷と、処理装置4a,4b,4c,4d,・・・の有効リソース情報とをもとに、展開負荷の大きい描画オブジェクトを有効リソースの多い処理装置へ割り付け、展開負荷の小さい描画オブジェクトを有効リソースの少ない処理装置へ割り付ける処理をする。処理装置4a,4b,4c,4d,・・・は、プロセス割り付け手段6にて配分された描画オブジェクトの描画処理を行い、それぞれの処理装置4a,4b,4c,4d,・・・において生成されたイメージは、ページ生成手段7にて統合され、ページイメージを生成する。
【0009】
次に、本発明の実施の形態を、ネットワークにより結合されたプリントサーバに適用した場合を例に説明する。
図2はプリントサーバの構成例を示す図である。この図において、複数のクライアント計算機11,12,・・・がネットワーク20に接続されており、このネットワーク20にはプリントサーバ30が接続されている。プリントサーバ30は、ネットワーク20に接続されてページ記述を入力する命令解析部31と、この命令解析部31の出力を受けるように接続されたページ記述構造化部32と、このページ記述構造化部32の出力の一部を受けるように接続されたリソース情報取得部33と、ページ記述構造化部32の出力の一部を受けるように接続されたプロセス割り付け部34と、複数の描画処理部35a,35b,35c,35d,・・・と、バストラフィック監視部36と、画像メモリ37と、プリンタインタフェース38とから構成され、リソース情報取得部33、プロセス割り付け部34、複数の描画処理部35a,35b,・・・、バストラフィック監視部36、画像メモリ37、およびプリンタインタフェース38はバス39によって接続されている。プリンタインタフェース38はプリントエンジン40に接続されている。さらに、描画処理部35aは、プロセッサ(CPU)351と、メモリ352と、メモリ監視部353とから構成されており、他の描画処理部35b,35c,35d,・・・についてもそれぞれ同じ構成であり、各々の描画処理部ごとにプロセッサに対応するローカルなメモリを有している。
【0010】
あるクライアント計算機からプリントサーバ30がページ記述言語で記述されたページ記述を受けると、命令解析部31にて構文解析が行われ、さらに、ページの中に含まれるオブジェクトごとの存在領域の抽出が行われる。ページ記述構造化部32では、ページ記述が構造化されて、領域が独立している、すなわち、存在領域に重なりのないオブジェクトに分割される。リソース情報取得部33は、そのオブジェクトの展開処理に必要と思われる展開負荷、すなわち、ページ記述構造化部32で得られたオブジェクトのオブジェクトサイズを求め、ページ生成処理を実行するために有効な資源に関するリソース情報を取得する。すると、オブジェクトサイズとリソース情報をもとに得られた有効リソースとから、プロセス割り付け部34は描画処理部35a,35b,35c,35d,・・・へのオブジェクトの割り付けを行う。すなわち、プロセス割り付け部34では、展開負荷の大きい描画オブジェクトが有効リソースの多い処理装置へ割り付けられ、展開負荷の小さい描画オブジェクトが有効リソースの少ない処理装置へ割り付けられる。各描画処理部35a,35b,35c,35d,・・・において生成された部分的なページイメージは、画像メモリ37に転送されて最終的なページイメージに合成され、プリンタインタフェース38を介してプリントエンジン40より出力される。
【0011】
バストラフィック監視部36は描画処理部相互のバストラフィックを監視して、そのトラフィックを指定された時間間隔でサンプリングし、リソース情報取得部33に対して有効バス帯域幅の情報を提供する。また、各描画処理部内のプロセッサ351は、ローカルなメモリ352に対するアクセスとバス39を介して他の描画処理部に対するアクセスとを行う。メモリ監視部353は、メモリ352へのアクセス頻度を監視して、各描画処理部内でメモリ352の空き状態を指定された時間調べて単位時間当たりの平均空きメモリ容量を描画処理部ごとに取得し、リソース情報の一つとしてリソース情報取得部33に提供する。
【0012】
以下、ページ記述展開装置を構成する各構成要素について説明する。まず、命令解析部31に入力されるページ記述の例を示す。
図3はページ記述の一例を示す図である。図示のページ記述50によれば、最初の「Pagesize」において、描画するページのサイズを100×100と指定している。次に、「width」により、以降に描画する線の線幅を「5」に指定している。「move」は描画開始座標点を指定しており、x−y座標で(40,10)の位置から描画することを示している。「line」は「move」で指定した描画開始点から描画した線分の終了点を指定している。次に、「width」で線幅を別の値に変更して、「move」で指定した点を描画開始点として「line」で順次線分を描画する。こうしてすべての描画オペレータが実行されると一つのページイメージが生成される。
【0013】
図4はページ記述に従って生成されたページイメージの例を示す図である。図示のページイメージ60は、その外枠がページ記述50の「Pagesize」によって指定されたサイズを示しており、その中に、描画オペレータが実行されることにより、直線のオブジェクト61、四角のオブジェクト62、三角のオブジェクト63とがその位置に生成されることを示している。
【0014】
図3に示すようなページ記述50を入力する命令解析部31は、そのページ記述50の構文解析を行い、内部データ構造を生成する。なお、構文解析の方式は公知であり、ここではその説明は割愛する。入力されたページ記述50を解析して生成された内部構造の一例を図5に示す。
【0015】
図5はページ記述から生成された内部データ構造の一例を示す図である。命令解析部31において、ページ記述50が構文解析されて内部データ構造が生成されるが、その内部データ構造は、オペレータのリスト71,72,73とオペランドのリスト81,82,83とから構成される。各オペレータのリストは対応するオペランドのリストを参照し、かつ、次のオペレータのリストを参照するようにしている。図中、矢印は参照先をそれぞれ表している。たとえば、「width」なるオペレータのリスト71は対応するオペランドのリスト81を参照し、次のオペレータのリスト72を参照している。
【0016】
また、命令解析部31では、ページ中に含むオブジェクトごとの存在領域を判定するための判定関数を生成する。
図6は存在領域判定用の判定関数を示す図である。図示の例によれば、ページ記述を解析して内部構造を生成する過程で、オブジェクト62に対してその領域を判定する判定関数f1(x,y)が生成され、オブジェクト61に対してその領域を判定する判定関数f2(x,y)が生成され、そしてオブジェクト63に対してその領域を判定する判定関数f3(x,y)が生成される。これらの判定関数f1、f2、f3は、任意の点x,yを与えたとき、その点を内部に包含するかどうかの判定を行う。たとえば、f1に(16,21)を与えたとき、f1(16,21)は真(TRUE)を返し、f1(10,10)では偽(FALSE)を返す。
【0017】
ページ記述構造化部32では、命令解析部31が生成する図5に示したページの内部構造と図6に示したオブジェクトの領域判定関数とを基にしてページ記述を構造化する。
【0018】
図7は命令解析部で生成された内部構造表現をページ記述構造化部で構造化した例を示す図である。図6の判定関数によれば、判定関数f1は判定関数f2を包含しているので、これを「オブジェクト1」91とし、判定関数f3は領域が独立しているので「オブジェクト2」92とする。「オブジェクト1」91は「オブジェクト1−1」93および「オブジェクト1−2」94からなり、それぞれのオブジェクトは図5に示したページの内部構造表現に従ってオペレータリストおよびオペランドリストにより構造化される。「オブジェクト2」92は一つのオブジェクトからなっているので、そのオブジェクトについて内部構造表現に従ったページ記述の構造化が行われる。
【0019】
次に、このページ記述の構造化に関するページ構造の抽出処理の流れについて以下に説明する。
図8はページ構造抽出処理の流れを示すフローチャートである。最初に、命令解析部31において生成された内部構造のオペレータリストからベースデータをフェッチする(ステップS1)。ここで、ベースデータがなく、リストが終了であるかどうかが判定され(ステップS2)、リストが終了であれば、このページ構造抽出処理は終了する。リストが終了でなければ、フェッチしたデータがすでに領域判定されているかどうかをフラグで判定する(ステップS3)。データがすでに領域判定されていれば、ステップS1に戻って次のベースデータをフェッチする。もし、未判定であれば、判定領域を該ベースデータの領域関数で更新し、同時に新規領域別リストを追加する(ステップS4)。次に、該データのサイズおよびオブジェクトタイプをチェックして領域フィールドへ記録し、チェックフラグを立てる(ステップS5)。
【0020】
次に、オペレータリストから現在のベースデータの次のデータを検査データとしてフェッチする(ステップS6)。ここで、リストが終了であるかどうかが判定され(ステップS7)、リストが終了であって検査データがなければ、ステップS1に戻って次のベースデータをフェッチする。リストが終了でなければ、先にフェッチした検査データがすでに領域判定済みかどうかをチェックフラグで判定する(ステップS8)。ここで、チェックフラグが立っていれば、ステップS6に戻って次の検査データをフェッチする。もし、チェックフラグが立っていなければ、フェッチした検査データが判定領域に含まれるか否かが判定される(ステップS9)。ここで、検査データが判定領域に含まれなければ、ステップS6に戻って次の検査データをフェッチする。もし、検査データが判定領域に含まれるならば、該データを領域別リストへ登録して該検査データのチェックフラグを立てる(ステップS10)。
【0021】
この処理の結果、図7に示す構造化されたページデータが生成される。この実施の形態では、データは、描画領域ごとにまとめて領域ごとのリスト構造と各々の領域が含むオブジェクトのリスト構造と各オブジェクトの実体とからなる3階層のリスト構造にしてある。オブジェクトの属性フィールドにはオブジェクトのタイプ、サイズをストアしている。
【0022】
リソース情報取得部33は、ページ生成処理を実行するために有効な資源に関する情報を取得する。この実施の形態では、有効な資源は、任意の時間サンプリングをしたCPUの稼働率と平均有効メモリ量と平均有効バス帯域幅とする。
【0023】
図9はリソース情報取得部が取得した情報の一例を示す図である。リソース情報取得部33が取得した図示の情報100は、ページ記述の展開処理に利用することができる描画処理部35a,35b,35c,35d,・・・の数(PE数)が8つであり、サンプリング時間が10ミリ秒の場合を示しており、サンプリング時間中の各描画処理部当たりの、負荷状況、有効メモリ(MB)、有効バス帯域幅(MB/秒)のデータを含んでいる。なお、この例ではPE数を8、サンプリング時間を10ミリ秒としているが、これは言うまでもなく、任意のPE数、任意の時間でサンプリングすることができる。
【0024】
リソース情報取得部33では、これらの情報から、描画処理部当たりの処理負荷を計算する。具体的には、
(1)すべての描画処理部の非負荷(すなわち、1から負荷を差し引いた値)、有効メモリ、有効バス帯域幅から平均値を計算し、
(2)各描画処理部ごとに、描画処理部の非負荷、有効メモリ、有効バス帯域幅の偏差値を求め、
(3)描画処理部ごとに(2)で計算した偏差値の平均値を計算し、
(4)(3)で計算した平均値でソートする。
【0025】
図10はリソース情報取得部で計算された描画処理部当たりの処理負荷の例を示す図である。図示の計算結果110によれば、各描画処理部に対して、描画処理部当たりの非負荷、有効メモリ、有効バス帯域幅の偏差値がそれぞれ求められ、そして、有効なリソースの偏差値の平均を計算した結果が求められている。この計算結果110から、有効なリソースが豊富な描画処理部は、描画処理部の識別番号(PEid)で6,7,8,5,1,2,4,3の順序であることがわかる。
【0026】
次に、プロセス割り付け部34は、ページ記述構造化部32とリソース情報取得部33における処理結果から、描画処理部へ描画オペレータ列からなるプロセスを割り付ける。プロセス割り付け部34は、ページ記述構造化部32にて生成された図7に示す構造化リストからオブジェクトの属性フィールドを読み出して、オブジェクトサイズが大きい順序でオブジェクトを有効リソースが豊富な描画処理部へ割り付けるような処理を行う。このとき、オブジェクトタイプがラスタイメージの場合には、オブジェクトサイズが同じである他のタイプの画像オブジェクトよりも処理負荷が大きいので、同一のサイズで異なるタイプの画像オブジェクトに対して優先的にリソースが豊富な描画処理部へ割り付けるようにしている。
【0027】
図11はプロセス割り付け部でのプロセス割り付けの一例を示す図である。この図において、その左側には、ページ記述構造化部32から得られたオブジェクトごとのオブジェクトタイプおよびオブジェクトサイズの表121が示されており、右側にはリソース情報取得部33から得られた描画処理部ごとの有効リソースの表122が示されている。これらの表の間を結ぶ矢印は、プロセス割り付け部34において割り付けられたオブジェクトの割り付け先を示している。
【0028】
プロセス割り付け部34では、まず、オブジェクトサイズが最も大きいオブジェクトを有効リソースが最も豊富な描画処理部へ割り付ける処理を行う。この例では、オブジェクトサイズが最も大きいオブジェクトは、オブジェクトの識別番号(id)が1および8で、オブジェクトサイズが1.2MBと同じである。この場合は、オブジェクトタイプを参照し、オブジェクトタイプがラスタイメージであるときには、他のタイプのオブジェクトに優先してリソースが豊富な描画処理部へ割り付けるので、id=8のオブジェクトが有効リソースの最も豊富なPEid=6の描画処理部へ割り付けられる。その次に、id=1のオブジェクトが2番目に有効リソースの豊富なPEid=7の描画処理部へ割り付けられる。以降は、オブジェクトサイズの大きい順にオブジェクトが有効リソースの豊富な描画処理部へ順に割り付けられていく。
【0029】
このようにしてプロセス割り付け部34で割り付けられたオブジェクトは、割り付け先の描画処理部にてそれぞれ部分的なページイメージの生成が行われ、最終的に、画像メモリ37に集められて全体的なページイメージの生成処理が行われる。
【0030】
図12はページイメージ生成処理の概念を示す図である。プロセス割り付け部34にて処理が割り付けられたそれぞれの描画処理部35a,35b,35c,35d,35e,35f,35g,35hは、割り付けられたオブジェクトからその描画オペレータ列を実行して描画処理部ごとに部分的なページイメージを生成する。このようにして、描画処理部ごとに生成された部分的なページイメージは画像メモリ37に転送され、ここで統合されて最終的なページイメージが生成される。画像メモリ37にて統合されたページイメージは、プリンタインタフェース38を介してプリントエンジン40へ転送される。
【0031】
以上は、図2に示したように、各描画処理部がそれぞれローカルなメモリを有する分散メモリ型マルチプロセッサを備えたプリントサーバの場合について示したが、次に、描画処理部の別な構成を例示する。
【0032】
図13はプリントサーバの描画処理部の別な構成例を示す図である。この図では、プリントサーバの中でパラメータ取得に関する部分の構成だけを示し、図2に示した構成要素と同じ要素については同じ符号を付してある。
【0033】
バス39には、バストラフィック監視部36と、メインメモリ121と、メモリ監視部122と、複数の描画処理部123,124,・・・とが接続され、これにより、共有記憶型マルチプロセッサを構成している。各描画処理部123,124,・・・はそれぞれ同じ構成を有し、たとえば描画処理部123においては、プロセッサ(CPU)123aと、キャッシュメモリ123bとから構成されている。
【0034】
バストラフィック監視部36は描画処理部相互のバストラフィックを監視する。メモリ監視部122は描画処理部とメインメモリと間のアクセス頻度を監視する。メインメモリ121は各描画処理部123,124,・・・のプロセッサ(CPU)に共有され、バスを介してアクセスされる。描画処理部123,124,・・・ごとのキャッシュメモリ(特にスヌープキャッシュと呼ぶ)123bはメインメモリ121の内容の一部をコピーしたり描画処理部内のデータを保持する。
【0035】
バストラフィック監視部36は描画処理部間を結合するバス39を監視してそのトラフィックを指定された時間でサンプリングする。メモリ監視部122はメインメモリ121の空き状態を指定された時間調べて単位時間当たりの平均空きメモリ容量を取得する。描画処理部ごとのキャッシュはメモリ監視部122では監視しない。これはキャッシュメモリがメインメモリ121に比べて高速に動作するため、メインメモリ121と同一のサンプリング時間ではキャッシュメモリの空き容量を正確に把握できないためである。各描画処理部123,124,・・・のプロセッサ(CPU)稼働率、メモリ監視部122にて監視された有効メモリ量、バストラフィック監視部36にて監視されたバス帯域幅の各情報は、リソース情報取得部33へ与えられる。
【0036】
【発明の効果】
以上説明したように本発明では、複数の処理装置を有するページ記述展開装置において、各処理装置への処理配分を処理装置の有効リソース量に応じて動的に割り付けることで、処理装置上のリソースを効率的に利用することができる。これによって、展開処理の待ち行列がある場合や、展開処理中のページ記述がある場合、ハードウェアが含む処理装置ごとの資源が異なる場合のように処理装置ごとの稼働率が異なる場合でも、各処理装置に対して均等な負荷割合で処理を割り付けることができるので、負荷割合を考慮せずに割り付けた場合に比して、ページイメージ生成時間がワーストケースの処理装置(リソースに対して割り当て処理量が多い処理装置)に依存することがない。また、展開処理全体の時間見積もりも任意の一処理装置の処理量に割り付けオーバーヘッドを加えた時間で見積もることができる。
【図面の簡単な説明】
【図1】本発明のページ記述展開装置の原理構成を示す図である。
【図2】プリントサーバの構成例を示す図である。
【図3】ページ記述の一例を示す図である。
【図4】ページ記述に従って生成されたページイメージの例を示す図である。
【図5】ページ記述から生成された内部データ構造の一例を示す図である。
【図6】存在領域判定用の判定関数を示す図である。
【図7】命令解析部で生成された内部構造表現をページ記述構造化部で構造化した例を示す図である。
【図8】ページ構造抽出処理の流れを示すフローチャートである。
【図9】リソース情報取得部が取得した情報の一例を示す図である。
【図10】リソース情報取得部で計算された描画処理部当たりの処理負荷の例を示す図である。
【図11】プロセス割り付け部でのプロセス割り付けの一例を示す図である。
【図12】ページイメージ生成処理の概念を示す図である。
【図13】プリントサーバの描画処理部の別な構成例を示す図である。
【符号の説明】
1 ページ記述
2 ページ記述解析手段
3 ページ構造抽出手段
4a,4b,4c,4d,・・・ 処理装置(PE)
5 パラメータ取得手段
6 プロセス割り付け手段
7 ページ生成手段
11,12,・・・ クライアント計算機
20 ネットワーク
30 プリントサーバ
31 命令解析部
32 ページ記述構造化部
33 リソース情報取得部
34 プロセス割り付け部
35a,35b,35c,35d,・・・ 描画処理部
36 バストラフィック監視部
37 画像メモリ
38 プリンタインタフェース
39 バス
40 プリントエンジン
351 プロセッサ(CPU)
352 メモリ
353 メモリ監視部
Claims (4)
- ページ記述の展開処理を複数の処理装置にて行うページ記述展開装置において、
ページ記述を入力してその構文解析を行うとともにページ中に含まれる描画オブジェクトの存在領域の抽出を行うページ記述解析手段と、
前記ページ記述解析手段にて実施した構文解析および描画オブジェクトの存在領域の抽出結果をもとに前記ページ記述に含まれる描画オブジェクトの相互依存関係を判定してページ記述の論理構造を抽出するページ構造抽出手段と、
展開処理を実施する前記処理装置のそれぞれのリソース情報を取得するパラメータ取得手段と、
前記ページ構造抽出手段にて抽出されたページ記述の論理構造から展開するページ記述中の各描画オブジェクトの展開負荷を求め、前記パラメータ取得手段より取得した前記処理装置のリソース情報をもとに、前記展開負荷の大きい描画オブジェクトを有効リソースの多い処理装置へ割り付け、展開負荷の小さい描画オブジェクトを有効リソースの少ない処理装置へ割り付けるプロセス割り付け手段と、
前記プロセス割り付け手段にて割り付けられた各処理装置において生成されたイメージ群を統合してページイメージを生成するページ生成手段と、
を備えていることを特徴とするページ記述展開装置。 - 前記パラメータ取得手段は、前記処理装置のリソース情報として処理装置ごとの稼働率、有効メモリ数、有効バス帯域幅を取得し、各々の平均値から算出した偏差値に基づいて有効なリソースを順序付けるようにしたことを特徴とする請求項1記載のページ記述展開装置。
- ページ記述の展開処理を複数の処理装置にて行うページ記述展開方法において、
ページ記述を入力してその構文解析を行い、
ページ中に含まれる描画オブジェクトの存在領域の抽出を行い、
抽出された描画オブジェクトの存在領域から描画オブジェクトの相互依存関係を判定してページ記述の論理構造を抽出し、
展開処理を実施する前記処理装置からそれぞれのリソース情報を取得し、
前記ページ記述の論理構造から展開しようとするページ記述中の各描画オブジェクトの展開負荷を求め、
取得した前記リソース情報をもとにして前記処理装置を有効リソースの多い順にソートし、
前記描画オブジェクトの展開負荷の大きい順に前記ソートした順番で前記処理装置に対して前記描画オブジェクトの処理の割り付けを行い、
割り付けられた各処理装置において生成されたイメージ群を統合してページイメージを生成する、
ことからなるページ記述展開方法。 - 前記描画オブジェクトの処理の処理装置への割り付けを行うステップは、前記描画オブジェクトのオブジェクトサイズが同じである場合には、処理負荷の大きいオブジェクトタイプの描画オブジェクトを他のオブジェクトタイプの描画オブジェクトに優先して、より有効リソースの多い処理装置に割り付けるようにしたことを特徴とする請求項3記載のページ記述展開方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19804896A JP3570100B2 (ja) | 1996-07-26 | 1996-07-26 | ページ記述展開装置及びページ記述展開方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19804896A JP3570100B2 (ja) | 1996-07-26 | 1996-07-26 | ページ記述展開装置及びページ記述展開方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1035042A JPH1035042A (ja) | 1998-02-10 |
JP3570100B2 true JP3570100B2 (ja) | 2004-09-29 |
Family
ID=16384673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19804896A Expired - Fee Related JP3570100B2 (ja) | 1996-07-26 | 1996-07-26 | ページ記述展開装置及びページ記述展開方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3570100B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7009626B2 (en) * | 2000-04-14 | 2006-03-07 | Picsel Technologies Limited | Systems and methods for generating visual representations of graphical data and digital document processing |
JP5560823B2 (ja) * | 2010-03-26 | 2014-07-30 | 富士ゼロックス株式会社 | 画像処理制御装置、画像処理装置及びプログラム |
JP5744574B2 (ja) * | 2011-03-07 | 2015-07-08 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP7005407B2 (ja) * | 2018-03-26 | 2022-01-21 | キヤノン株式会社 | 画像処理装置、記録装置及び画像処理方法 |
-
1996
- 1996-07-26 JP JP19804896A patent/JP3570100B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1035042A (ja) | 1998-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030169269A1 (en) | System and method of optimizing graphics processing | |
EP0248403A2 (en) | Distributed interactive processing method in complex system including plural work stations and plural host computers and apparatus using the same | |
DE69431386T2 (de) | Verfahren und Gerät zur Erzeugung eines Programms für parallele Verarbeitung | |
JPH10198539A (ja) | 画像形成装置および画像形成方法 | |
CN108604193A (zh) | 异构系统、计算任务分配方法及装置 | |
Aydin et al. | Real-time parallel image processing applications on multicore CPUs with OpenMP and GPGPU with CUDA | |
JP3570100B2 (ja) | ページ記述展開装置及びページ記述展開方法 | |
Jiang et al. | Profiling and optimizing deep learning inference on mobile GPUs | |
JPH10143380A (ja) | マルチプロセッサシステム | |
Brunst et al. | A distributed performance analysis architecture for clusters | |
CN113051049B (zh) | 任务调度系统、方法、电子设备及可读存储介质 | |
JP2011141703A (ja) | 資源配置システム、資源配置方法、及び資源配置用プログラム | |
Chen et al. | Orchestrating parallel detection of strongly connected components on GPUs | |
CN109656716A (zh) | 一种Slurm作业调度方法及系统 | |
CN110955461A (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
Feng et al. | Dynamic load balancing on a distributed system | |
Bagga et al. | SPMD based time sharing intelligent approach for image denoising | |
JP5379765B2 (ja) | プログラム実行装置およびプログラム実行方法 | |
JP2003132039A (ja) | シナリオ分割方式 | |
CN113835852B (zh) | 任务数据的调度方法及装置 | |
Garg et al. | FaaSter: Accelerated Functions-as-a-Service with Heterogeneous GPUs | |
Chang et al. | Exploiting application tunability for efficient, predictable parallel resource management | |
Uratani et al. | Distributed XML processing over various topologies: Characterizing XML document processing efficiency | |
CN113703976B (zh) | 一种fpga资源分配方法、装置、设备及可读存储介质 | |
CN116302504B (zh) | 线程块的处理系统、方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040325 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040614 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |