JP5235647B2 - タスクのスケジューリングをするためのシステム、方法、およびプログラム - Google Patents

タスクのスケジューリングをするためのシステム、方法、およびプログラム Download PDF

Info

Publication number
JP5235647B2
JP5235647B2 JP2008324132A JP2008324132A JP5235647B2 JP 5235647 B2 JP5235647 B2 JP 5235647B2 JP 2008324132 A JP2008324132 A JP 2008324132A JP 2008324132 A JP2008324132 A JP 2008324132A JP 5235647 B2 JP5235647 B2 JP 5235647B2
Authority
JP
Japan
Prior art keywords
task
time
processing
lot
tasks
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
Application number
JP2008324132A
Other languages
English (en)
Other versions
JP2010146377A (ja
Inventor
利生 井床
雄介 松本
貴行 恐神
裕之 岡野
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008324132A priority Critical patent/JP5235647B2/ja
Publication of JP2010146377A publication Critical patent/JP2010146377A/ja
Application granted granted Critical
Publication of JP5235647B2 publication Critical patent/JP5235647B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P70/00Climate change mitigation technologies in the production process for final industrial or consumer products
    • Y02P70/10Greenhouse gas [GHG] capture, material saving, heat recovery or other energy efficient measures, e.g. motor control, characterised by manufacturing processes, e.g. for rolling metal or metal working
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Description

本発明は、一般的にはタスクのスケジューリングに関する。 本発明は特に、複数の作業ロット用の作業ルートに、それぞれのタスク処理時間が規定されたタスクを分配して実行させる作業システムに対して、分配する各タスクのスケジューリングを行うシステム、そのための方法、およびコンピュータ・プログラムに関する。
製品や半導体デバイスなどのための製造工程または処理工程においては、従来から、複数のロット(即ち、工程ラインを移動するモノ)のための作業ルート(即ち、工程ライン)を設け、同時並行的に工程を進めて効率化を図る手法が用いられてきている。即ち各ロットとして、製造または処理の対象となる初期の部品やベース材料等である初期投入物を割り当て、その対象物に対して、複数の処理タスクを順次作用させて、この製造工程または処理工程を完遂させ、最終結果物を得るというものである。
例えば、半導体装置の製造工程を例にとると、対象物として、各ロットにウエハーをセットする。 そして、セットされた各ウエハーに対して、マスクパターンの焼付け、レジスト塗布、露光、ワイヤーボンディング等の多くの処理タスクを順次作用させていき、最終的に半導体装置を結果物として得ることができる。これらの処理タスクは、それぞれ、処理装置に付加された特殊な器具を使用して行う種類のものであったり、あるいは器具を全く使用しない種類のものであったりする。 器具を使用する処理タスクとしては、例えばマスクパターンの焼付けが該当する。即ち、焼き付けるマスクパターンの種類に応じて異なった器具を用意してそれを使用しなければならないことがある。
図1(A)は、複数のロットにまたがる作業工程環境における、処理タスクのスケジューリングと、それに基づく実際のタスク処理順序との関係を示す。タスクA、B、Dは同じ器具1を使うタスクであり、タスクC、Eは同じ器具2を使うタスクである。
図1(A)に示すように処理タスクをスケジューリングした場合、処理タスクはシーケンシャルにしか実行できないので、実際のタスクの実行は、タスクA==>タスクB==>タスクC==>タスクD==>タスクEの順序で行われることとなる。
タスクAを実行する前に器具1をセットアップする必要があり、セットアップには所定の時間を要する。 タスクBは引き続きこの器具1を使って実行できるが、次に実行されるべきタスクCは器具2を使用するため、タスクCの実行の前に器具1から器具2に取り替えて器具2をセットアップしなければならない。さらに、次のタスクDの実行の前に再度器具2から器具1に取り替えて器具1をセットアップし、その次のタスクEの実行の前に再度器具1から器具2に取り替えて器具2をセットアップしなければならない。
図1(B)は、図1(A)に示したタスクのスケジューリングを修正した再スケジューリングの例を示す。 このように再スケジューリングした場合は、実際のタスクの実行は、タスクA==>タスクB==>タスクD==>タスクC==>タスクEの順序で行われることとなる。この場合、器具1から器具2への取り替えを1回行うだけで良く、図1(A)の場合より効率的なタスクの実行が可能となることが分かる。
このように、複数のロットを有する作業工程環境下では、処理タスクのスケジューリング手法によっては、実際のタスクの実行が、非常に効率の悪いものとなってしまう場合があり、器具の取り替えが少なくて済むようなより効率の良いタスクのスケジューリング手法が常に求められている。
特開平07−114599では、適当数のロットを1つのジョブに結合することにより、その後のスケジューリングの負担を軽減すると共に、無用な取り替えを防止する技術について開示されている。
しかし、この技術は、同じ品種のロットをまとめて処理することを提案しているに過ぎない。 即ち、別の品種のロットであっても、同じタイミングで同じ器具を使用する場合に、同じ器具を使うタスクとしてまとめて処理することには対処し得ない。
特開2003−086563では、同一設定で処理する複数のロットをグループ化してスケジュールすることにより、無駄な器具セットアップの発生を抑制して効率的に処理をおこなう技術について開示されている。
しかし、この技術は、仕掛っている単一のロットの中で、使用する器具が同じものをなるべくまとめて処理時間を減らす、いわばローカルな情報に基づくスケジューリングであり、全ロットに渡ってのグローバルな情報に基づくスケジューリングを行えるものではない。
特開2005−294473では、連続して処理されるべき第1及び第2のロットに関する処理工程を結合する結合手段を有する技術について開示されている。
しかし、この技術は、露光装置におけるセットアップ時間自体を減らすためのものであり、ロットのタスクのスケジューリングをコントロールしてタスクに係る器具のセットアップの回数を減らすことを企図するものではない。
特開平07−114599号公報 特開2003−086563号公報 特開2005−294473号公報
本発明の目的は、複数の作業ロットに、それぞれのタスク処理時間が規定されたタスクを分配して各タスクを実行させる作業工程環境に対して、分配する各タスクのスケジューリングを効率的に行って、各タスクに係る器具のセットアップに要する時間等を最小限に抑えることができる、スケジューリング・システム等を提供することである。
上記課題を解決するために、本発明では、それぞれにタスク処理装置とそれによるタスク処理時間が規定された複数のタスクを複数のロットに分配して、各ロットの処理を遂行させる作業システムに対して、分配する各タスクのスケジューリングを行うシステムを提供する。
本発明の第1の側面においては、このシステムは、(A)各ロットについて、各タスクが当該ロットに到達するタスク到達時刻から当該タスクの処理開始時刻までの時間である処理待ち時間が、各タスクについて均等かまたは所定の範囲内の差異となるように、各タスクのタスク到達時刻を定める、タスク到達時刻設定部を備える。
このシステムは、さらに、(B)前記タスク到達時刻設定部による各タスクのタスク到達時刻の設定が完了した後、全てのロットに亘って、タスク処理装置に付加される同じ器具を使用する各タスクについて、当該タスクの前記タスク到達時刻から当該タスクの前記処理待ち時間が経過するまでの時間である許容時間帯が重複するものを特定し、前記特定されたタスクの各々について、当該タスクの処理開始時刻を前記重複する許容時間帯の中の1の時刻に変更する、第1開始時刻調整部を備える。
このシステムは、さらに、(C)前記第1開始時刻調整部による、器具を使用するタスクの処理開始時刻の前記変更が完了した後、各ロットについて、前記第1開始時刻調整部によって調整された、器具を使用する隣接するタスクの間に配置された、器具を使用しない1つ以上のタスクの各々について、当該タスクに係る処理開始時刻が、前記隣接するタスクに係る調整された処理開始時刻の間で均等に配分した時刻かまたはそれから所定の範囲内の差異の時刻となるように、前記処理開始時刻を変更する、第2開始時刻調整部を備える。
また、本発明の第2の側面においては、本発明の第1の側面におけるシステムにおいて、前記タスク到達時刻設定部が、各ロットについて、各タスクについての前記処理待ち時間の全てのタスクに亘っての比が、各タスクに係る前記タスク処理時間の全てのタスクに亘っての比と同一かまたは所定の範囲内の差異になるように、各タスクのタスク到達時刻を定める。
以上、本発明の概要を、各タスクのスケジューリングを行うシステムとして説明したが、上記課題を解決するために、本発明ではさらに、当該システムによってその機能を実施する方法を提供する。また本発明は、当該システムにこれら方法を実行させるためのコンピュータ・プログラムも提供する。
尚、上記発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた、本発明として提供することができることに留意されたい。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。 なお、実施形態の説明の全体を通じて同じ要素には同じ番号を付している。
1.システム環境
はじめに、本発明の実施に係る、複数の作業ロットに、それぞれのタスク処理時間が規定されたタスクを分配して各タスクを実行させる作業システムと、その作業システムに対して、分配する各タスクのスケジューリングを行うタスク・スケジューリング・システム等が置かれた環境について説明する。
図2は、作業システムとタスク・スケジューリング・システム等が置かれた環境の例200を表す。 タスク・スケジューリング・システム202は、コンピュータ・システム204内に備わる。ここで、コンピュータ・システムとは、単一のサーバ等のコンピュータの場合もあるし、あるいはまた、LANその他のネットワーク220で結合された複数のコンピュータにまたがるシステムとして捉えても良い。コンピュータ・システム204はまた、クラウド・コンピューティングにおける中核となるコンピュータまたはコンピュータ群として捉えることもできる。
タスク・スケジューリング・システム202に入力される、処理すべきタスクの情報206は、コンピュータ・システム204内に予め保存することができる。また、タスク・スケジューリング・システム202が機能した結果の出力である、タスク・スケジューリング情報208もコンピュータ・システム204に保存することができる。このタスク・スケジューリング情報208は、作業システム210に送られる。
作業システム210とは、複数の対象物に対して、複数の器具を使用する複数のタスクを割り当て、タスク・スケジューリング情報208に基づく順序で各対象物に作業を施し、個々の対象物に対応する結果物を得るための機械、装置等を総称したものである。
処理すべきタスクの情報206は、コンピュータ・システム204に直接アクセスするユーザ222が設定することができる。 処理すべきタスクの情報206はまた、ネットワーク220を介してリモートにコンピュータ・システム204にアクセスするユーザ(図示せず)によっても設定することができる。
2.タスク・スケジューリング情報
図3は、作業システム210へ送られる、1つのロットのためのタスク・スケジューリング情報208の例を示す。
タスク処理時間:S(a)は、タスクaを処理するのに要する時間を表し、通常はタスクによって定まる定数値である。 タスク処理時間の値はタスク・スケジューリング・システム202に入力として与えられる。
タスク到達時刻:T(a)は、タスクaを作業システム210へセットして、タスクaの処理開始のためにスタンバイさせるための時刻を表す。
処理待ち時間:Q(a)は、タスクaが作業システム210へセットされるタスク到達時刻から、タスクaの処理が開始されるまでの待ち時間を表す。
処理開始時刻:G(a)は、タスクaの処理が開始される時刻を表す。
一般に、G(a)−T(a)≧Q(a) の関係がある。 G(a)−T(a)とQ(a)の差分は、このタスクaの直前のタスクを処理するためのタスク処理装置とタスクaを処理するためのタスク処理装置とが異なる装置である場合に、前者の処理装置から後者の処理装置まで作業ルート上でロットを搬送するのに要する搬送時間を意味する。以後の記述では、説明を簡単にするために、G(a)−T(a)=Q(a)であるとして話を進める。
3.本発明の実施に係るタスク・スケジューリング・システムの構成と機能
図4は、本発明の実施に係る、タスク・スケジューリング・システム202の構成とその機能を模式的に示す。 タスク・スケジューリング・システム202は、タスク到達時刻設定部402と、第1開始時刻調整部404と、第2開始時刻調整部406とを備える。
タスク到達時刻設定部402は、対象文書データ106、および場合によっては、参照文書データ108を入力して(読み込んで)、その中の各章見出しデータを分析し、各章見出しデータ毎の章見出しトピック312を推定して、それをコンピュータ・システム104に保存する機能を有する。
タスク到達時刻設定部402は、各ロットについての、割り当てられるタスクの順序と、各タスクの処理時間と、各タスクの処理を行う処理装置の情報とを受け取って、各ロットについての、各タスクのタスク到達時刻の情報と、そのタスク到達時刻とタスク処理時間とから一意に定まる各タスクの処理待ち時間の情報を得る。
第1開始時刻調整部404は、タスク到達時刻からタスクの処理待ち時タスク到達時刻設定部402による各タスクのタスク到達時刻の設定が完了したことに応答して(矢印422)、器具を使用するタスクについて、設定されているタスク到達時刻についてはそのままにして、その器具の使用が効率よくできるように、そのタスクの処理開始時刻を変更調整する。
即ち、全てのロットに渡って、同じ器具を使用する各タスクについて、タスク到達時刻からタスクの処理待ち時間が経過するまでの期間である許容時間帯を算出し、異なるロット間でこの許容時間帯が互いに重複するタスクを特定し、重複期間を認定する。
第1開始時刻調整部404は、この特定されたタスクの各々について、その処理開始時刻を、現在設定されているそれぞれの時刻から、その重複期間内の何れかの時刻、へと変更する。この、変更される処理開始時刻は、好ましくは、その重複期間の中央の時刻である。
第2開始時刻調整部406は、器具を使用するタスクについてのタスクの処理開始時刻の変更調整が完了したことに応答して(矢印424)、器具を使用しないタスクについて、器具を使用する隣接するタスクの間でそのタスクの処理開始時刻が均等またはほぼ均等に配分されるように、その処理開始時刻を変更調整する。
以下、各部の詳細な機能について説明する。
3.1 タスク到達時刻設定部の機能
タスク到達時刻設定部402は、各ロットについて、各タスクについての処理待ち時間が、各タスクについて均等またはほぼ均等になるように、各タスクのタスク到達時刻を定める。
図5は、あるロットLで、処理待ち時間が各タスクについて均等になるように各タスクのタスク到達時刻が定められたタスク・スケジューリング情報の例を示す。
ロットLでは、最初のタスクを投入しなければならない時刻である投入時刻:R(L)から、ロットLでの作業完了の最終納期である納期時刻:D(L)までの間に、全てのタスクをスケジューリングしなければならないものとする。この場合、ロットLに対して、余裕時間M(L)を次式で求める。
M(L)={D(L)−R(L)}−Σa: Lのタスク S(a)
このM(L)を、ロットLのタスク総数で割った値を、各タスクの処理待ち時間とする。 即ち、ロットLの各タスクaに対して、
Q(a)=M(L)/{Lのタスク総数}
とする。 さらに、ロットLのK番目のタスクをaL,kとして、次式で、K番目のタスクのタスク到達時刻:T(aL,k)を求める。
T(aL,k)=Σj<k(Q(aL,j)+S(aL,j))
タスク到達時刻設定部402は、各タスクの処理待ち時間として、上記のように、タスクごとに均等な値とするだけにとどめることもできるが、別の実施例として、この均等な値から出発して、以下に示す手順Aに従って、各タスクの処理時における負荷を考慮して、タスクのタスク到達時刻を修正することができる。i回目の修正をした後のタスク到達時刻をTiと表す。
手順A: タスク到達時刻の修正
A1. 処理装置ごとに以下の処理を行う。
A1−1.
i-1のうち、処理装置eで処理されるタスクの到達時刻のみを取り出し昇順にソートする。
(処理装置eで処理されるk番目に到着するタスクをae,kとする。)
A1−2.
処理装置eで処理される各タスクの負荷を、次の漸化式によって求める。
i(ae,k)=max{0, Wi(ae,k-1)+S(ae,k-1)−(Ti-1(ae,k)−Ti-1(ae,k-1))}
但し、Wi(ae,0)=0、Ti-1(ae,0)=Ti-1(ae,1)とする。
A2. ロットごとに以下の処理を行う。
A2−1.
ロットLの全てのタスクaL,1,aL,2,・・・,aL,mに対して、
i(aL,1):Qi(aL,2):・・・:Qi(aL,m)=Wi(aL,1):Wi(aL,2):・・・:Wi(aL,m)、
かつ、 Σa: Lのタスクi(a)=M(L)
を満たすQを求める。
A2−2.
ロットLのk番目のタスクをaL,kとして、
i(aL,k)=Σj<k(Qi(aL,j)+S(aL,j))
タスク到達時刻設定部402は、上記のように、各タスクの処理時における負荷を考慮して、タスク到達時刻を修正していく場合、なかなか収束しない場合があるので、効率よく収束させるために、以下の手順を設けることができる。
A3.収束性を確保するため、以下の処理を行う。
もし、Ti(a)−Ti-1(a)>f(i) ならば、Ti(a)=Ti-1(a)+f(i)、
もし、Ti(a)−Ti-1(a)<−f(i) ならば、Ti(a)=Ti-1(a)−f(i)
ここで
f(n): ある自然数nに対してf(n)<εを満たす非負単調減少関数
ε: 許容変動誤差を表す定数
例えばf(n)およびεとして、次のような関数および値を取ることができる。
f(n)=3600・24・(0.8)i
ε=60
図6は、タスク到達時刻設定部402による処理手順の流れを示す。 この処理は、各ロットについて行われ、それぞれのロット内に投入すべき全てのタスクの各々について行われる。
先ず、ステップ602で、タスク到達時刻:Tおよび処理待ち時間:Qを初期化する。 即ち、各タスクについての処理待ち時間が、各タスクについて均等になるように、各タスクのタスク到達時刻を定める。このときのTおよびQをそれぞれTおよびQとし、反復回数係数i=1とする。
次に、ステップ604で、反復回数に応じて単調減少する非負値の関数f(i)の値が、定数εより小さいかどうかが判断される。 f(i)がε以上の場合は、十分な反復回数が得られたとして、ステップ606で、その時点でのTおよびQをそれぞれタスク到達時刻:Tおよび処理待ち時間:Qとして出力して終了する。
f(i)がε未満の場合は、上記手順1に従って、Ti−1をもとにWを求める。 さらに、ステップ610で、上記手順2に従って、WをもとにQおよびTを求める。その後、反復回数係数iを1だけ増加させ、ステップ604を繰り返す。
3.2 第1開始時刻調整部の機能
第1開始時刻調整部404は、器具を使用するタスクを対象として、全てのロットに渡って同じ器具を使用するタスクが時間的に近接している場合は、これらのタスクの処理開始時刻を揃えるように調整して、これらタスクが共通に使用する器具のセットアップ等の効率化を図るものである。
図7は、第1開始時刻調整部の機能により、同じ器具を使うタスクの処理開始時刻が揃うように調整される様子を示す。
タスク到達時刻設定部402によって、各ロット内でタスクが暫定配置される。 即ち、各タスクについて、そのタスク到達時刻と、その時刻にタスクの処理待ち時間を加えた処理開始時刻とが暫定的に定められる。このとき、各タスクについて、タスク到達時刻から当該タスクの処理待ち時間が経過するまでの時間帯を「許容時間帯」として規定する。 この許容時間帯は、そのタスクの処理が実際にこの時間帯の間に開始することが許容されるバッファ期間であることを意味する。よって、異なるロットにまたがる、同じ器具を使用するタスクについて、この許容時間帯が重複する部分を特定し、これら各タスクの処理開始時刻をその重複期間のある時刻に変更調整することで、これらタスクの処理における器具の使用を効率化することができる。この「ある時刻」としては、この重複期間の中心にすることが好ましい。
許容時間帯の重複期間の特定と、処理開始時刻の調整についての実施例に係る手順Bを以下に示す。
手順B. 許容時間帯の重複期間の特定と、処理開始時刻の調整
B1.各タスクの許容時間帯Fを設定する。
各ロットに対して、当該ロットLのk番目のタスクをaL,kとして、
許容時間帯F(aL,k)=[T(aL,k),T(aL,k)+Q(aL,k)]=[b(aL,k),e(aL,k)]
を定める。
ここで、
b(a): 許容時間帯F(a)の開始時刻
e(a): 許容時間帯F(a)の終了時刻
B2. 器具を使用するタスクに対しての、処理開始時刻Gを調整する。
各器具xに対して、
B2−1.
当該器具xを使用するタスクの集合をA(x) とする。
B2−2.
B={b(a)|a∈A(x)}、 E={e(a)|a∈A(x)} とし、共に昇順にソートする。 但し、e(p)=e(q)の場合に、p≠qの場合は両者を区別する。
B2−3.
Eの要素が空になるまで、以下の操作を繰り返す。
B2−3−1.
Eの先頭の要素yを取り出す
B2−3−2.
A’={a|b(a)≦y かつ a∈A(x)} を求める。
B2−3−3.
A’に含まれる全てのaに対して、G(a)=0.5・(max{b(a)|a∈A’}+y)と設定する。
B2−3−4.
B=B\{b(a)|a∈A’}、
E=E\{e(a)|a∈A’}
と更新する。
ただし、\は集合同士の引き算を表す。
3.3 第2開始時刻調整部の機能
第2開始時刻調整部406は、器具を使用しないタスクを対象として、器具を使用するタスクの処理開始時刻が調整された後、その調整にあわせてバランスをとるように、器具を使用しないタスクの処理開始時刻を調整して、これらタスクの処理実行の円滑化を図るものである。
図8は、第2開始時刻調整部の機能により、器具を使用しないタスクの処理開始時刻が、器具を使用するタスクの間で調整配置される様子を示す。
ある実施例においては、各ロットについて、先に第1開始時刻調整部404によって調整された、器具を使用する隣接する2つのタスクの処理開始時刻の間で、器具を使用しない1または複数のタスクの処理開始時刻が均等に配置される。
別の実施例では、器具を使用する隣接する2つのタスクの間にある器具を使用しない複数のタスクの処理開始時刻は、それらのタスクについてタスク到達時刻設定部402によって先に定められた処理待ち時間の比に応じて再度配置される。この実施例に係る手順Cを以下に示す。
手順C: 器具を使用しないタスクに対しての処理開始時刻の調整
各ロットLに対して、
C−1.
先頭のタスクaL,1の調整後の処理開始時刻G(aL,1)が未定の場合、
G(aL,1)=T(aL,1)+Q(aL,1)とする。
C−2.
末尾のタスクaL,mの調整後の処理開始時刻G(aL.m)が未定の場合、
G(aL,m)=T(aL,m)+Q(aL,m)とする。
C−3.
調整後の処理開始時刻Gが求まっているタスクをf1,f2,f3,…,fkとかく。
また、fk と fk+1 の間のタスクをAk={ak,1,ak,2,…,ak,N}とかく。
( fk と fk+1 は含まない、N=|Ak|)
P(ak,1):P(ak,2):・・・=Q(ak,1):Q(ak,2):・・・、かつ、
Σa in AkP(a)=M(k)を満たすPを求める。
C−4.
1≦n≦Nに対して、G(ak,n)=G(fk)+Σ1≦j≦n(S(ak,j-1)+P(ak,j))を求める。
但し、便宜上、S(ak,0)=S(fk) とする。
また、fk と fk+1 の間の余裕時間:
M(k)={G(fk+1)−(G(fk)+S(fk))}−Σain AkS(a) とする
4.ハードウェア資源との関連性
以上、本発明の実施形態について、コンピュータ・システム204が備えるタスク・スケジューリング・システム202として説明し、構成要件としての複数の機能ブロック(タスク到達時刻設定部402と、第1開始時刻調整部404と、および第2開始時刻調整部406)を備えることを説明した。
これらの機能ブロックは、このコンピュータ・システム204のハードディスク等に格納されたコンピュータ・プログラムによる情報処理が、このコンピュータ・システムのCPU等のハードウェア資源(ハードウェア・コンポーネント)と協働した具体的手段によって実現される。
すなわち、これらの機能ブロックの各々による処理は、コンピュータ・プログラムに含まれる、各機能ブロックに相当するそれぞれのプログラム・モジュールが、このコンピュータ・システムのCPU等のハードウェア資源に実行させることで実現される。
図9は、本発明の実施に係るコンピュータ・システム204の詳細なハードウェア構成の典型的な例を示す。 この構成では、コンピュータ・システム204の全体の制御をつかさどるプロセッサ1002(中央処理装置、CPU、メイン・プロセッサ等と称することもある。)の直近にメモリ・コントローラ・ブリッジ1004(メモリ・コントローラ、ホスト・コントローラ、メモリ・ブリッジ、第1のブリッジ、ノース・ブリッジ等と称することもある。)が接続される。
メモリ・コントローラ・ブリッジ1004にはメイン・メモリ1006(メモリ、主記憶等と称することもある。)およびグラフィックス・コントローラ1008が直接接続され、プロセッサ1002から主に高い転送レートでメイン・メモリ1006やグラフィックス・コントローラ1008をアクセスすることができる。
グラフィック・コントローラ1008は、プロセッサ1002等がメイン・メモリ1006内に設けたフレーム・バッファ上に生成する画像データを取得し、ディスプレイ1014(表示装置、ディスプレイ装置、モニタ装置等と称することもある。)上に表示させる。これに代えて、グラフィック・コントローラ1008、プロセッサ1002等が生成する画像データを格納するフレーム・バッファ・メモリ1010を独自に備えることもできる。
メモリ・コントローラ・ブリッジ1004からはまた、PCIローカル・バス1080などのバスを介して、I/Oコントローラ・ブリッジ1018(I/Oコントローラ、I/Oブリッジ、第2のブリッジ、サウス・ブリッジ等と称することもある。)が接続される。
I/Oコントローラ・ブリッジ1018には、ストレージ・コントローラ1020(IDEコントローラ、SCSIコントローラ、等)を介してハードディスク・ドライブ1022(HDD、ハードディスク、ハードディスク・ストレージ、固定記憶装置等と称することもある。)等の大容量記憶装置が接続される。
I/Oコントローラ・ブリッジ1018にはまた、DVDドライブ1024、CDROMドライブ1026、MOドライブ1028、フレキシブル・ディスク・ドライブ等の外部記憶媒体用装置が接続される。
大容量記憶装置または外部記憶媒体用装置には、本発明を実施させるのに必要なオペレーティング・システム1032や、オペレーティング・システム1032と協働してプロセッサ1002等に命令を与えて本発明を実施させるためのアプリケーション・ソフトウェア1030等のコンピュータ・プログラムを記憶する事ができる。これらコンピュータ・プログラムはメイン・メモリ1006にロードされ、プロセッサ1002は、メイン・メモリ1006に格納されたコンピュータ・プログラムに基づいて動作し、各部の制御を行う。
コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
ハードディスク・ドライブ1022にはさらに、本発明の実施に係る、タスク・スケジューリング・システム202に入力される、処理すべきタスクの情報206、およびタスク・スケジューリング・システム202が機能した結果の出力である、タスク・スケジューリング情報208等を含めることができる。
I/Oコントローラ・ブリッジ1018にはまた、キーボード/マウス・コントローラ1036が接続され、キーボード1038やマウス1040のような入力デバイスからの入力を受けつける。
I/Oコントローラ・ブリッジ1018にはこの他に、各種の外部バス・インターフェース1042、1044、1046が接続される。
外部バス・インターフェース1042は、USB等のシリアル・ポートまたはパラレル・ポートであり、ここを介して各種周辺装置を接続することができる。
外部バス・インターフェース1046には、作業システム210を通信可能に接続することができる。 外部バス・インターフェース1046には、別のコンピュータ・システムを通信可能に接続することもでき、そのハードディスク・ドライブに上記コンピュータ・プログラムの全部もしくは一部、または上記処理すべきタスクの情報206等を保管させることも可能である。
さらに、外部バス・インターフェース1044を介して外部のコンピュータ・ネットワーク220に接続することができる。 このコンピュータ・ネットワーク220を介して作業システム210を通信可能に接続することもできる。このコンピュータ・ネットワーク220を介して接続された別のコンピュータ・システムのハードディスク・ドライブにも、上記コンピュータ・プログラムの全部もしくは一部、または上記処理すべきタスクの情報206等を保管させることも可能である。
これは即ち、本発明の実施に係るコンピュータ・システムとは、スタンドアロンのコンピュータ環境で行うこともできれば、あるいは複数のコンピュータの環境で行うこともできることを意味する。
なお、このコンピュータ・ネットワーク220を介して、このコンピュータ・システム204にアクセスするユーザのクライアント・コンピュータを接続することができる。
コンピュータ・システム204の大容量記憶装置に記憶され、その全体的な動作を司るオペレーティング・システム1032としては、マイクロソフト・コーポレーションが提供するWindows(R)オペレーティング・システム、アップル・コンピュータ・インコーポレイテッドが提供するMacOS(R)、XWindow Systemを備えるUNIX(R)系システムといった、GUI(Graphical User Interface)をサポートするオペレーティング・システムを採用することができる。
UNIX(R)系システムには、例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションが提供するAIX(R)あるいはLinux(R)等がある。
以上の説明により、本発明の実施に好適なコンピュータ・システム204は、通常のサーバ、、ワークステーション、パーソナルコンピュータ、メインフレーム等の情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態の記載の範囲には限定されない。
上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。 またその様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。さらに、上記実施の形態の中で説明されている特徴の組み合わせの全てが、発明の解決手段に必須とは限らないことにも留意されたい。
複数のロットにまたがる作業工程環境における、処理タスクのスケジューリングと、それに基づく実際のタスク処理順序との関係を示す。 作業システムとタスク・スケジューリング・システム等が置かれた環境の例を表す。 作業システムへ送られる、1つのロットのためのタスク・スケジューリング情報の例を示す。 本発明の実施に係る、タスク・スケジューリング・システムの構成とその機能を模式的に示す。 処理待ち時間が各タスクについて均等になるように各タスクのタスク到達時刻が定められたタスク・スケジューリング情報の例を示す。 タスク到達時刻設定部による処理手順の流れを示す。 第1開始時刻調整部の機能により、同じ器具を使うタスクの処理開始時刻が揃うように調整される様子を示す。 第2開始時刻調整部の機能により、器具を使用しないタスクの処理開始時刻が、器具を使用するタスクの間で調整配置される様子を示す。 本発明の実施に係るコンピュータ・システムの詳細なハードウェア構成の典型的な例を示す。

Claims (5)

  1. それぞれにタスク処理装置とそれによるタスク処理時間が規定された複数のタスクを複数のロットに分配して、各ロットの処理を遂行させる作業システムに対して、分配する各タスクのスケジューリングを行うシステムであって、
    各ロットLについて、最初のタスクを投入しなければならない時刻である投入時刻:R(L)から、ロットLでの作業完了の最終納期である納期時刻:D(L)までの間に、全てのタスクをスケジューリングしなければならないものとし、ロットLに対して、余裕時間M(L)={D(L)−R(L)}−Σ a: Lのタスク S(a)とし、
    このM(L)を、ロットLのタスク総数で割った値を、ロットLの各タスクaに対して、 Q(a)=M(L)/{Lのタスク総数}各タスクの処理待ち時間とし、
    ロットLのK番目のタスクをa L,k として、T(a L,k )=Σ j<k (Q(a L,j )+S(a L,j ))により、K番目のタスクのタスク到達時刻:T(a L,k )を求める、タスク到達時刻設定部と、
    前記タスク到達時刻設定部による各タスクのタスク到達時刻の設定が完了した後、全てのロットに亘って、タスク処理装置に付加される同じ器具を使用する各タスクについて、当該タスクの前記タスク到達時刻から当該タスクの前記処理待ち時間が経過するまでの時間である許容時間帯が重複するものを特定し、前記特定されたタスクの各々について、当該タスクの処理開始時刻を前記重複する許容時間帯の中の1の時刻に変更する、第1開始時刻調整部と、
    前記第1開始時刻調整部による、器具を使用するタスクの処理開始時刻の前記変更が完了した後、各ロットについて、前記第1開始時刻調整部によって調整された、器具を使用する隣接するタスクの間に配置された、器具を使用しない1つ以上のタスクの各々について、当該タスクに係る処理開始時刻が、前記隣接するタスクに係る調整された処理開始時刻の間で均等に配分した時刻かまたはそれから所定の範囲内の差異の時刻となるように、前記処理開始時刻を変更する、第2開始時刻調整部と、
    を備えるシステム。
  2. 前記タスク到達時刻設定部は、さらに、各タスクに係る前記タスク到達時刻をT0とし、当該T0をもとに下記式(1)の漸化式で示す演算処理により、処理装置ごとに、各タスクに係る第i回目の更新がされた負荷Wを求め、当該Wをもとに、下記式(2)で示す演算処理により、各タスクに係る第i回目の更新がされた処理待ち時間Qを求め、当該Qをもとに、下記式(3)で示す演算処理により、各タスクに係る第i回目の更新がされたタスク到達時刻Tを求めることで、各タスクのタスク到達時刻を更新する、請求項1に記載のシステム。
    i(ae,k)=max{0,Wi(ae,k-1)+S(ae,k-1)−(Ti-1(ae,k)−Ti-1(ae,k-1))}
    i(ae,0)=0
    i-1(ae,0)=Ti-1(ae,1)
    ここで
    e,k: 処理装置eに係る、k番目に到着するタスク
    S(a): タスクa の処理時間
    T(a): タスクa のタスク到達時刻
    Q(a): タスクa の待ち時間
    ・・・・・(1)
    ロットLの全てのタスクaL,1,aL,2,・・・,aL,mに対して、
    i(aL,1):Qi(aL,2):・・・:Qi(aL,m)=Wi(aL,1):Wi(aL,2):・・・:Wi(aL,m)
    ・・・・・(2)
    i(aL,k)=Σj<k(Qi(aL,j)+S(aL,j))
    ここで
    L,k:ロットLのk番目のタスク
    ・・・・・(3)
  3. 前記タスク到達時刻設定部は、さらに、下記式(4)で示す演算処理により、各タスクに係る第i回目の更新がされたタスク到達時刻Tを求める処理を収束させる、請求項2に記載のシステム。
    もし、Ti(a)−Ti-1(a)>f(i)ならば、Ti(a)=Ti-1(a)+f(i)、
    もし、Ti(a)−Ti-1(a)<−f(i) ならば、Ti(a)=Ti-1(a)−f(i)
    ここで
    n: 自然数
    f(n): f(n)<εを満たす非負単調減少関数
    ε: 許容変動誤差
    ・・・・・(4)
  4. 前記1の時刻は、前記重複する許容時間帯の中央の時刻であることを含む、請求項1に記載のシステム。
  5. それぞれにタスク処理装置とそれによるタスク処理時間が規定された複数のタスクを複数のロットに分配して、各ロットの処理を遂行させる作業システムに対して、分配する各タスクのスケジューリングを行う、コンピュータ・システムに備わるコンピュータ・プログラムであって、当該コンピュータ・システムに、
    各ロットLについて、最初のタスクを投入しなければならない時刻である投入時刻:R(L)から、ロットLでの作業完了の最終納期である納期時刻:D(L)までの間に、全てのタスクをスケジューリングしなければならないものとし、ロットLに対して、余裕時間M(L)={D(L)−R(L)}−Σ a: Lのタスク S(a)とし、
    このM(L)を、ロットLのタスク総数で割った値を、ロットLの各タスクaに対して、 Q(a)=M(L)/{Lのタスク総数}各タスクの処理待ち時間とし、
    ロットLのK番目のタスクをa L,k として、T(a L,k )=Σ j<k (Q(a L,j )+S(a L,j ))により、K番目のタスクのタスク到達時刻:T(a L,k )を求める、ステップと、
    各ロットについて、各タスクが当該ロットに到達するタスク到達時刻から当該タスクの処理開始時刻までの時間である処理待ち時間が、各タスクについて均等かまたは所定の範囲内の差異となるように、各タスクのタスク到達時刻を定めるステップと、
    前記タスク到達時刻を定めるステップによる各タスクのタスク到達時刻の設定が完了したことに応答して、全てのロットに亘って、タスク処理装置に付加される同じ器具を使用する各タスクについて、当該タスクの前記タスク到達時刻から当該タスクの前記処理待ち時間が経過するまでの時間である許容時間帯が重複するものを特定し、前記特定されたタスクの各々について、当該タスクの処理開始時刻を前記重複する許容時間帯の中の1の時刻に変更するステップと、
    前記変更するステップが完了したことに応答して、各ロットについて、前記第1開始時刻調整部によって調整された、器具を使用する隣接するタスクの間に配置された、器具を使用しない1つ以上のタスクの各々について、当該タスクに係る処理開始時刻が、前記隣接するタスクに係る調整された処理開始時刻の間で均等に配分した時刻かまたはそれから所定の範囲内の差異の時刻となるように、前記処理開始時刻を変更するステップと、
    を実行させるための、コンピュータ・プログラム。
JP2008324132A 2008-12-19 2008-12-19 タスクのスケジューリングをするためのシステム、方法、およびプログラム Expired - Fee Related JP5235647B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008324132A JP5235647B2 (ja) 2008-12-19 2008-12-19 タスクのスケジューリングをするためのシステム、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008324132A JP5235647B2 (ja) 2008-12-19 2008-12-19 タスクのスケジューリングをするためのシステム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010146377A JP2010146377A (ja) 2010-07-01
JP5235647B2 true JP5235647B2 (ja) 2013-07-10

Family

ID=42566741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008324132A Expired - Fee Related JP5235647B2 (ja) 2008-12-19 2008-12-19 タスクのスケジューリングをするためのシステム、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5235647B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486658A (zh) * 2020-12-17 2021-03-12 华控清交信息科技(北京)有限公司 一种任务调度方法、装置和用于任务调度的装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3315844B2 (ja) * 1994-12-09 2002-08-19 株式会社東芝 スケジューリング装置及びスケジューリング方法
JP2000003349A (ja) * 1998-06-16 2000-01-07 System Labo Murata:Kk 処理順序決定装置およびその方法
JP2000254838A (ja) * 1999-03-08 2000-09-19 Kobe Steel Ltd 生産計画作成装置
JP2001022427A (ja) * 1999-06-28 2001-01-26 Internatl Business Mach Corp <Ibm> 稼動および技術展開実施によるツールセットの能力損失の決定
JP3832235B2 (ja) * 2000-03-29 2006-10-11 株式会社デンソー 生産制御方法

Also Published As

Publication number Publication date
JP2010146377A (ja) 2010-07-01

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
US11694066B2 (en) Machine learning runtime library for neural network acceleration
US8473951B2 (en) Method and system for traversing in reverse chronological order along a critical path of a plurality of jobs, and reducing time gaps between jobs until an estimated end time of the last job is less than or equal to a target end time
WO2013024601A1 (ja) 仮想サーバ制御システム及びプログラム
JP4185103B2 (ja) 実行可能プログラムをスケジューリングするためのシステム及び方法
US10861125B2 (en) Preparing and executing command streams in data processing systems
JP4606493B2 (ja) コンピュータシステムの時刻管理制御方法及びコンピュータシステム
JP2011134275A (ja) スケジューラプログラム、分散シミュレーションシステム及びスケジューラ装置
JP2009230655A (ja) 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
KR20140097815A (ko) 자원 할당 방법 및 그 장치
CN114968559A (zh) 基于lsf的多主机多gpu分布式布置深度学习模型的方法
JP5235647B2 (ja) タスクのスケジューリングをするためのシステム、方法、およびプログラム
CN102576294A (zh) 含有多个存储装置的存储系统、方法及程序
WO2015075803A1 (ja) 情報処理装置、方法、プログラム及び記録媒体
US9798573B1 (en) Physical to virtual scheduling system and method
US8819363B2 (en) Data copying method
JP2008276739A (ja) 情報処理システム及び情報処理プログラム
JP2007052673A (ja) ジョブ管理システム、ジョブ管理方法、及びジョブ管理プログラム
US11010318B2 (en) Method and apparatus for efficient and flexible direct memory access
Hu et al. An improved heterogeneous dynamic list schedule algorithm
WO2023281581A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US20230367726A1 (en) Processing I/O Commands using Block Size Aware Polling
US20230236889A1 (en) Distributed accelerator
CN111247533B (zh) 用于神经网络加速的机器学习运行时库
WO2023148813A1 (ja) 生産計画装置、生産計画方法、及び生産計画プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130212

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130326

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: 20160405

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees