JP5324934B2 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP5324934B2
JP5324934B2 JP2009008162A JP2009008162A JP5324934B2 JP 5324934 B2 JP5324934 B2 JP 5324934B2 JP 2009008162 A JP2009008162 A JP 2009008162A JP 2009008162 A JP2009008162 A JP 2009008162A JP 5324934 B2 JP5324934 B2 JP 5324934B2
Authority
JP
Japan
Prior art keywords
processing
task
unit
program
execution
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.)
Active
Application number
JP2009008162A
Other languages
English (en)
Other versions
JP2010165259A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
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 Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2009008162A priority Critical patent/JP5324934B2/ja
Priority to PCT/JP2009/004995 priority patent/WO2010082244A1/ja
Priority to EP09838214.6A priority patent/EP2388699B1/en
Priority to US13/142,156 priority patent/US8793695B2/en
Priority to CN200980154610.4A priority patent/CN102282543B/zh
Publication of JP2010165259A publication Critical patent/JP2010165259A/ja
Application granted granted Critical
Publication of JP5324934B2 publication Critical patent/JP5324934B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc

Description

本発明は情報処理技術に関し、特に複数の計算資源に処理を分散させてコンピュータプログラムを実行するための技術に関する。
コンピュータゲームやウェブ検索ソフトをはじめとするソフトウェアの高機能化は、ハードウェアに対して大きな処理負荷をかけるようになってきている。このような状況に対処するためには、演算処理自体の高速化が必要であることはもちろんであるが、複数のプロセッサを導入し、タスク処理を効率的に行うことも重要である。このとき、いかに高い稼働率で個々のプロセッサを動作させるかが、処理の高速化に対し重要な鍵となる。
複数のプロセッサにタスク処理を並列に実行させるためには、一般的にはOS(オペレーティングシステム)が、処理のタスクへの分割、各プロセッサへのタスクの割り当て、処理の切り替え、各プロセッサからメインメモリや入出力装置へのアクセスの制御などを行う場合が多い。一方で、OS上で動作するユーザレベルのタスクがスケジューリングなどのタスク処理の管理を行うユーザレベルスケジューリングの手法も提案されている。例えば、タスクをメインメモリのキューに格納しておき、タスクを実行するプロセッサが自ら当該キューからタスクを選択して実行する技術が提案されている(例えば特許文献1参照)。
特開2007−52511号公報
上述のように、複数のプロセッサがタスク処理を並列に実行することによってプログラムの処理速度を確保する技術は一般的なものになっている。一方で、高度な処理を高速に行うことに対するユーザのニーズは留まるところを知らず、限られたリソースを最大限利用するために処理を効率化できる技術が望まれている。
本発明はこのような課題に鑑みてなされたものであり、その目的は、複数のプロセッサが必要な処理を効率的に実行することのできる技術を提供することにある。
本発明のある態様は情報処理装置に関する。この情報処理装置は、プログラムのタスクを処理するタスク処理部と、実行中のプログラムの外部プログラムが呼び出された場合に、当該外部プログラムのタスクに実行条件を付加して処理要求を発行する処理要求部と、処理要求部が処理要求を発行した外部プログラムのタスクをタスク処理部におけるタスク処理のスケジュール制御に組み入れるタスク割り当て部と、タスク処理部における外部プログラムのタスクの処理において、処理要求部が付加した実行条件に対する違反が生じたか否かを判定する実行監視部と、実行監視部が実行条件違反が生じたと判定した際に、タスク処理部の処理を外部プログラムのタスクに切り替える実行制御部と、を備えたことを特徴とする。
ここで「外部プログラム」とは、一般的にはOSが提供する機能を実現するためのライブラリ、カーネルなどであるが、呼び出し元のプログラム以外のプログラムであればその種別や処理内容は限定されない。
本発明の別の態様は情報処理方法に関する。この情報処理方法は、実行すべきプログラムのタスクをプロセッサにおいて処理するステップと、実行中のプログラム以外のシステムレベルのプログラムが呼び出された場合、実行中のプログラムのタスクについて行っていたユーザレベルのスケジュール制御に、当該システムレベルのプログラムのタスクを組み入れるステップと、スケジュール制御に組み入れられたシステムレベルのプログラムのタスクをプロセッサにおいて処理するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、複数のプロセッサによるタスクの並列処理を容易に効率化することができる。
実施の形態1を適用できる情報処理装置の構成例を示す図である。 一つの処理ユニットにのみシステム処理を行わせた場合の、処理ユニットにおけるタスク処理の推移を概念的に示す図である。 実施の形態1における、ユーザレベルスケジューラによってシステム処理をスケジューリングする場合の一態様として実現される、各処理ユニットにおけるタスク処理の推移の例を概念的に示す図である。 実施の形態1における処理ユニットの構成をより詳細に示す図である。 実施の形態1におけるシステム処理の発生から開始までの全体的な流れを示すフローチャートである。 実施の形態1においてシステム処理を実行するための処理手順を模式的に示す図である。 実施の形態1においてシステム処理要求部がタスク割り当て部にシステム処理要求を行う際に通知する、システム処理に係る情報のデータ構造例を示す図である。 実施の形態2で適用する自律的なユーザレベルスケジューリングの概要を説明するための図である。 実施の形態2においてワークロードのそれぞれに設定された割り当て条件の例を示す図である。 実施の形態2において図9に示した割り当て条件を設定した際、処理ユニットが各ワークロードを選択し、処理する過程の例を模式的に示す図である。 実施の形態2においてシステム処理を仮想ワークロードとして実行する際の処理手順を模式的に示す図である。 実施の形態2においてタスク割り当て部が要求されたシステム処理を仮想ワークロードに変換する際に参照する変換テーブルの例を示す図である。 実施の形態2において自律的なユーザレベルスケジューラを導入した際にシステム処理を実行する処理手順を示すフローチャートである。 実施の形態2において実現できる、6つの処理ユニットにおける処理の推移の例を示す図である。 実施の形態2において実現できる、6つの処理ユニットにおける処理の推移の例を示す図である。 実施の形態2において実現できる、6つの処理ユニットにおける処理の推移の例を示す図である。
実施の形態1
図1は、本実施の形態を適用できる情報処理装置の構成例を示している。情報処理装置10は、マイクロプロセッサユニット18、入出力装置(I/O)42、メインメモリ44、補助記憶装置(HDD)46を備え、それぞれがバス48を介して接続される。マイクロプロセッサユニット18は、複数の処理ユニット22a、22b、・・・、22nがそれぞれ内部バス19を介して接続する構成を有する。
処理ユニット22a、22b、・・・、22nはいずれも、演算装置、ローカルメモリなどを含む処理ユニットである。処理ユニット22a、22b、・・・、22nは、OSや起動されたアプリケーションプログラム(以後、単に「アプリケーション」と呼ぶ)のタスクを処理する。入出力装置(I/O)42、メインメモリ44、補助記憶装置(HDD)46は、一般的な情報処理装置に設けられる入出力装置、メモリ、補助記憶装置で構成してよい。
図1に示したような構成の情報処理装置10においては、処理ユニット22a、22b、・・・、22nの少なくともいずれかが、入出力装置42やメインメモリ44などのデバイスへのアクセスを要する処理など、システムレベルの処理を行う必要がある。以後、このような処理を「システム処理」と呼ぶ。これに対しアプリケーションなどユーザレベルのタスク処理はユーザ処理、と捉えることができる。システム処理を実行しない処理ユニットは、主にアプリケーションなどユーザレベルのタスクを並列に処理する。
このような場合、アプリケーションを高速処理するためには、ある処理ユニットにシステム処理のみを行わせるのでなく、処理の空き時間にアプリケーションのタスクも処理させることが望ましい。図2は処理ユニット22aをシステム処理を行う処理ユニットとした場合の、処理ユニット22a、22b、・・・、22nにおけるタスク処理の推移を概念的に示している。図中、横軸が時間であり、矩形で示された、各処理ユニットにおいて処理されるタスクのうち、白い矩形がアプリケーションのタスク、斜線網掛けの矩形がシステム処理のタスクとする。
処理ユニット22aではシステム処理のタスク2、3、5が処理され、その空き時間にアプリケーションのタスク4を処理している。一方、その他の処理ユニット22b、・・・、22nでは常時、アプリケーションのタスク6を処理している。図では省略しているが、タスク6は当然、処理ユニットごとに処理が行われ、同じ処理ユニットでも適宜コンテキストスイッチを行っているものとする。
一般的にアプリケーションのタスクと比較して、システム処理は高い優先度を必要とする場合が多い。そのため図2に示したような態様において、処理ユニット22aがアプリケーションのタスク4を処理している途中でシステム処理のタスク5が発生すると、ユーザレベルのスケジューリングに関係なく、アプリケーションのタスク4は当該処理ユニット22aをシステム処理のタスク5に明け渡さざるを得なくなる。
アプリケーションを作成する段階で、システム処理がどのように発生するかを予測することは困難であるため、並列処理用にアプリケーションを作成したとしても、処理ユニット22aに割り当てるタスク4をどのように切り出すかは難しい問題である。例えば、処理ユニット22aがアプリケーションのタスクを処理できる時間が予測できないため、同じアプリケーションのタスク6を処理している処理ユニット22b、・・・、22nと通信の必要が発生しても、当該通信処理を好適なタイミングで実行できる保障がない。またアプリケーションのタスク4を突然休止せざるを得ないため、保存すべきデータが多くなりコンテキストスイッチに要する時間7が長くなる。
本実施の形態では、このような状況を回避しつつ処理の高速化を実現するため、システム処理の処理スケジューリングをユーザレベルスケジューラに行わせることにより、ユーザレベルの処理スケジュールに組み入れる。図3はユーザレベルスケジューラによってシステム処理をスケジューリングする場合の一態様として実現される、処理ユニット22a、22b、・・・、22nにおけるタスク処理の推移の例を概念的に示している。図の示し方は図2と同様である。
同図に示すように、全ての処理ユニット22a、22b、・・・、22nは、基本的にアプリケーションのタスク8を実行する。そしてシステム処理のタスク2、3、5が発生したら、導入されているユーザレベルスケジューリングの手順に基づき、いずれかの処理ユニットが当該処理を実行するようにスケジューリングする。例えば優先度の低いアプリケーションのタスクを処理している処理ユニットや、他の処理ユニットが処理中のタスクと関連性の低いタスクを処理している処理ユニットなどを選択してシステム処理を割り当てる。このときシステム処理を割り当てられた処理ユニットは、自らが実行中のアプリケーションのタスクをコンテキストスイッチの観点で好適なタイミングで休止するか処理中のタスクが終了した時点でシステム処理を開始する。
このようにすることで、システム処理の負荷を分散させることができるとともに、アプリケーションのタスクが突然、システム処理のタスクによって休止させられるという状況を回避でき、システム処理とアプリケーションのタスクの双方を可能な限り進捗させることができる。このとき、上述した、一つの処理ユニットのみ、アプリケーションに必要な通信を行いづらい、といった状況を回避できるため、全ての処理ユニットを利用して並列に処理を行うプログラムを作成すればよく、プログラム作成が容易である。またコンテキストスイッチに要する時間を削減することができ、全体として処理速度が向上する。
図4は処理ユニット22aの構成をより詳細に示している。情報処理装置10は図1に示すように処理ユニット22a以外の処理ユニットを有していてよく、その数は限定しない。
処理ユニット22aは、システム処理のタスクを管理するシステムレベル管理部24、アプリケーションのタスクなどユーザレベルのタスクを管理するユーザレベル管理部25を含む。システムレベル管理部24は、処理中のタスクにおいてシステム系のプログラムが呼び出された場合などシステム処理の必要が生じた際、システム処理要求をユーザレベル管理部25に発行するシステム処理要求部27、処理ユニットにおけるシステム処理の実行を監視する実行監視部28、および、システム処理の実行条件に違反した際、処理ユニット22a、22bなどのいずれかにシステム処理を強制的に実行させる実行制御部30を含む。ユーザレベル管理部25は、主としてアプリケーションなどユーザレベルのプログラムをタスクに分割し、各処理ユニットに割り当てるタスク割り当て部26を含む。
処理ユニット22aはさらに、割り当てられたタスクをスケジュールに則り処理するタスク処理部32、システム処理が開始できる状態となった際、システムレベル管理部24に通知する通信部34、タスクの処理に必要なデータをメインメモリ44から読み出し格納するローカルメモリ36を含む。なおその他の処理ユニット22b、・・・、22nは処理ユニット22aと同様の構成としてもよいし、例えばタスク処理部32、通信部34、およびローカルメモリ36など、一部の機能ブロックのみ有する構成としてもよい。この場合、システムレベル管理部24およびユーザレベル管理部25を有する処理ユニットは、それらを持たない他の処理ユニットのタスク処理も管理してよい。
図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。例えばユーザレベル管理部25はタスク処理部32で処理するタスクのひとつであってもよく、この場合、当該機能ブロックはタスク処理部32の一部と考えることもできる。
システムレベル管理部24のシステム処理要求部27は、処理ユニット22a、22bなどにおいて処理されているタスクによってOSが提供するライブラリが呼び出された際などに、当該ライブラリに対応するシステム処理を発生させ、当該システム処理に係る情報をユーザレベル管理部25のタスク割り当て部26に通知することによりシステム処理の実行を要求する。
ここでタスク割り当て部26に通知する、システム処理に係る情報には、当該システム処理を実行する条件を含ませる。実行条件としては例えば、システム処理が開始されるまでの許容時間である実行期限や、実行する処理ユニットなどが挙げられる。実行条件を違反した場合、例えば実行期限を超過してもシステム処理が実行されない場合は、後述するように、いずれかの処理ユニットにおけるアプリケーションのタスクを強制的に休止させてシステム処理を実行させる。実行条件の情報や処理要求発行タイミングなどの情報はシステムレベル管理部24内で共有される。
実行監視部28は、処理ユニット22a、22bなどのいずれかでシステム処理が実行期限内に実行されたかなど、実行条件が守られたか否かを監視する。実行期限が実行条件として指定されている場合、例えば実行監視部28には図示しないタイマを設け、システム処理要求部27がシステム処理の実行要求を発行させてからの経過時間を測定する。そして通信部34からのシステム処理の受け入れ可能の通知が、タイマで測定した実行期限内になされなかった場合は、システム処理の実行条件に違反したと判定する。
実行制御部30は、実行監視部28によってシステム処理の実行条件違反が判定された場合に、処理ユニット22a、22bなどのいずれか、または全ての処理ユニット22a、22b、・・・、22nにおいて処理されているタスクを休止させ、当該システム処理を実行させる。この処理は、OSのカーネルなどによる一般的なプリエンプション処理と同様に実現することができる。
実行制御部30はさらに、システム処理を割り当てられた処理ユニットが、自らが処理していたアプリケーションのタスクを休止し、レジスタ値などの保存を行ったことを検知すると、当該処理ユニットにシステム処理を実行させる。
ユーザレベル管理部25のタスク割り当て部26は、ユーザが起動したアプリケーションのタスクを処理ユニット22a、22bなどに割り当てる。新たなタスクが発生すると、タスク割り当て部26は、メインメモリ44などに設けたタスクキューに、発生したタスクを順次格納していく。この場合、処理ユニット22a、22bなどは、処理中のタスクを休止、終了した際などに、当該タスクキューからタスクを順次取り出して処理する。あるいはタスク割り当て部26は、タスクの優先度や必要な処理ユニットの数、処理時間などに基づき、処理ユニット22a、22bなどで既にスケジューリングされているタスクとの調整を行ったうえで、適当なタイミングで新たなタスクが処理されるように処理ユニット22a、22bなどにタスクを割り振る。このような処理は、マルチタスク対応のOSやユーザレベルOSなどで一般的に用いられている手法を適用することができる。
タスク割り当て部26はさらに、システム処理要求部27からシステム処理の実行要求を受けたら、当該システム処理もいずれかの処理ユニットに割り当てる。このとき、上述のタスクキューに、他のタスクとともにシステム処理の情報を格納する。あるいは、システム処理要求部27から受け付けた情報には当該システム処理の実行条件が含まれているため、タスク割り当て部26は、当該実行条件を満たすようにスケジューリングを行う。
タスク処理部32は、タスク割り当て部26が割り当てたアプリケーションおよびシステム処理のタスクをスケジュールに則り順次処理する。プログラムなどタスクの処理に必要なデータはメインメモリ44からローカルメモリ36に読み出しておく。またタスクを切り替える際は、それまで処理していたタスクのコンテキストをメインメモリ44に保存し、次のタスクのコンテキストをリストアするコンテキストスイッチを行う。
タスク割り当て部26がシステム処理を割り当てた際は、そのスケジュールに従い、タスク処理部32がアプリケーションのタスクのコンテキストを保存したうえで、通信部34が、システムレベル管理部24にその旨を通知する。そしてシステムレベル管理部24の実行制御部30の制御のもと、システム処理を実行する。また上述のように実行条件に違反した場合は、その時点で実行制御部30の制御のもと、タスク処理部32は処理中のアプリケーションのタスクからシステム処理へコンテキストスイッチを行う。
次にこれまで述べた構成による本実施の形態の動作について説明する。図5は本実施の形態におけるシステム処理の発生から開始までの全体的な流れを示すフローチャートである。まず前提として、処理ユニット22a、22b、・・・、22nでは、ユーザが起動したアプリケーションのタスクなどがその時点でのスケジュールに則り処理されているとする。このような状況において処理中のタスクが、OSが提供するライブラリを呼び出すなどした際に、システムレベル管理部24のシステム処理要求部27は、当該ライブラリに対応するシステム処理を発生させ、ユーザレベル管理部25のタスク割り当て部26に処理要求を行う(S10)。
要求を受けたタスク割り当て部26が、当該システム処理の割り当てをいずれの処理ユニットにも行わなかったり、割り当てたにも関わらず処理ユニットが何らかの理由でアプリケーションのタスクを休止しなかったりした場合などに、実行監視部28は実行条件の違反を判定する(S12のY)。そして実行制御部30は、処理ユニット22a、22b、・・・、22nのいずれかまたは全ての処理を休止させ、システム処理用に使用するためのプリエンプション処理を行う(S14)。このとき全ての処理ユニットを休止させた場合は、そのうち少なくとも一つの処理ユニットを使用してシステム処理を実行すればよい。また、複数の処理ユニット22a、22b、・・・、22nのいずれか少なくとも一つを休止させ、当該処理ユニットによりシステム処理を行う場合、休止させる処理ユニットはあらかじめ設定した優先度などの規則に従って選択してもよいし、任意に選択してもよい。
一方、タスク割り当て部26がシステム処理の割り当てを行い、割り当てられた処理ユニットが当該処理のためにコンテキストスイッチを行った場合、実行監視部28は実行条件の違反がないと判定する(S12のN)。そして処理ユニットのタスク処理部32はシステム処理を開始する(S16)。S14でプリエンプション処理を行った場合も同様に、システム処理を開始する(S16)。
図6はシステム処理を実行するための処理手順を模式的に示している。このときシステム処理には実行期限が設定されているとする。図2と同様、横方向が時間軸であり、白い矩形はアプリケーションのタスク、斜線網掛けの矩形はシステム処理のタスクである。同図において6つの処理ユニット22a、22b、・・・、22fがそれぞれアプリケーションのタスクを処理している。この状況において、まず図5のS10に示すように、システムレベル管理部24のシステム処理要求部27がシステム処理要求をタスク割り当て部26に行う(S20)。タスク割り当て部26は、処理ユニット22dに当該処理を割り当てる(S22)。この処理ユニットの選択は、上述のように、処理しているタスクの優先度や他の処理ユニットが処理中のタスクとの関連性などに基づいて行う。またはシステム処理の情報をタスクキューに格納する。この場合、処理中のタスクを終了した処理ユニットが当該タスクキューからシステム処理の情報を読み出すことにより、実質的な割り当てが行われる。
システム処理を割り当てられた処理ユニット22dは、アプリケーションのタスクを好適なタイミングで休止し、レジスタ値などをメインメモリ44などに保存したうえ、システム処理が受け入れ可能である旨の通知をシステムレベル管理部24に送信する(S24)。システムレベル管理部24の実行監視部28は、S20の処理要求からの経過時間を測定し、実行期限までにS24の通知を受けた場合、実行制御部30は処理ユニット22dにシステム処理を開始させる(S28)。
ここで何らかの原因でS22のタスク割り当て処理がなされなかった場合、あるいは、処理ユニット22dでシステム処理の受け入れができない場合など、S24の受け入れ可能通知が実行期限までになされないと、実行監視部28は実行条件違反と判定し、図5のS14におけるプリエンプション処理が実行制御部30により実行される。以上の処理をシステム処理が発生するたびに繰り返すことにより、図3に示したように、全ての処理ユニット22a、22b、・・・、22nをアプリケーションのために使用しつつ、必要なタイミングでシステム処理を実行する態様を実現できる。
図7はシステム処理要求部27がタスク割り当て部26にシステム処理要求を行う際に通知する、システム処理に係る情報のデータ構造例を示している。システム処理データ50は、種別識別子52、処理ID54、実行期限56、周期58、実行時間60を含む。種別識別子52は、オーディオデコーダ、エコーキャンセラなど、システム処理の種別を識別するための識別情報であり、種別と識別子の対応はあらかじめ定めてメインメモリ44などに格納しておく。タスク割り当て部26は、要求されたシステム処理の種別識別子52に基づき当該処理の種別を特定し、それぞれの種別に対しあらかじめ定めた優先度を特定したうえ、スケジューリングに反映させる。
処理ID54は、要求するシステム処理ごとに一意に設定する識別情報である。処理ユニットがシステム処理を行う際、当該処理IDに基づき、システム処理のプログラムをメインメモリ44から読み出す。また、システム処理を割り当てられた処理ユニットの通信部34が、当該システム処理を実行する準備が整ったことをシステムレベル管理部24に通知する際にも、処理IDを用いて他のシステム処理に係る通知と区別する。実行期限56は例えばシステム処理の依頼発行から実行開始までの許容時間である。上述のとおりこの時間を過ぎても処理ユニットからシステム処理の受け入れ可能通知がなされない場合、実行制御部30によるプリエンプション処理が行われる。複数のシステム処理が発生した場合、タスク割り当て部26は当該実行期限56を利用して、システム処理間での割り当て優先順位を定めてもよい。例えば最初に実行期限が到来するシステム処理を優先して処理ユニットに割り当てる。
周期58はシステム処理の動作周期である。複数のシステム処理が発生した場合、タスク割り当て部26は当該周期58に基づき、例えばレートモノトニックスケジューリングなどの手法に則り、処理ユニットへの割り当てを定めてもよい。実行時間60はシステム処理の実行時間である。複数のシステム処理が発生した場合、タスク割り当て部26は当該実行時間60に基づき処理ユニットへの割り当てを定めてもよい。また場合によっては、システム処理の実行が実行時間60を経過したら、処理ユニットにおける当該システム処理を強制的に打ち切るようにしてもよい。
これまでの説明では、システムレベル管理部24がシステム処理を発生させると、専らユーザレベル管理部25のタスク割り当て部26に処理要求を行うことにより、ユーザレベルのスケジューリングにシステム処理を組み入れる態様を実現した。一方で、同じ情報処理装置10を用いて、システム処理をユーザレベルのスケジューリングに組み入れる態様と、図2について説明したようにシステム処理がユーザレベルスケジューリングと独立に実行される態様とを、アプリケーションなどのプログラムによって選択できるようにしてもよい。この場合、システムレベル管理部24は、システム処理が発生した時点で、いずれの態様が指定されているかを実行中のアプリケーションのプログラムから判断する。
そしてシステム処理をユーザレベルのスケジューリングに組み入れる態様が指定されていれば、システムレベル管理部24は、発生したシステム処理の要求をタスク割り当て部26に対して発行する。システム処理をユーザレベルスケジューリングと独立に実行する態様が指定されていれば、システムレベル管理部24は、タスク割り当て部26に処理を要求せず、処理ユニットがユーザレベルのタスクを処理している場合は処理時間を横取りしてシステム処理を実行させる。このようにすることで、アプリケーションを作成する際に、必要となるシステム処理の種類や実行頻度などに応じて最適な態様を選択することができる。
以上述べた本実施の形態によれば、アプリケーションの処理の途中で発生するシステム処理をユーザレベルのスケジューリング処理に組み込む。これにより、ユーザレベルのスケジューリングポリシーに則りシステム処理を実行できる機会が生まれ、アプリケーションなどユーザレベルのタスクが予期しないタイミングで休止させられる可能性が低くなる。また、システム処理の負荷が複数の処理ユニットに分散し易いため、システム管理部によるプリエンプションをせずに実行期限までにシステム処理を実行できる可能性が高くなる。これにより、システム処理を割り当てられた処理ユニットは、自らが処理していたアプリケーションのタスクを、好適なタイミングで休止させることができ、システム処理を開始させるためのコンテキストスイッチによるオーバーヘッドを削減することができる。また、アプリケーションのタスク処理に偏りが発生しにくいため、特定の処理ユニットのみ処理ユニット間通信がしにくい、といった状況が回避でき、プログラムの並列化が容易である。
また、処理ユニットによるシステム処理が実行期限を超過するなど実行条件に違反した場合、主処理ユニットは処理ユニットの処理を強制的にシステム処理に切り替える。これにより、システム処理を確実に実行することができ、処理割り当てをユーザレベルのスケジューリングに則り行うことによってシステム処理が遅延するなどの悪影響を排除することができる。結果として、システム処理を確実に実行しながら、アプリケーションのタスクも高速に処理することが可能となる。
実施の形態2
実施の形態1は、優先度や実行時間などに基づき、ユーザレベル管理部25のタスク割り当て部26が各タスクを適宜処理ユニットに割り当てていくことによりスケジュールを生成していく態様であった。本実施の形態では、各処理ユニットが自律的にタスクを選択して実行する自律的なユーザレベルスケジューリングの機構において、実施の形態1の如く、システム処理をスケジュールに則った処理ユニットで実行させる。
このユーザレベルスケジューリングの例は、例えば特開2007−52511号公報などにおいて示されている。ここではその概要について説明する。図8は自律的なユーザレベルスケジューリングの概要を説明するための図である。なお以後の説明において実施の形態1と同じ機能ブロックを用いることができる場合、当該機能ブロックに実施の形態1で示したのと同じ符号を付す。また実施の形態1と同様の処理手順については適宜その説明を省略する。
図8において、処理ユニット22aは、アプリケーションなどユーザレベルのタスクを生成すると、それを情報処理装置10に含まれる処理ユニットのグループのいずれかに割り当てる。具体的には、あらかじめ定めておいた一つまたは複数の処理ユニットのグループに対応するメインメモリ44内の領域(タスクキュー)に、割り当てたタスクを実行するためのデータを格納する。図8の例では、4つの処理ユニット22a、22b、22c、22dが処理ユニットのグループを構成しているとし、当該グループに割り当てたタスク80がメインメモリ44の対応する領域に格納されている。
そして、処理ユニット22a、22b、22c、22dの各々のローカルメモリには、ユーザレベルスケジューリングを実行するカーネルのプログラムを格納しておく。処理ユニット22a、22b、22c、22dは、前のアプリケーションのタスクが完了したり休止状態となった場合、あるいは所定の周期が到来すると、カーネルの処理を開始し、メインメモリ44に格納されたタスクから1つ選択して、当該タスクの実行に必要なプログラムなどのデータを自らのローカルメモリにコピーすることによって当該タスクの処理を開始する。
ここでメインメモリ44に格納するタスクは、1つの処理ユニットにおいて1回の処理で実行される最小単位のタスクでもよいし、それらを所定の処理単位でまとめたタスクセット、あるいはジョブチェインの状態でもよい。以後、このように最小単位のタスクを1つ以上まとめた単位をワークロードと呼ぶ。1つの巨視的な処理、すなわち目的を達成するためのタスクの集合体をワークロードとして形成すれば、当該ワークロード単位で処理ユニットに割り当てを行うことにより、効率的な処理が可能となる。例えば、ワークロードの実行に複数の処理ユニットが必要な場合は、基本的にはその数の処理ユニットを同時に確保して実行させる。このため各ワークロードには、要求する処理ユニットの数、各処理ユニットにおける優先度、最大の処理ユニット割り当て数などの割り当て条件の情報を付加しておく。
処理ユニット22a、22b、22c、22dは、当該ワークロードに係る情報を読み出したうえ、処理ユニットごとの優先度などに基づき一つのワークロードを選択してタスクの処理を行う。図9は、4つのワークロードのそれぞれに設定された割り当て条件、ここでは各処理ユニットにおける優先度および最大の処理ユニット割り当て数を例示している。図9に示した割り当て条件テーブル90の例では、ワークロード欄92に示すように、物理演算のワークロードP、人工知能のワークロードA、グラフィックス処理のワークロードG、およびオーディオ処理のワークロードMを処理対象のワークロードとしている。
そして各ワークロードに対し、各処理ユニットにおける4つのワークロードの優先順位、および割り当てることのできる処理ユニットの最大数が、優先度欄94および最大処理ユニット数欄96に記載されている。例えばワークロードPの場合、処理ユニット22a、22b、22c、22dにおける優先順位はそれぞれ「1」、「0」、「2」、「2」と設定されている。また割り当てることのできる処理ユニットの最大数は「2」と設定されている。その他のワークロードも同様である。
同図の場合、優先度欄94に記載された数値は、「0」を除き数が少ないほど優先順位が高いとする。例えば処理ユニット22aにおける優先順位はワークロードPが高く次がワークロードGである。数値が「0」の場合は、当該処理ユニットでは処理を行わない設定を意味する。割り当てることのできる処理ユニットの最大数を設定しない場合は最大処理ユニット数欄96を空欄としてよい。このような設定はプログラム作成時にアプリケーションごとに行う。
図10は、図9に示した割り当て条件を設定した際、処理ユニット22a、22b、22c、22dが各ワークロードを選択し、処理する過程の例を模式的に示している。同図において縦方向が時間軸であり、各処理ユニットの下に示される矩形がタスクあるいはワークロードの一つ一つの処理である。同図で示した時刻t0付近では、各処理ユニット22a、22b、22c、22dが、それぞれにおいて最も高い優先順位を有するタスクの処理、すなわちワークロードP、ワークロードA、ワークロードG、ワークロードGの処理をそれぞれ行っている。
例えば時刻t1で、処理ユニット22c、22dで処理されていたワークロードGのタスクがデバイスアクセスのための待機状態となると、それらの処理ユニット22c、22dは次に優先度の高いタスクであるワークロードPを選択しようとする。ところがワークロードPのタスクを処理できる処理ユニットの最大数は「2」であったため、処理ユニット22cがワークロードPを選択した場合、処理ユニット22dはさらに次の優先度を有するワークロードMを選択する。そしてデイバイスアクセスのための待機が時間Tで解消すると、処理ユニット22c、22dは、それぞれのワークロードP、ワークロードMを休止できるタイミングで、再びワークロードGを選択して実行を開始する(時刻t2)。
このように、アプリケーションにおいて指定された優先度および割り当て可能な処理ユニットの最大数、あるいは要求する処理ユニットの数などの割り当て条件に従い、各処理ユニットで動作するカーネルによって自律的にタスクの処理が進捗する。このとき各処理ユニットにおいて優先度の低いタスクは休止に好適なタイミングで優先度の高いタスクに処理時間を譲るため、コンテキストスイッチに要する時間を最小限に、優先度に従った処理の切り替えが可能となる。また処理ユニットごとに優先度を指定可能とすることで、処理ユニットへのタスクの割り振りが容易になる。なお図9、10はあくまで例示であり、割り当て条件は優先度のみとしたり、その他のパラメータを指定してもよい。
本実施の形態では、このような自律的なユーザレベルスケジューラを導入した情報処理装置において、システム処理をユーザレベルスケジューリングに組み込む。具体的には、システム処理を仮想ワークロードとして発生させることにより、ユーザレベルスケジューラのスケジューリングにシステム処理を組み込む。この態様は、実施の形態1の図1および図4で示した情報処理装置10と同様の構成によって実現できる。ただし本態様においてタスク割り当て部26は、タスクを直接処理ユニットに割り当てるのでなく、上述のとおり、ワークロードを処理ユニットグループに割り当て、当該処理ユニットグループに対応するメインメモリ44内の領域に処理に必要なデータや割り当て条件を格納する。
図11は本実施の形態においてシステム処理を仮想ワークロードとして実行する際の処理手順を模式的に示している。図6と同様、白い矩形はアプリケーションのタスク(ワークロード)、斜線網掛けの矩形はシステム処理のタスク(仮想ワークロード)である。同図において処理ユニット22a、22b、22c、22dの4つの処理ユニットが処理ユニットグループを形成し、それぞれが、割り当てられたアプリケーションのワークロードを構成するタスクを処理している。この状況において、まずシステムレベル管理部24のシステム処理要求部27がシステム処理要求をタスク割り当て部26に行う(S40)。タスク割り当て部26は、当該処理要求をあらかじめ定めた規則により仮想ワークロードに変換し、メインメモリ44の該当領域に格納する(S42)。
その後、処理ユニットグループのうち前のタスク処理を完了、または休止させた処理ユニット、図11の例では処理ユニット22dが、メインメモリ44からシステム処理の仮想ワークロードを選択して自らのローカルメモリにロードする(S44)。仮想ワークロードの処理が可能となった時点で処理ユニット22dはその旨の通知をシステムレベル管理部24に送信する(S46)。
システムレベル管理部24の実行監視部28は、S40の処理要求からの経過時間を測定し、実行期限までにS46の通知を受けた場合、実行制御部30は処理ユニット22dにシステム処理を開始させる(S50)。実行条件違反があった場合は、実施の形態1と同様、処理ユニット22a、22b、22c、22dのいずれか、または全てのタスク処理を休止させ、システム処理を実行させてよい。
次にタスク割り当て部26が、システムレベル管理部24から要求されたシステム処理を仮想ワークロードに変換する手法について説明する。図12はタスク割り当て部26が要求されたシステム処理を仮想ワークロードに変換する際に参照する変換テーブルの例である。変換テーブル100はあらかじめ設定しておきメインメモリ44などに格納しておく。変換テーブル100は、グループ欄102、種別欄104、リソース割り当て単位欄108、およびユーザパラメータ欄110を含む。
タスク割り当て部26は、実施の形態1の図7に示したシステム処理に係る情報と同様の情報をシステム処理要求部27から受け取る。この情報のうち、種別識別子52に基づき図12の種別欄104から、要求されたシステム処理の種別を検索する。同図に示すように、各種別はグループ欄102に示したグループにまとめられ、それぞれのグループに対し、ワークロードとして必要なパラメータを設定する。
リソース割り当て単位欄108には、各グループを一つの単位として処理ユニットなどのリソースを割り当てるか、種別ごとに割り当てるかを設定する。図12の例で「グループ」と記載されている場合は、1つのグループでリソースを共有する。「種別ごと」と記載されている場合は、種別欄104に記載した種別ごとにリソースを割り当てる。ユーザパラメータ欄110には、アプリケーションごとに設定が可能なパラメータ、例えば当該システム処理を割り当てる処理ユニットや、割り当てることのできる最大の処理ユニット数、あるいは処理ユニットごとの優先順位を定めた優先度テーブルの識別子などを設定する。優先度テーブルは識別子と対応づけてあらかじめ準備しておく。タスク割り当て部26は、当該設定に基づき、図9の優先度欄94、最大処理ユニット数欄96に示すような数値を最終決定する。
次にこれまで述べた構成による本実施の形態の動作を説明する。図13は自律的なユーザレベルスケジューラを導入した際にシステム処理を実行する処理手順を示すフローチャートである。まずタスク割り当て部26は、アプリケーションの起動時や、システム処理をユーザレベルスケジューリングに則り行う態様が必要となった際、アプリケーションのワークロードと同様に、初期状態の仮想ワークロードをメインメモリ44に登録しておく(S60)。初期状態の仮想ワークロードでは、要求する処理ユニットの数を初期値0としておく。
このときアプリケーションのタスクは自律的なユーザレベルスケジューリングによって各処理ユニットで処理されているとする。このような状況において、OSが提供するライブラリが呼び出されるなどした際に、システムレベル管理部24のシステム処理要求部27は、当該ライブラリに対応するシステム処理を発生させ、タスク割り当て部26に処理要求を行う(S62)。
要求を受けたタスク割り当て部26は、要求に含まれる情報に従い、S60において登録しておいた初期状態の仮想ワークロードを修正する(S64)。例えばシステム処理の処理IDに基づき、あらかじめ設定した当該処理に要する処理ユニットの数を特定し、仮想ワークロードにおける初期値0の設定を修正する。上述した優先度なども決定できる。各処理ユニットで動作するカーネルは、仮想ワークロードにおいて、要求する処理ユニットの設定数が1以上に変更されたことを受けて、仮想ワークロードの選択を開始する。これによりにより、実質、仮想ワークロードが要求数の処理ユニットに割り当てられる(S66)。
すると仮想ワークロードを選択した処理ユニットは、あらかじめ準備しておいた仮想ワークロード用のプログラムを起動し、処理IDに基づきメインメモリ44からプログラムをロードしたうえ、システム処理を実行する(S68)。
図14〜16は本実施の形態で実現できる、6つの処理ユニット22a、22b、22c、22d、22e、22fにおける処理の推移の例を示している。図の横方向が時間軸であり、ある単位処理時間中にどのタスクが処理されたかを処理ユニットごとに矩形で示している。同図において「P」、「A」、「G」が記載されたタスクは、上述の物理演算のワークロードP、人工知能のワークロードA、グラフィックス処理のワークロードGに対応するアプリケーションのタスクである。同図の例は、常に「A」、「P」、「G」の順で処理が進捗するとする。
このようにアプリケーションのタスク処理がなされている環境において、時刻T0でノイズ除去、システムBGM、AVチャット、レコーディング、のシステム処理が要求されたとする。図14〜16ではシステム処理を太線の矩形で示し、それぞれの処理を、「ノイズ除去」、「BGM」、「AVチャット」、「レコーディング」と記載して区別している。上述したように、図12に示した変換テーブル100によって、それぞれの処理が属するグループごとに割り当てる処理ユニットなどを設定することができる。
図14は各システム処理をどの処理ユニットに割り当ててもよい、との設定がなされている場合の例である。割り当て可能な処理ユニットは、例えばビットマスクを利用して変換テーブルに対しユーザが指定できるようにする。同図の場合、各システム処理は、処理ユニット22c、22d、22e、22fが時刻T0でそれぞれ開始している。その間に、アプリケーションのタスクのうち「A」は、2つの処理ユニット22a、22bで処理されているため、このようにシステム処理が実行されても、アプリケーションの後続のタスクである「P」、「G」は大きく遅延することなく、最大限の数の処理ユニットを利用して処理を進捗させることができる。
図15は、システム処理は処理ユニット22aにのみ割り当てるという設定がなされている場合の例である。この例では、時刻T0でアプリケーションのタスクのうち「A」を開始しているが、処理ユニット22aにおいてはコンテキストスイッチに好適なタイミングでシステム処理「ノイズ除去」に処理が切り替わり、その後のシステム処理が処理ユニット22aで優先度などに従い進捗する。この場合、時刻T0からシステム処理へ切り替わるまでの時間、およびシステム処理が終了した後の時間は、全ての処理ユニットをアプリケーションのタスクに割り当てることが可能である。
図16は、システム処理をどの処理ユニットに割り当ててもよいが、ユーティリティや高負荷サービスのグループに属するシステム処理の優先度を比較的低くした場合の例である。この場合、優先度が高い「ノイズ除去」、「BGM」の処理は時刻T0で処理ユニット22c、22dによって開始されるが、「レコーディング」、「AVチャット」の処理は、アプリケーションのタスク「G」が終了した後に開始されている。
このように、システム処理をワークロードに変換する際に割り当てる処理ユニットなどの指定を可能としておくことにより、アプリケーションごとに最適な態様で処理を進捗させることができる。
以上述べた本実施の形態によれば、プログラムを分割して並列処理する際、処理ユニット自らが分割後のタスクを優先度などに基づき選択して実行する自律的なユーザレベルスケジューラを導入した環境において、システム処理を仮想ワークロードに変換する。これにより、本来はユーザレベルスケジューリングの対象外であったシステム処理を、ユーザレベルのタスクと同様に扱うことが可能となる。結果として、優先度ベースで行われている本来のスケジューリングの動作を阻害することなくシステム処理も進捗させることができる。
またアプリケーションにおいて、各システム処理の優先度や割り当てる処理ユニットを指定できるようにし、仮想ワークロードへ変換する際に当該指定に従った設定を行う。これによりアプリケーションごとにシステム処理を実行するタイミングや実行する処理ユニットを容易に変化させることができ、最適な処理態様を実現できる。さらに、アプリケーションのタスクと同様にシステム処理を扱えるため、アプリケーションの作成は従来と同様に行える。また実施の形態1と同様、システム処理の負荷を分散させ最大限の処理ユニットを稼働させることによって処理の高速化を実現できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
10 情報処理装置、 22a 処理ユニット、 24 システムレベル管理部、 25 ユーザレベル管理部、 26 タスク割り当て部、 27 システム処理要求部、 28 実行監視部、 30 実行制御部、 32 タスク処理部、 34 通信部、 36 ローカルメモリ、 44 メインメモリ。

Claims (9)

  1. プログラムのタスクを処理するタスク処理部と、
    実行中のアプリケーションプログラムによってシステムレベルのプログラムが呼び出された場合に、当該システムレベルのプログラムのタスクに、処理要求を発行してから実行開始までに許容される実行期限を実行条件として付加したうえ処理要求を発行する処理要求部と、
    前記処理要求部が処理要求を発行した前記システムレベルのプログラムのタスクを、前記タスク処理部における、実行中のアプリケーションプログラムのタスクの処理予定を決定づけるユーザレベルのスケジュール制御に組み入れるタスク割り当て部と、
    前記ユーザレベルのスケジュール制御によって前記タスク処理部における前記システムレベルのプログラムのタスクの処理前記実行期限内に開始されるか否かを監視する実行監視部と、
    前記システムレベルのプログラムのタスクの処理が実行期限内に開始されないと判定された際に、前記処理予定によらず前記タスク処理部の処理を前記システムレベルのプログラムのタスクに切り替える実行制御部と、
    を備えたことを特徴とする情報処理装置。
  2. 前記実行監視部は、前記タスク処理部から、前記システムレベルのプログラムのタスク処理を受け入れ可能である旨の通知が、前記実行期限内になされなかった場合に、前記システムレベルのプログラムのタスクの処理が実行期限内に開始されないと判定することを特徴とする請求項に記載の情報処理装置。
  3. 前記タスク割り当て部は、前記システムレベルのプログラムの処理内容の種別に対してあらかじめ設定された優先度、実行期限、動作周期、および実行時間、の少なくともいずれかの情報を特定し、特定した情報に基づき、前記ユーザレベルのスケジュール制御に基づく当該システムレベルのプログラムのタスクの処理予定を定めることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記タスク割り当て部は、ユーザレベルのスケジュール制御によるタスクの処理予定を前記タスク処理部ごとに生成し、前記処理要求部が前記システムレベルのプログラムのタスクの処理要求を発行した際、当該システムレベルのプログラムのタスクを前記タスク処理部ごとの処理予定のいずれかに挿入し、
    前記タスク処理部は、前記タスク割り当て部が生成した処理予定に則りタスクを処理することを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記タスク割り当て部は、タスクをメモリのタスクキューに格納し、前記処理要求部が前記システムレベルのプログラムのタスクの処理要求を発行した際、当該タスクに係る情報を、ユーザレベルのタスクと同様の情報に変換したうえ、前記メモリのタスクキューに格納し、
    前記タスク処理部は、前記タスクキューに格納されたタスクから選択したタスクを処理することを特徴とする請求項1または2に記載の情報処理装置。
  6. 前記タスク割り当て部は、前記システムレベルのプログラムのタスクに係る情報をユーザレベルのタスクと同様の情報に変換する際、当該システムレベルのプログラムを呼び出したアプリケーションプログラムにおいて当該システムレベルのプログラムのタスクに対し設定された優先度および割り当てることのできるタスク処理部の数の少なくともいずれかを、変換後の情報に付加することを特徴とする請求項に記載の情報処理装置。
  7. 前記処理要求部は、実行中のアプリケーションプログラムにおいて、呼び出すシステムレベルのプログラムのタスクを前記タスク処理部におけるユーザレベルのスケジュール制御へ組み入れない旨の設定がなされていた場合、前記処理要求を発行せず、前記実行制御部は、いずれかの前記タスク処理部の処理を、呼び出されたシステムレベルのプログラムのタスクへ切り替えることを特徴とする請求項1に記載の情報処理装置。
  8. 実行すべきプログラムのタスクをプロセッサにおいて処理するステップと、
    実行中のアプリケーションプログラムによってシステムレベルのプログラムが呼び出された場合、当該システムレベルのプログラムのタスクに、処理要求を発行してから実行開始までに許容される実行期限を実行条件として付加したうえ処理要求を発行するステップと、
    処理要求が発行された前記システムレベルのプログラムのタスクを、実行中のアプリケーションプログラムのタスクの処理予定を決定づけるユーザレベルのスケジュール制御に組み入れるステップと、
    前記ユーザレベルのスケジュール制御によって前記システムレベルのプログラムのタスクの処理が前記実行期限内に開始されるか否かを監視するステップと、
    前記システムレベルのプログラムのタスクの処理が実行期限内に開始されないと判定された際、前記処理予定によらず、前記プロセッサにおけるタスクの処理を、前記システムレベルのプログラムのタスクに切り替えるステップと、
    を含むことを特徴とする情報処理方法。
  9. 実行すべきプログラムのタスクを処理する機能と、
    実行中のアプリケーションプログラムによってシステムレベルのプログラムが呼び出された場合、当該システムレベルのプログラムのタスクに、処理要求を発行してから実行開始までに許容される実行期限を実行条件として付加したうえ処理要求を発行する機能と、
    処理要求が発行された前記システムレベルのプログラムのタスクを、実行中のアプリケーションプログラムのタスクの処理予定を決定づけるユーザレベルのスケジュール制御に組み入れる機能と、
    前記ユーザレベルのスケジュール制御によって前記システムレベルのプログラムのタスクの処理が前記実行期限内に開始されるか否かを監視する機能と、
    前記システムレベルのプログラムのタスクの処理が実行期限内に開始されないと判定された際、前記処理予定によらず、前記タスクを処理する機能におけるタスクの処理を、前記システムレベルのプログラムのタスクに切り替える機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
JP2009008162A 2009-01-16 2009-01-16 情報処理装置および情報処理方法 Active JP5324934B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009008162A JP5324934B2 (ja) 2009-01-16 2009-01-16 情報処理装置および情報処理方法
PCT/JP2009/004995 WO2010082244A1 (ja) 2009-01-16 2009-09-29 情報処理装置および情報処理方法
EP09838214.6A EP2388699B1 (en) 2009-01-16 2009-09-29 Information processing device and information processing method
US13/142,156 US8793695B2 (en) 2009-01-16 2009-09-29 Information processing device and information processing method
CN200980154610.4A CN102282543B (zh) 2009-01-16 2009-09-29 信息处理装置和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009008162A JP5324934B2 (ja) 2009-01-16 2009-01-16 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2010165259A JP2010165259A (ja) 2010-07-29
JP5324934B2 true JP5324934B2 (ja) 2013-10-23

Family

ID=42339514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009008162A Active JP5324934B2 (ja) 2009-01-16 2009-01-16 情報処理装置および情報処理方法

Country Status (5)

Country Link
US (1) US8793695B2 (ja)
EP (1) EP2388699B1 (ja)
JP (1) JP5324934B2 (ja)
CN (1) CN102282543B (ja)
WO (1) WO2010082244A1 (ja)

Families Citing this family (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
EP2282264A1 (en) * 2009-07-24 2011-02-09 ProximusDA GmbH Scheduling and communication in computing systems
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
JP5703933B2 (ja) 2010-07-22 2015-04-22 株式会社リコー トナー及びその製造方法
US8483735B2 (en) * 2010-08-26 2013-07-09 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for parallel scheduling of frequency resources for communication nodes
EP2751684A4 (en) * 2011-09-02 2015-07-08 Freescale Semiconductor Inc DATA PROCESSING SYSTEM AND METHOD FOR ORDERING TASKS IN A DATA PROCESSING SYSTEM
US9195684B2 (en) 2012-03-02 2015-11-24 Cleversafe, Inc. Redundant task execution in a distributed storage and task network
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9367681B1 (en) * 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9009822B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9652294B2 (en) 2013-11-25 2017-05-16 International Business Machines Corporation Cross-platform workload processing
US9626226B2 (en) 2013-11-25 2017-04-18 International Business Machines Corporation Cross-platform workload processing
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9507935B2 (en) 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
CN108292236B (zh) * 2015-11-30 2022-11-01 华为技术有限公司 一种信息处理方法及装置
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10101934B1 (en) 2016-03-24 2018-10-16 Emc Corporation Memory allocation balancing for storage systems
US10705907B1 (en) 2016-03-24 2020-07-07 EMC IP Holding Company LLC Data protection in a heterogeneous random access storage array
US10324782B1 (en) 2016-03-24 2019-06-18 Emc Corporation Hiccup management in a storage array
US9857990B1 (en) * 2016-03-24 2018-01-02 EMC IP Holding Company LLC Fast startup for modular storage systems
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10223008B1 (en) 2016-09-30 2019-03-05 EMC IP Holding Company LLC Storage array sizing for compressed applications
US10152371B1 (en) 2016-09-30 2018-12-11 EMC IP Holding Company LLC End-to-end data protection for distributed storage
US10255172B1 (en) 2016-09-30 2019-04-09 EMC IP Holding Company LLC Controlled testing using code error injection
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10860369B2 (en) * 2017-01-11 2020-12-08 International Business Machines Corporation Self-adjusting system for prioritizing computer applications
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US10754706B1 (en) 2018-04-16 2020-08-25 Microstrategy Incorporated Task scheduling for multiprocessor systems
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
CN113365557A (zh) 2019-01-30 2021-09-07 富士胶片株式会社 医用图像分析装置、方法及程序
WO2020187182A1 (zh) * 2019-03-15 2020-09-24 上海小麦互动企业发展有限公司 处理装置及其处理方法
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
GB2599088A (en) * 2020-09-18 2022-03-30 Metaswitch Networks Ltd Configuring a virtualised environment in a telecommunications network

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3215264B2 (ja) * 1994-06-29 2001-10-02 科学技術庁航空宇宙技術研究所長 スケジュール制御装置とその方法
JPH0954699A (ja) * 1995-08-11 1997-02-25 Fujitsu Ltd 計算機のプロセススケジューラ
DE19846274A1 (de) * 1998-10-08 2000-04-20 Alcatel Sa Verfahren zur Durchführung von kooperativem Multitasking in einem Nachrichtenübertragungsnetz und Netzelement dafür
JP2001022601A (ja) * 1999-07-12 2001-01-26 Hitachi Ltd ジョブ実行制御方法及び並列計算機システム
JP4149619B2 (ja) * 1999-07-30 2008-09-10 株式会社東芝 優先度変換システム
JP2001117786A (ja) * 1999-10-19 2001-04-27 Nec Corp プロセススケジューリング装置およびプロセススケジューリング方法
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US7596251B2 (en) * 2003-01-31 2009-09-29 Nexus Biosystems, Inc. Automated sample analysis system and method
CN100345132C (zh) * 2003-07-28 2007-10-24 华为技术有限公司 一种并行处理的方法及系统
DE10337294A1 (de) * 2003-08-13 2005-05-19 Siemens Ag Verfahren und Anordnung zur Abarbeitung von Prozessen
US7418585B2 (en) * 2003-08-28 2008-08-26 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US20050268300A1 (en) * 2004-05-14 2005-12-01 Microsoft Corporation Distributed task scheduler for computing environments
JP4963018B2 (ja) 2005-08-15 2012-06-27 株式会社ソニー・コンピュータエンタテインメント スケジューリング方法およびスケジューリング装置
US9003421B2 (en) * 2005-11-28 2015-04-07 Intel Corporation Acceleration threads on idle OS-visible thread execution units
US7669081B2 (en) * 2006-09-27 2010-02-23 Raytheon Company Systems and methods for scheduling, processing, and monitoring tasks
US8185899B2 (en) * 2007-03-07 2012-05-22 International Business Machines Corporation Prediction based priority scheduling
US8893130B2 (en) * 2007-03-26 2014-11-18 Raytheon Company Task scheduling method and system
WO2009085534A1 (en) * 2007-12-27 2009-07-09 Siemens Heathcare Diagnostics Inc. Method and apparatus for remote multiple-process graphical monitoring
US20090300629A1 (en) * 2008-06-02 2009-12-03 Mois Navon Scheduling of Multiple Tasks in a System Including Multiple Computing Elements
EP2308214A4 (en) * 2008-07-29 2013-10-23 Alcatel Lucent Usa Inc METHOD AND APPARATUS FOR RESOURCE SHARING BETWEEN USER DEVICES IN A COMPUTER NETWORK
US8261274B2 (en) * 2009-06-29 2012-09-04 Oracle America, Inc. Method and system for managing a task

Also Published As

Publication number Publication date
EP2388699A4 (en) 2012-11-07
WO2010082244A1 (ja) 2010-07-22
US20110302587A1 (en) 2011-12-08
JP2010165259A (ja) 2010-07-29
EP2388699B1 (en) 2019-12-18
CN102282543A (zh) 2011-12-14
CN102282543B (zh) 2014-12-17
EP2388699A1 (en) 2011-11-23
US8793695B2 (en) 2014-07-29

Similar Documents

Publication Publication Date Title
JP5324934B2 (ja) 情報処理装置および情報処理方法
Qin et al. Arachne:{Core-Aware} thread management
Kato et al. Semi-partitioned fixed-priority scheduling on multiprocessors
KR101651871B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
KR100628492B1 (ko) 실시간 동작 수행방법 및 시스템
KR100864964B1 (ko) 연산처리시스템 및 연산처리 제어방법, 업무관리시스템 및업무관리방법과 기억매체
KR101626378B1 (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
JP5433837B2 (ja) 仮想計算機システム、仮想計算機の制御方法及びプログラム
CA2704269C (en) Uniform synchronization between multiple kernels running on single computer systems
US20090100435A1 (en) Hierarchical reservation resource scheduling infrastructure
KR20050016170A (ko) 실시간 동작 수행방법 및 시스템
JPH0659906A (ja) 並列計算機の実行制御方法
JP2009541848A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
JP6296678B2 (ja) ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置
WO2016092856A1 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラムを記憶する記憶媒体
KR101392584B1 (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
KR20070090649A (ko) 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
JP2020095441A (ja) 演算制御装置
JP5676845B2 (ja) コンピュータシステム、カーネルスケジューリングシステム、リソース割当方法及びプロセス実行共有方法
JP2015038757A (ja) コンピュータシステム、カーネルスケジューリングシステム、リソース割当方法及びプロセス実行共有方法
CN109766168B (zh) 任务调度方法和装置、存储介质以及计算设备
JP5726006B2 (ja) タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치
JP2015141584A (ja) 情報処理装置、情報処理方法およびプログラム
JP6669705B2 (ja) 数値制御装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130719

R150 Certificate of patent or registration of utility model

Ref document number: 5324934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250