JP2001043094A - マイクロスケジューリング方法及び運営体制カーネル - Google Patents

マイクロスケジューリング方法及び運営体制カーネル

Info

Publication number
JP2001043094A
JP2001043094A JP2000067465A JP2000067465A JP2001043094A JP 2001043094 A JP2001043094 A JP 2001043094A JP 2000067465 A JP2000067465 A JP 2000067465A JP 2000067465 A JP2000067465 A JP 2000067465A JP 2001043094 A JP2001043094 A JP 2001043094A
Authority
JP
Japan
Prior art keywords
special
class
application
data
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000067465A
Other languages
English (en)
Inventor
Hang-Jae Yu
恒載 兪
Genshoku Kin
鉉植 金
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2001043094A publication Critical patent/JP2001043094A/ja
Pending legal-status Critical Current

Links

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 マルチメディアを支援するためのQoS要件
を満足させるマイクロスケジューリングアルゴリズム及
びそれを具現する運営体制カーネルを提供する。 【解決手段】 本マイクロスケジューリング方法は
(a)与えられたアプリケーションに対してパフォーマ
ンスパラメータを求める段階と、(b)予め設定したポ
リシーによりパフォーマンスパラメータを適切に調整す
る段階と、(c)マルチメディアアプリケーションの特
性上ユーザー空間へのデータ移動が要らないデータに対
して周期的に入出力作業を遂行するようにスケジューリ
ングして、アプリケーションクラスに対する処理の優先
順位を決定する段階と、(d)前記(c)段階により決
定された優先順位によってスペシャルI/Oシステムコ
ールを遂行する段階とを含むことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマイクロスケジュー
リングアルゴリズムに係り、さらに詳しくはマルチメデ
ィア支援を必要とする運営体制に適合したマイクロスケ
ジューリングアルゴリズムに関する。また、本発明は前
記マイクロスケジューリング方法を具現する運営体制カ
ーネルに関する。
【0002】
【従来の技術】ユニックス(Unix:登録商標)、リ
ヌックス(Linux:登録商標)、及びウインドウズ
NT(WindowsNT:登録商標)のような運営体
制はマルチユーザーを支援するために10ミリ秒程度の
タイムスライス(time slice)を有するタス
クスケジューリング(task schedulin
g)方式を用いている。マルチメディアを支援するため
にはQoS(qualityof service)要
件を満足する機能を運営体制及びネットワークから支援
しなければならないが、複数個のアプリケーションを処
理するならばマルチメディアデータを処理する途中にも
定まったタスクスケジューリングによって継続的なイン
タラプトが発生されるのでマルチメディアデータの処理
が連続的であらずショートが生じる。すなわち、従来の
運営体制で用いられるスケジューリング方式ではマルチ
メディアを支援するためのQoS要件を満足し難いとい
う問題点がある。
【0003】前記問題点を解決するための他の従来技術
によると、共有ヒープ(heap)を構成することのよ
うに運営体制において重要なプロセスの構造を変形する
ために既存ソフトウェアとの互換性を喪失するという問
題点がある。また、前記問題点を解決するためのさらに
他の従来技術によると、EDF(Earliest D
eadline First)等のようなリアルタイム
スケジューリングアルゴリズムを適用する場合にはアド
ミッション制御(admission contro
l)、逆方向互換性(backward compat
ibility)維持、非正常的なQoS違反等によっ
て性能が著しく低下される場合があり、過負荷状態では
既に保証したサービス品質さえも達成されない場合が生
じるという問題点がある。
【0004】
【発明が解決しようとする課題】本発明が達成しようと
する技術的課題は、マルチメディアを支援するためのQ
oS要件を満足させるマイクロスケジューリングアルゴ
リズムを提供することにある。本発明が達成しようとす
る他の技術的課題は、前記マイクロスケジューリングア
ルゴリズムを具現する運営体制カーネルを提供すること
にある。
【0005】
【課題を解決するための手段】前記課題を達成するため
の本発明によるマイクロスケジューリング方法は、マル
チメディアアプリケーションを支援するための運営体制
カーネルで具現されるスケジューリング方法において、
(a)与えられたアプリケーションに対して入出力I/
Oバウンド作業JOBパフォーマンス及びCPUバウン
ド作業JOBパフォーマンスを測定することによってパ
フォーマンスパラメータを求める段階と、(b)システ
ム管理者が作業JOBアドミッション制御を遂行するこ
とによって予め設定したポリシーによってパフォーマン
スパラメータを適切に調整する段階と、(c)前記パフ
ォーマンス測定と作業JOBアドミッション制御を基礎
に、マルチメディアアプリケーションの特性上ユーザー
空間へのデータ移動が要らないデータに対して周期的に
入出力作業JOBを遂行するようにスケジューリングし
て、アプリケーションクラスに対する処理の優先順位を
決定する段階と、(d)前記(c)段階により決定され
た優先順位によってスペシャルI/Oシステムコールを
遂行する段階とを含むことを特徴とする。
【0006】また、前記(a)段階は、アプリケーショ
ンのクラスに適合したテストプログラムを用いて与えら
れたアプリケーションに対して入出力I/Oバウンド作
業JOBパフォーマンス及びCPUバウンド作業JOB
パフォーマンスを測定することによってパフォーマンス
パラメータを求めることが望ましい。また、前記(b)
段階は、前記(a)段階で求めたパフォーマンスパラメ
ータとアプリケーションクラスとに対する処理の優先順
位及びポリシー記述表でシステム管理者が設定したリソ
ース割り当てを基礎とするエンタープライズサービス品
質QoSモデリングによって遂行されることが望まし
い。
【0007】また、前記方法は可用性テストを遂行する
段階と、アドミッション制御及びリソース予約を遂行す
る段階と、システムリソースに対して各アプリケーショ
ン別デフォルト及び最大範囲を決定するためのポリシー
を記述する段階と、CPUバウンドパフォーマンスに対
する測定を遂行する段階と、入出力I/Oバウンドパフ
ォーマンスに対する測定を遂行する段階をさらに含むこ
とが望ましい。また、前記スペシャルI/Oシステムコ
ールは、ユーザー空間から装置にデータを移動させる入
出力I/Oサービスクラス1、ユーザー空間からユーザ
ー空間にデータを移動させる入出力I/Oサービスクラ
ス2、ユーザー空間にデータをやり取りする入出力I/
Oサービスクラス3、及び装置から装置にデータを移動
させる入出力I/Oサービスクラス4の4種のクラスに
区分される入出力I/O作業JOBにおいて、マルチメ
ディアアプリケーションに現れる場合のある入出力I/
Oサービスクラス4をスペシャルI/Oに該当する作業
JOBであると決定して、アプリケーションで遂行する
作業JOBがスペシャルI/Oに該当する場合に前記ス
ペシャルI/Oスケジューリング手段により配分された
リソースによって周期的な入出力を担当することが望ま
しい。
【0008】また、前記スペシャルIOは、ディスクフ
ァイルからネットワークにまたはネットワークからディ
スクファイルに入出力を遂行するスペシャルIOクラス
1、入出力I/O部からネットワークにまたはネットワ
ークから入出力I/O部に入出力を遂行するスペシャル
IOクラス2、及びアプリケーションから/に入出力を
遂行したりスレッド(thread)からスレッドにま
たはループバック(loop−back)形態で入出力
を遂行するスペシャルIOクラス3の3種のクラスに区
分されることが望ましい。また、前記(c)段階でスケ
ジューリングに用いられるタスクQは、スペシャルIO
クラス1のアプリケーションに関連したミディアムQ
(MQ)、スペシャルIOクラス2及び3のアプリケー
ションに関連したハイQ(HQ)とスペシャルIOクラ
ス4のアプリケーションに関連したローQ(LQ)の3
種に区分されることが望ましい。
【0009】また、前記(c)段階は、前記スペシャル
IOクラス2とスペシャルIOクラス3のJOBの場合
にスケジューリングにおいて最高の優先順位を有するハ
イQ(HQ)を用いることが望ましい。また、前記スペ
シャルIOクラス2とスペシャルIOクラス3の作業J
OBの場合に可能なかぎりスペシャル入出力部から装置
-装置に処理することが望ましい。また、前記ポリシー
記述表は、システムのリソースに対して4種のアプリケ
ーションのデフォルトリソース及び最大リソースの範囲
をポリシーとして記述することが望ましい。
【0010】また、より望ましくは、前記ポリシー記述
表は入出力I/O作業JOBクラス1、2、3、及び4
に対して各クラスのアプリケーションが確保して用いる
ことができるCPU時間の最小値を所定の割合で最小リ
ソースを割り当てることによって各アプリケーションに
対するデフォルトリソースを割り当てる段階と、アプリ
ケーションの使用パターンによって4個のアプリケーシ
ョンクラスが共有できる残りリソースを割り当てる段階
と、各々のアプリケーションクラスに対して一定な範囲
のCPUリソースを割り当てる段階とを含む方法によっ
て設定されたポリシーを含むことが望ましい。
【0011】また、前記ポリシー記述表は新しいアプリ
ケーションが遂行される前に前記デフォルトリソース及
び最大リソースの範囲を用いてサービス品質QoSパラ
メータ交換とアドミッション制御を遂行する段階をさら
に含む方法によって設定されたポリシーを含むことが望
ましい。
【0012】また、スペシャルIOクラス1の場合、
(a−1)ファイルバッファを割り当てる段階と、(b
−1)Xを所定の正の整数とする時ファイルバッファか
らXバイトを読み取る段階と、(c−1)プロトコルデ
ータユニット(PDU)でファイルバッファが空いてい
るかをチェックする段階と、(d−1)前記(c−1)
段階でファイルバッファが空いているとチェックされれ
ばフォーク(fork)を遂行してディスク装置をウェ
ークアップ(wake−up)して前記ディスク装置か
らデータを読み出す段階と、(e−1)前記(d−1)
段階の結果をハイQ(HQ)に貯蔵する段階と、(f−
1)前記(c−1)段階でファイルバッファが空いてい
ないとチェックされればハイQ(HQ)に貯蔵されてい
るデータを伝送して、ディスクをスリープ(slee
p)状態に維持させる段階と、(g−1)UDPデータ
をネットワーク装置に送る段階と、(h−1)発送され
たUDPデータをネットワーク装置側のバッファに貯蔵
する段階と、(i−1)ネットワーク装置のバッファに
貯蔵されたUDPデータを媒体アクセス制御によってネ
ットワーク装置に伝送する段階とを遂行して、前記スペ
シャルI/Oシステムコールは(a−1)ないし(f−
1)段階に関与することが望ましい。
【0013】また、スペシャルIOクラス2の場合、
(a−2)外部音声をマイクを通して入力する段階と、
(b−2)入力された外部音声を電気的な音声信号に変
換する段階と、(c−2)ハードウェアボコーダで変換
された音声信号をデジタル音声データに変換する段階
と、(d−2)前記デジタル音声データをバッファに貯
蔵する段階と、(e−2)バッファに貯蔵されたデジタ
ル音声データをパケット化する段階と、(f−2)パケ
ット化されたデータをハイQ(HQ)に貯蔵する段階
と、(g−2)パケット伝送要求信号であるRTP/ユ
ーザーデータパケットであるUDPデータをネットワー
ク装置に送る段階と、(h−2)発送されたRTP/U
DPデータをネットワーク装置のバッファに貯蔵する段
階と、(i−2)ネットワーク装置のバッファに貯蔵さ
れたRTP/UDPデータを媒体アクセス制御によって
ネットワーク装置に送る段階とを遂行して、前記スペシ
ャルI/Oシステムコールは(e−2)ないし(g−
2)段階に関与することが望ましい。
【0014】また、前記パフォーマンス測定は、(pm
−a)各アプリケーションを複数のクラスに識別する段
階と、(pm−b)アプリケーションのクラスに適合し
たテストプログラムを用いてパフォーマンスパラメータ
を測定する段階とを含んでなることが望ましい。
【0015】また、前記(pm−b)段階は、(pm−
b−1)任務重大性(mission critica
l)作業はアプリケーション特性に合うベンチマークプ
ログラムを用いてどの程度のトランザクションを処理で
きるかを測定してシステムで処理しなければならない最
小及び最大トランザクションの数を決定する段階と、
(pm−b−2)リソース予約を必要とするハイメディ
ア(high media)アプリケーションとG.7
23、及びH.263などの標準に従う対話形メディア
アプリケーションはスケジューリング周期等のようなサ
ービス品質QoSパラメータと、繰り返される重要ルー
チンに対する情報をユーザーが明示した次に、秒当たり
エンコーディングまたはデコーディング遂行時間を測定
する段階と、(pm−b−3)その他リアルタイム処理
を要しないアプリケーションはパフォーマンス測定を省
略する段階とを含むことが望ましい。
【0016】また、前記(pm−b)段階は、(pm−
b−1−na)もしも前記(pm−b−1)段階で任務
重大性作業のみを遂行することにもシステムの性能が足
りないと決定されればより良い性能のシステムを用いる
ようにユーザーに表示する段階をさらに含むことが望ま
しい。
【0017】また、前記他の課題を達成するために本発
明による運営体制カーネルは与えられたアプリケーショ
ンに対して入出力I/Oバウンド作業JOBパフォーマ
ンス及びCPUバウンド作業JOBパフォーマンスを測
定することによってパフォーマンスパラメータを求め
て、ユーザーが予め設定したポリシーによってパフォー
マンスパラメータを適切に調整するための作業JOBア
ドミッション制御を遂行するエンタープライズQoSリ
ソースマネージング手段と、前記パフォーマンス測定と
作業JOBアドミッション制御を基礎に、マルチメディ
アアプリケーションの特性上ユーザー空間へのデータ移
動が要らないデータに対して周期的に入出力作業JOB
を遂行するようにスケジューリングするスペシャルI/
Oスケジューリング手段と、前記スペシャルI/Oスケ
ジューリング手段により決定された優先順位によってス
ペシャルI/Oシステムコールを遂行するスペシャルI
/Oサービスルーチン手段とを含むことを特徴とする。
【0018】
【発明の実施の形態】以下、添付した図面を参照しなが
ら本発明をより詳しく説明する。図1には本発明による
マイクロスケジューリング方法が具現された運営体制カ
ーネルの構造をブロック図で示した。図1を参照する
と、本発明によるマイクロスケジューリング方法が具現
された運営体制カーネル12はエンタープライズQoS
(E−QoS)リソースマネジャー120、可用性テス
ト部122、アドミッション制御及びリソース予約部1
24、CPUバウンドパフォーマンス測定部126、及
びIOバウンドパフォーマンス測定部128を備える。
また、運営体制カーネル12はポリシー記述表130、
リソース予約プロトコル遂行部132、カーネルスケジ
ューラ134、スペシャルI/Oスケジューラ136、
スペシャルI/Oサービスルーチン138を備える。
【0019】動作を説明すれば、エンタープライズQo
S(E−QoS)リソースマネジャー120はリソース
予約及びポリシー(policy)によるリソース割り
当てのためにI/OバウンドJOB及びCPUバウンド
JOBに対するパフォーマンス測定を遂行して、ユーザ
ーが予め設定したポリシーによってパフォーマンスパラ
メータを適切に調整するためのJOBアドミッション制
御を遂行する。
【0020】また、示したようにエンタープライズQo
S(E−QoS)リソースマネジャー120は可用性テ
ストを遂行する可用性テスト部122、アドミッション
制御及びリソース予約を遂行するアドミッション制御及
びリソース予約部、CPUバウンドパフォーマンスに対
する測定を遂行するCPUバウンドパフォーマンス測定
部126、IOバウンドパフォーマンスに対する測定を
遂行するIOバウンドパフォーマンス測定部128と連
動されてリソースマネージングを遂行することと細分化
される場合もある。また、ポリシー記述表130には各
アプリケーション10別システムリソースのデフォルト
範囲及び最大範囲が貯蔵されている。すなわち、前記エ
ンタープライズQoS(E−QoS)リソースマネジャ
ー120はアプリケーション10で予測したパフォーマ
ンスパラメータとアプリケーション10クラスに従う優
先順位及びポリシー記述表からユーザーが設定したリソ
ース割り当てを基礎とするエンタープライズQoS(E
−QoS)モデリングによってリソースマネージングを
遂行する。
【0021】スペシャルI/Oスケジューラ136は前
記パフォーマンス測定とJOBアドミッション制御を基
礎に、マルチメディアアプリケーションの特性上ユーザ
ー空間へのデータ移動が要らないデータに対して周期的
に入出力JOBを遂行するようにスケジューリングす
る。スペシャルI/Oサービスルーチン138は前記ス
ペシャルI/Oスケジューリング手段により決定された
優先順位によってスペシャルI/Oシステムコールを遂
行する。スペシャルI/Oサービスを遂行するシステム
コールはマルチメディアアプリケーションの特性上ユー
ザー空間へのデータ移動が要らない入出力動作を担当す
る。このような入出力動作は、例えば、DVDプレーヤ
ーでエンコーディングされているMPEGストリームを
ネットワークに発送するアプリケーションで現れる場合
がある。この場合、アプリケーションは作業の開始と終
了を担当して、中間にはモニターリングのみを遂行す
る。
【0022】一般に、I/O JOBは次のような4種
のクラスに区分される。 1)I/Oサービスクラス1:ユーザー空間から装置に
データを移動させる。例えば、メモリ上のユーザーデー
タをコピーインしてディスクに貯蔵したりネットワーク
に伝送する場合がこれに該当する。 2)I/Oサービスクラス2:ユーザー空間からユーザ
ー空間にデータを移動させる。例えば、TCP(Tra
nsmission Control Protoco
l)/IP(Internet Protocol)プ
ロトコルによってローカルホストにデータを送る場合と
リップシンク(lip sync)のようなマルチメデ
ィアアプリケーション間でI/Oメカニズムを用いてデ
ータをやり取りする場合とがこれに該当する。
【0023】3)I/Oサービスクラス3:装置からユ
ーザー空間にデータをやり取りする。例えば、ネットワ
ークから受信されたメッセージやディスクから読んだデ
ータをアプリケーションのデータ領域にコピーアウトす
る場合がこれに該当する。 4)I/Oサービスクラス4:装置から装置にデータを
移動させる。例えば、CD−ROMのような貯蔵媒体に
ファイル形態に貯蔵されているデータをネットワークを
通して伝送したりネットワークファイルシステムに遠隔
システムがデータをアクセスする場合がこれに該当す
る。
【0024】ここで、I/Oサービスクラス4がマルチ
メディアアプリケーションに現れる場合があるスペシャ
ルI/Oに該当する。スペシャルI/O(SIO)は次
のような3種のクラスに区分される。 1)SIOクラス1:ディスクファイルからネットワー
クにまたはネットワークからディスクファイルに入出力
を遂行する。例えば、VOD、ウェブダウンロード、F
TPなどがこれに該当する。 2)SIOクラス2:I/Oからネットワークにまたは
ネットワークからI/Oに入出力を遂行する。例えば、
VoIP(Voice over Internet P
rotocol)、画像会議(video confe
rencing)等がこれに該当する。 3)SIOクラス3:アプリケーションから/に入出力
を遂行する。またはスレッドからスレッドにまたはルー
プバック形態に入出力を遂行する。例えば、リップシン
クがこれに該当する。
【0025】図2にはSIOクラス1の構成例を示し
た。図2を参照すると、SIOクラス1の場合には、ま
ず、ファイルバッファを割り当てる。次には、ファイル
バッファから任意のXバイトを読み取る。プロトコルデ
ータユニット(PDU)側ではファイルバッファが空い
ているかをチェックして、その結果がファイルバッファ
が空いていることとチェックされればフォーク(for
k)を遂行してディスク装置をウェークアップ(wak
e−up)して前記ディスク装置からデータを読んでそ
の結果をHQに貯蔵する。もしも、ファイルバッファが
空いていないとチェックされればHQに貯蔵されている
データを伝送して、ディスクをスリープ(sleep)
状態に維持させる。データはユーザーデータプロトコル
(userdata protocol:UDP)によ
ってネットワーク装置に発送し、発送されたデータはネ
ットワーク装置側のバッファに貯蔵される。ネットワー
ク装置のバッファに貯蔵されたUDPデータは媒体アク
セス制御によってネットワーク装置に伝送される。ここ
で、スペシャルI/O(SIO)システムコールは点線
で示したように、ファイルバッファ割り当てでディスク
読出し及びスリープ状態/ウェークアップ状態維持まで
を関与する。
【0026】図3にはSIOクラス2の構成例を示し
た。図3を参照すると、SIOクラス2の場合にはま
ず、外部音声がマイクに入力されて電気的な音声信号に
変換される。変換された音声信号はハードウェアボコー
ダに入力されてデジタル音声データに変換される。デジ
タル音声データはバッファに貯蔵されてからパケット化
される。パケット化されたデータはHQに貯蔵される。
次に、リアルタイム伝送プロトコル(real−tim
e transport protocol:以下RTP
と称する)/ユーザーデータプロトコル(以下UDPと
称する)によってパケット化されたデータがネットワー
ク装置に発送される。RTP/UDPによって発送され
たデータはネットワーク装置のバッファに貯蔵される。
ネットワーク装置のバッファに貯蔵されたデータは媒体
アクセス制御によってネットワーク装置に伝送される。
ここで、スペシャルI/O(SIO)システムコールは
点線で示したようにバッファへの貯蔵からRTP/UD
P発送まで関与する。
【0027】図4にはSIOクラス3の構成例を示し
た。図4を参照すると、SIOクラス3の場合にはま
ず、マイクを通して入力された外部音声は電気的な音声
信号に変換される。変換された電気的な音声信号はデジ
タル音声データに変換されてバッファに貯蔵される。バ
ッファに貯蔵された音声データはソフトウェアボコーダ
に入力される。ソフトウェアボコーダは音声データをパ
ケット化してHQに貯蔵する。以後の動作は図3を参照
して説明したことと同一である。
【0028】一方、エンタープライズQoS(E−Qo
S)リソースマネジャー120は一定な類型のJOBに
対するパフォーマンス測定とユーザーが予め設定したポ
リシー(policy)によってJOBアドミッション
制御を遂行する。パフォーマンス測定は12.5マイク
ロ秒を一つのPU(performance uni
t:パフォーマンスユニット)にする。すなわち、ある
アプリケーションが遂行される時間をいくつのPUを必
要としているかを計算して決定する。
【0029】大部分のペンティアム(登録商標)級シス
テムではフォーク(fork)や実行動作(exec)
を除いて大部分のシステムコールが数マイクロ秒から数
十マイクロ秒以内に遂行されて、通信ネットワークにお
ける基本フレーム単位が12.5マイクロ秒であるか
ら、PUは12.5マイクロ秒であることが望ましい。
また、PUを12.5マイクロ秒に設定すれば、今後マ
ルチメディアアプリケーションに対するパフォーマンス
測定及びベンチマーキングに容易に適用できるという長
所がある。このような場合、可用パフォーマンスとして
640ミリ秒は51、200PUに該当する。しかし、
PU設定は12.5マイクロ秒に限らずシステムの性能
によって可変できる。
【0030】また、例えば、システムやネットワークで
MPEGストリームを処理する場合、秒当たり30ない
し60フレームが伝送されるべきで、G.723標準に
よって音声通話を遂行する場合には30ミリ秒単位に音
声パケットが伝送されるべきである。この場合、CPU
が処理可能なMIPS値よりはメモリコピー(cop
y)の性能と深い関係があるシステムバスの速度、通信
プロトコル、I/Oバッファ大きさなどがシステムの性
能を左右する。
【0031】すなわち、一般的なマルチメディアシステ
ムでタイムインターバル(timeinterval)
はQoSパラメータにおいて最も重要な属性であるか
ら、本実施の形態でシステムの性能をMIPS単位では
なくてタイムインターバルを用いて、また、このような
タイムインターバルをスケジューリングの基準として用
いるために効率的にマルチメディアデータを処理でき
る。しかし、MPEGデコーディングのようなCPUバ
ウンドJOBの場合にはCPUのMIPSが重要な尺度
になる。すなわち、アプリケーションのクラスによって
パフォーマンス測定の単位が変わる場合がある。
【0032】したがって、各アプリケーションに対する
パフォーマンス測定はアプリケーションのクラスによっ
てテストプログラムに基本的な数値を定めた次に、実際
運用環境で測定値を補正する。 1)任務重大性作業はテビット−クレジット(debi
t−credit)のようなアプリケーション特性に合
うベンチマークプログラムを用いてどの程度のトランザ
クションを処理できるかを測定する。システムで処理し
なければならない最小及び最大トランザクションの数を
決定するべきで、もしも、このような作業のみを遂行す
ることにもシステムの性能が足りないと決定されればよ
り良い性能のシステムを用いるようにユーザーに表示し
なければならない。
【0033】2)リソース予約を必要とするハイメディ
アアプリケーションとG.723、及びH.263など
の標準に従う対話形メディアアプリケーションはスケジ
ューリング周期等のようなQoSパラメータと、繰り返
される重要ルーチンに対する情報をユーザーが明示した
次に、秒当たりエンコーディングまたはデコーディング
遂行時間を測定する。 3)その他リアルタイム処理を要しないアプリケーショ
ンはパフォーマンス測定を遂行しないことによってパフ
ォーマンス測定によって生じる場合があるオーバヘッド
を減らす。しかし、アプリケーションはシステムのパフ
ォーマンスに対する情報を入手して対応することが可能
で、ユーザーに予測応答時間を知らせることが望まし
い。
【0034】一方、ポリシー設定はシステムのリソース
に対して4種のアプリケーションのデフォルト及び最大
範囲を決定する。次には新しいアプリケーションが遂行
される前に前記デフォルト及び最大範囲を基礎にQoS
パラメータ交換を遂行した次に、アドミッション制御を
遂行する。ポリシー設定は例えば次のように遂行するこ
とができる。
【0035】1)全体システムに対して各クラスのアプ
リケーションが確保して用いることができるCPU時間
の最小値を決定する。全体システムのPU(PU_sy
s)=51、200PUでI/O JOBに対するリソ
ース分配を20、000PUとして、残りはユーザープ
ロセスのCPUバウンドJOBを遂行させようとする場
合、I/O JOBクラス1、2、3、及び4に対して
各々20%、10%、10%、10%に最小リソースを
割り当てるならば、各アプリケーションに対する最小リ
ソースは、 PUc1_def(クラス1のアプリケーションに対す
るデフォルトPU)=4、000PU PUc2_def(クラス2のアプリケーションに対す
るデフォルトPU)=2、000PU PUc3_def(クラス3のアプリケーションに対す
るデフォルトPU)=2、000PU PUc4_def(クラス4のアプリケーションに対す
るデフォルトPU)=2、000PUのように割り当て
られる。
【0036】2)次には、アプリケーションの使用パタ
ーンによって残りリソースを割り当てる。全体20、0
00PUから10、000PUをデフォルトに割り当て
たので、残った可用リソースは10、000PUであ
る。この残りリソースは4個のアプリケーションクラス
が共有できるリソースである。もしも、クラス1のアプ
リケーションの使用パターンで最大使用値を大きくし、
クラス3は定まった値以上を超過できないようにしよう
とするならば、付加的なリソースは、 PUc1_add(クラス1のアプリケーションに対す
る付加PU)=7、500PU PUc2_add(クラス2のアプリケーションに対す
る付加PU)=2、500PU PUc3_add(クラス3のアプリケーションに対す
る付加PU)=0PU PUc4_add(クラス4のアプリケーションに対す
る付加PU)=7、500PUのように配分されること
ができる。
【0037】したがって、各々のアプリケーションクラ
スは、 PUc1=<PUc1_def、PUc1_max>=
<4、000、11、500>PU PUc2=<PUc2_def、PUc2_max>=
<2、000、4、500>PU PUc3=<PUc3_def、PUc3_max>=
<2、000、2、000>PU PUc4=<PUc4_def、PUc4_max>=
<2、000、9、500>PUのような範囲のCPU
リソースを割り当てられるようになる。
【0038】エンタープライズQoS(E−QoS)モ
デリングは与えられたアプリケーションに対して測定さ
れたパフォーマンスパラメータとアプリケーションクラ
スとに従う優先順位及びポリシー管理者でユーザーが設
定したリソース割り当てを基礎として次のように遂行さ
れる。ここで、スケジューリングに用いられるタスクQ
はクラス1のアプリケーションに関連したMQ、クラス
2及び3のアプリケーションに関連したHQとクラス4
のアプリケーションに関連したLQの3種に区分され
る。
【0039】まず、アプリケーションのクラスによるパ
フォーマンスパラメータを説明すると次の通りである。
クラス2のアプリケーションの代表的な例としては音声
通信と画像会議がある。音声通信の場合、片方方向の処
理を見れば、二段階のタスクに区分できる。最初はI/
O装置で音声コーデックを通してデータを読んで、二回
目は通信プロトコルを用いて前記データをパケット形態
に30ミリ秒間隔に伝送することである。画像会議の場
合には各々ボコーダとビデオコーダーを通して入力され
たデータを、音声は30ミリ秒単位に映像は30ないし
150ミリ秒単位に伝送する。クラス3のアプリケーシ
ョンはシステムリソースをヘビー(heavy)に用い
るという点を除いてはクラス2のアプリケーションと同
一な性格を有する。クラス2とクラス3のアプリケーシ
ョンは一般に10ミリ秒単位のスケジューリングを要
し、このようなJOBが多い場合には既存のシステムで
はコンテキストオーバヘッド(context ove
rhead)によって効率的なシステムを設計できなか
った。
【0040】本発明によるE−QoSモデルではクラス
2とクラス3のアプリケーションは可能なかぎりスペシ
ャルI/Oから装置-装置に処理する。したがって、ユ
ーザー空間のコンテキストスイッチングが最少化され
る。また、このようにする場合にはJOBの遂行時間、
すなわち、PUの予測が容易である。また、本発明の実
施の形態によるとクラス2とクラス3のJOBはスケジ
ューリングにおいて最高の優先順位を有するHQを用い
る。HQはタイムインターバルを有することができる構
造を有して、スケジューラはこのタイムインターバルと
JOBの遂行時間にしたがってJOBを均等に配分す
る。
【0041】図5にはHQのJOBインターバル分布の
一例を示した。図5を参照すると、10ミリ秒では20
0PUがI/Oに割り当てられる。クラス2のアプリケ
ーションは<20、45>、クラス3のアプリケーショ
ンは<20、20>の範囲に該当するPUを配分する。
また、クラス1とクラス4のアプリケーションに対する
PUのデフォルト値を合せた60PUは予備に残してお
く。ここで、クラス2とクラス3の最大PUとクラス1
及びクラス4のデフォルトPU合算値が200を超過す
る場合には一部クラス2及びクラス3のJOBに対する
QoSを保障できなくなる。したがって、本発明の実施
の形態によると、アドミッション制御においてクラス2
とクラス3の最大PUとクラス1及びクラス4のデフォ
ルトPU合算値が200を超過する場合には適切に制御
する。
【0042】本発明の実施の形態によると、HQをJO
Bスケジューリングに必要なタイム周期の最大公約数
(greatestcommondevisor:以下
GCDと称する)を単位で構成する。10ミリ秒以下の
場合は10ミリ秒と見做すことが望ましい。また、毎G
CD周期ごとに該QにあるJOBを消尽される時まで順
次的に処理する。
【0043】図6にはHQの構成の一例を示した。図6
を参照すると、7個のクラス2及びクラス3のJOBが
HQに分布される。クラス1のアプリケーションのトラ
ンザクションはハードリアルタイムを要しないために定
まったPUを適切に配分して用いればよい。クラス1の
スケジューリングは環状伝送(RR:round ro
bin)を用いる。クラス4のアプリケーションは優先
順位が最も低く、クラス1と同一に環状伝送を用いてス
ケジューリングを遂行する。HQに貯蔵された作業を遂
行した次に、MQに貯蔵されたクラス1のJOBを遂行
して、LQに貯蔵されたクラス4のJOBを遂行する。
しかし、クラス1のアプリケーションは別途のQ、すな
わち、MQを有するが、HQでMQのデフォルト部分を
常に予備しているために一定なリソースに対しては優先
順位を保障できる。
【0044】I/O装置からネットワークにデータを移
動させる場合は2種の形態がある。一つはI/Oバッフ
ァからネットワークバッファにデータを移動させる場合
であり、他の一つはディスクからデータを読んでネット
ワークに伝送する場合である。I/Oバッファからネッ
トワークバッファにデータを伝送する場合は前述したS
IOクラス2に該当して、例えば、VoIP、画像会議
などがこれに該当する。VoIPアプリケーションでは
初期にTCPを用いてコール設定をして、次にマイク/
ボコーダ装置を通して入力されるパケットをTUP/U
DPを通してネットワークに伝送するようになる。この
際、実際データは毎30ミリ秒単位に30バイト程度の
データをネットワークに発送しなければならない。アプ
リケーションはスリープ(sleep)状態に入り込ん
で、RTPセッションのモニターリング事象発生時にこ
れの処理のみを遂行すればよい。したがって、カーネル
空間からユーザー空間にデータコピーインまたはコピー
アウトを要せず、これを遂行するためのVoIPユーザ
ープロセスをスケジューリングする必要もない。
【0045】このような本発明による方法によると、周
期的なスケジューリングが可能ながらもシステムのオー
バヘッドは劇的に省くことができる。ディスクからMP
EGストリームのようなファイルデータを読んでネット
ワークに伝送する場合はVODのようなアプリケーショ
ンやHTML文書からも見ることができる。このような
アプリケーションではファイルをオープンした後にデー
タをユーザー空間のバッファに読み取る。次にはUDP
データパケットを作ってネットワークに伝送する。
【0046】図7にはディスクIOを伴ったスペシャル
I/O JOBを一例として説明するための図面を示し
た。図7を参照すると、カーネル内にディスクリードを
伴うスペシャルI/O(SIO)システムコールを処理
する過程が示されている。MPEG2ストリームを秒当
たり30フレーム、500キロバイト/フレームに伝送
しなければならない場合にはスペシャルI/Oルーチン
は3個の事象によって処理される。まず、ファイルバッ
ファにデータがある場合には直ちにパケットを構成して
UDPデータとして伝送する。しかし、ファイルバッフ
ァに次に伝送するデータがない場合には直ちにディスク
から読み取るルーチンを呼び出す。ディスクI/Oは2
0ミリ秒程度所要されるのでディスクインタラプトが生
じればこれを応答してデータをファイルバッファに用い
る。
【0047】前記のような本発明による運営体制はエン
タープライズQoS(E−QoS)モデルでマイクロス
ケジューリングアルゴリズムを用いることによって任務
重大性アプリケーションと対話形マルチメディアまたは
MPEGビデオプレーのようなマルチメディアアプリケ
ーションをクラスで区分してクラス別にシステム及びネ
ットワークリソースを割り当てて調整することによって
専用サービス網でないイントラネット及びインターネッ
トでマルチメディアQoSを効率性良く支援できる。
【0048】前記のような本発明によるマイクロスケジ
ューリング方法はマルチメディアデータを処理する運営
体制が存在する全てのコンピュータと、ウェブサーバ
ー、マルチメディアサーバー等のようなサーバー(se
rver)と、ラウタ(router)のようなネット
ワーク装備、及びコンピュータスイッチング装備等の運
営体制に適用できる。
【0049】特に、前記のような本発明によるマイクロ
スケジューリングアルゴリズムはコンピュータプログラ
ムで作成することができる。前記プログラムはマルチメ
ディアアプリケーションを支援するための運営体制カー
ネル内に挿入されることによって運営体制カーネルとし
て具現できる。前記プログラムはコード及びコードセグ
メントを含んで本発明が属する技術分野のプログラマー
により容易に推論できる。そして、コンピュータで用い
られる媒体から前記プログラムを動作させる汎用ディジ
タルコンピューターで具現できる。このようなプログラ
ムはコンピュータで読むことができる記録媒体に貯蔵さ
れることができる。前記記録媒体はフロッピー(登録商
標)ディスクやハードディスクのような磁気記録媒体
と、CD−ROMやDVDのような光記録媒体を含む。
また、前記プログラムはインターネットのような搬送波
によって伝送できる。
【0050】
【発明の効果】上述したように本発明によるとマルチメ
ディアデータを処理する運営体制が存在する全てのコン
ピュータと、ウェブサーバー、マルチメディアサーバー
等のようなサーバーと、ラウタのようなネットワーク装
備、及びコンピュータスイッチング装備等の運営体制に
システムコールを追加的に用いることによってマルチメ
ディアQoSを効率性良く支援できる。
【図面の簡単な説明】
【図1】 本発明によるマイクロスケジューリング方法
が具現された運営体制カーネルの構造を示したブロック
図である。
【図2】 スペシャルIOクラス1の構成例を示した図
面である。
【図3】 スペシャルIOクラス2の構成例を示した図
面である。
【図4】 スペシャルIOクラス3の構成例を示した図
面である。
【図5】 ハイQ(HQ)のJOBインターバル分布の
一例を示した図面である。
【図6】 ハイQ(HQ)の構成の一例を示したブロッ
ク図である。
【図7】 ディスクIOを伴ったスペシャルI/O作業
(JOB)を説明するための図面である。
【符号の説明】
10:アプリケーション 12:運営体制カーネル 120:エンタープライズQoS(E−QoS)リソー
スマネジャー 122:可用性テスト部 124:アドミッション制御及びリソース予約部 126:CPUバウンドパフォーマンス測定部 128:IOバウンドパフォーマンス測定部 130:ポリシー記述表 132:リソース予約プロトコル遂行部 134:カーネルスケジューラ 136:スペシャルI/Oスケジューラ 138:スペシャルI/Oサービスルーチン

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】 マルチメディアアプリケーションを支援
    するための運営体制カーネルで具現されるスケジューリ
    ング方法において、 (a)与えられたアプリケーションに対して入出力バウ
    ンド作業パフォーマンス及びCPUバウンド作業パフォ
    ーマンスを測定することによってパフォーマンスパラメ
    ータを求める段階と、 (b)システム管理者が作業アドミッション制御を遂行
    することによって予め設定したポリシーによってパフォ
    ーマンスパラメータを適切に調整する段階と、 (c)前記パフォーマンス測定と作業アドミッション制
    御を基礎に、マルチメディアアプリケーションの特性上
    ユーザー空間へのデータ移動が要らないデータに対して
    周期的に入出力作業を遂行するようにスケジューリング
    して、アプリケーションクラスに対する処理の優先順位
    を決定する段階と、 (d)前記(c)段階により決定された優先順位によっ
    てスペシャルI/Oシステムコールを遂行する段階とを
    含むことを特徴とするマイクロスケジューリング方法。
  2. 【請求項2】 前記(a)段階は、アプリケーションの
    クラスに適合したテストプログラムを用いて与えられた
    アプリケーションに対して入出力バウンド作業パフォー
    マンス及びCPUバウンド作業パフォーマンスを測定す
    ることによってパフォーマンスパラメータを求めること
    を特徴とする請求項1に記載のマイクロスケジューリン
    グ方法。
  3. 【請求項3】 前記(b)段階は、 前記(a)段階で求めたパフォーマンスパラメータとア
    プリケーションクラスとに対する処理の優先順位及びポ
    リシー記述表からシステム管理者が設定したリソース割
    り当てを基礎とするエンタープライズサービス品質モデ
    リングにより遂行されることを特徴とする請求項1に記
    載のマイクロスケジューリング方法。
  4. 【請求項4】 可用性テストを遂行する段階と、 アドミッション制御及びリソース予約を遂行する段階
    と、 システムリソースに対して各アプリケーション別デフォ
    ルト及び最大範囲を決定するためのポリシーを記述する
    段階と、 CPUバウンドパフォーマンスに対する測定を遂行する
    段階と、 入出力バウンドパフォーマンスに対する測定を遂行する
    段階をさらに含むことを特徴とする請求項1に記載のマ
    イクロスケジューリング方法。
  5. 【請求項5】 前記スペシャルI/Oシステムコール
    は、 ユーザー空間から装置にデータを移動させる入出力サー
    ビスクラス1、ユーザー空間からユーザー空間にデータ
    を移動させる入出力サービスクラス2、ユーザー空間に
    データをやり取りする入出力サービスクラス3、及び装
    置から装置にデータを移動させる入出力サービスクラス
    4の4種のクラスに区分される入出力作業において、 マルチメディアアプリケーションに現れる場合がある入
    出力サービスクラス4をスペシャルI/Oに該当する作
    業であると決定して、アプリケーションで遂行する作業
    がスペシャルI/Oに該当する場合に前記スペシャルI
    /Oスケジューリング手段により配分されたリソースに
    よって周期的な入出力を担当することを特徴とする請求
    項1ないし4のうちいずれか一に記載のマイクロスケジ
    ューリング方法。
  6. 【請求項6】 前記スペシャルIOは、 ディスクファイルからネットワークにまたはネットワー
    クからディスクファイルに入出力を遂行するスペシャル
    IOクラス1、入出力部からネットワークにまたはネッ
    トワークから入出力部に入出力を遂行するスペシャルI
    Oクラス2、及びアプリケーションから/に入出力を遂
    行したりスレッドからスレッドにまたはループバック形
    態で入出力を遂行するスペシャルIOクラス3の3種の
    クラスに区分されることを特徴とする請求項5に記載の
    マイクロスケジューリング方法。
  7. 【請求項7】 前記(c)段階でスケジューリングに用
    いられるタスクQは、 スペシャルIOクラス1のアプリケーションに関連した
    ミディアムQ、スペシャルIOクラス2及び3のアプリ
    ケーションに関連したハイQとスペシャルIOクラス4
    のアプリケーションに関連したローQの3種に区分され
    ることを特徴とする請求項6に記載のマイクロスケジュ
    ーリング方法。
  8. 【請求項8】 前記(c)段階は、 前記スペシャルIOクラス2とスペシャルIOクラス3
    のJOBの場合にスケジューリングにおいて最高の優先
    順位を有するハイQを用いることを特徴とする請求項7
    に記載のマイクロスケジューリング方法。
  9. 【請求項9】 前記スペシャルIOクラス2とスペシャ
    ルIOクラス3の作業の場合に可能なかぎりスペシャル
    入出力部から装置-装置に処理することを特徴とする請
    求項7に記載のマイクロスケジューリング方法。
  10. 【請求項10】 前記ポリシー記述表は、 システムのリソースに対して4種のアプリケーションの
    デフォルトリソース及び最大リソースの範囲をポリシー
    として記述することを特徴とする請求項2に記載のマイ
    クロスケジューリング方法。
  11. 【請求項11】 前記ポリシー記述表は、 入出力作業クラス1、2、3、及び4に対して各クラス
    のアプリケーションが確保して用いることができるCP
    U時間の最小値を所定の割合で最小リソースを割り当て
    ることによって各アプリケーションに対するデフォルト
    リソースを割り当てる段階と、 アプリケーションの使用パターンによって4個のアプリ
    ケーションクラスが共有できる残りリソースを割り当て
    る段階と、 各々のアプリケーションクラスに対して一定な範囲のC
    PUリソースを割り当てる段階とを含む方法により設定
    されたポリシーを含むことを特徴とする請求項10に記
    載のマイクロスケジューリング方法。
  12. 【請求項12】 新しいアプリケーションが遂行される
    前に前記デフォルトリソース及び最大リソースの範囲を
    用いてサービス品質パラメータ交換とアドミッション制
    御とを遂行することを特徴とする請求項11に記載のマ
    イクロスケジューリング方法。
  13. 【請求項13】 スペシャルIOクラス1の場合、 (a−1)ファイルバッファを割り当てる段階と、 (b−1)Xを所定の正の整数とする時ファイルバッフ
    ァからXバイトを読み取る段階と、 (c−1)プロトコルデータユニットでファイルバッフ
    ァが空いているかをチェックする段階と、 (d−1)前記(c−1)段階でファイルバッファが空
    いているとチェックされればフォークを遂行してディス
    ク装置をウェークアップして前記ディスク装置からデー
    タを読み出す段階と、 (e−1)前記(d−1)段階の結果をハイQに貯蔵す
    る段階と、 (f−1)前記(c−1)段階でファイルバッファが空
    いていないとチェックされればハイQに貯蔵されている
    データを伝送して、ディスクをスリープ状態に維持させ
    る段階と、 (g−1)UDPデータをネットワーク装置に送る段階
    と、 (h−1)発送されたUDPデータをネットワーク装置
    側のバッファに貯蔵する段階と、 (i−1)ネットワーク装置のバッファに貯蔵されたU
    DPデータを媒体アクセス制御によってネットワーク装
    置に伝送する段階とを遂行して、 前記スペシャルI/Oシステムコールは(a−1)ない
    し(f−1)段階に関与することを特徴とする請求項6
    に記載のマイクロスケジューリング方法。
  14. 【請求項14】 スペシャルIOクラス2の場合、 (a−2)外部音声をマイクを通して入力する段階と、 (b−2)入力された外部音声を電気的な音声信号に変
    換する段階と、 (c−2)ハードウェアボコーダから変換された音声信
    号をデジタル音声データに変換する段階と、 (d−2)前記デジタル音声データをバッファに貯蔵す
    る段階と、 (e−2)バッファに貯蔵されたデジタル音声データを
    パケット化する段階と、 (f−2)パケット化されたデータをハイQに貯蔵する
    段階と、 (g−2)パケット伝送要求信号であるRTP/ユーザ
    ーデータパケットであるUDPデータをネットワーク装
    置に送る段階と、 (h−2)発送されたRTP/UDPデータをネットワ
    ーク装置のバッファに貯蔵する段階と、 (i−2)ネットワーク装置のバッファに貯蔵されたR
    TP/UDPデータを媒体アクセス制御によってネット
    ワーク装置に送る段階とを遂行して、 前記スペシャルI/Oシステムコールは(e−2)ない
    し(g−2)段階に関与することを特徴とする請求項6
    に記載のマイクロスケジューリング方法。
  15. 【請求項15】 前記パフォーマンス測定は、 (pm−a)各アプリケーションを複数のクラスに識別
    する段階と、 (pm−b)アプリケーションのクラスに適合したテス
    トプログラムを用いてパフォーマンスパラメータを測定
    する段階とを含んでなることを特徴とする請求項1に記
    載のマイクロスケジューリング方法。
  16. 【請求項16】 前記(pm−b)段階は、 (pm−b−1)任務重大性作業はアプリケーション特
    性に合うベンチマークプログラムを用いてどの程度のト
    ランザクションを処理できるかを測定してシステムで処
    理しなければならない最小及び最大トランザクションの
    数を決定する段階と、 (pm−b−2)リソース予約を必要とするハイメディ
    アアプリケーションとG.723、及びH.263など
    の標準に従う対話形メディアアプリケーションはスケジ
    ューリング周期等のようなサービス品質パラメータと、
    繰り返される重要ルーチンに対する情報をユーザーが明
    示した次に、秒当たりエンコーディングまたはデコーデ
    ィング遂行時間を測定する段階と、 (pm−b−3)その他リアルタイム処理を要しないア
    プリケーションはパフォーマンス測定を省略する段階と
    を含むことを特徴とする請求項15に記載のマイクロス
    ケジューリング方法。
  17. 【請求項17】 前記(pm−b)段階は、 (pm−b−1−na)もしも前記(pm−b−1)段
    階で任務重大性作業のみを遂行することにもシステムの
    性能が足りないと決定されればより良い性能のシステム
    を用いるようにユーザーに表示する段階をさらに含むこ
    とを特徴とする請求項16に記載のマイクロスケジュー
    リング方法。
  18. 【請求項18】 マルチメディアアプリケーションを支
    援するための運営体制カーネルにおいて、 与えられたアプリケーションに対して入出力バウンド作
    業パフォーマンス及びCPUバウンド作業パフォーマン
    スを測定することによってパフォーマンスパラメータを
    求めて、ユーザーが予め設定したポリシーによってパフ
    ォーマンスパラメータを適切に調整するための作業アド
    ミッション制御を遂行するエンタープライズQoSリソ
    ースマネージング手段と、 前記パフォーマンス測定と作業アドミッション制御を基
    礎に、マルチメディアアプリケーションの特性上ユーザ
    ー空間へのデータ移動が要らないデータに対して周期的
    に入出力作業を遂行するようにスケジューリングするス
    ペシャルI/Oスケジューリング手段と、 前記スペシャルI/Oスケジューリング手段により決定
    された優先順位によってスペシャルI/Oシステムコー
    ルを遂行するスペシャルI/Oサービスルーチン手段と
    を含むことを特徴とする運営体制カーネル。
  19. 【請求項19】 前記エンタープライズQoSリソース
    マネージング手段は、 与えられたアプリケーションに対して測定されたパフォ
    ーマンスパラメータとアプリケーションクラスとに従う
    優先順位及びポリシー記述表からユーザーが設定したリ
    ソース割り当てを基礎とするエンタープライズQoSモ
    デリングによりリソースマネージングを遂行することを
    特徴とする請求項18に記載の運営体制カーネル。
  20. 【請求項20】 前記各クラスのアプリケーションに対
    するパフォーマンス測定は、 アプリケーションのクラスに適合したテストプログラム
    を用いることを特徴とする請求項18に記載の運営体制
    カーネル。
  21. 【請求項21】 可用性テストを遂行する可用性テスト
    手段と、 アドミッション制御及びリソース予約を遂行するアドミ
    ッション制御及びリソース予約手段と、 システムリソースに対して各アプリケーション別デフォ
    ルト及び最大範囲を決定するためのポリシー記述表と、 CPUバウンドパフォーマンスに対する測定を遂行する
    CPUバウンドパフォーマンス測定手段と、 入出力バウンドパフォーマンスに対する測定を遂行する
    IOバウンドパフォーマンス測定手段をさらに含むこと
    を特徴とする請求項18に記載の運営体制カーネル。
  22. 【請求項22】 前記スペシャルI/Oシステムコール
    は、 ユーザー空間から装置にデータを移動させるI/Oサー
    ビスクラス1、ユーザー空間からユーザー空間にデータ
    を移動させるI/Oサービスクラス2、ユーザー空間に
    データをやり取りするI/Oサービスクラス3、及び装
    置から装置にデータを移動させるI/Oサービスクラス
    4の4種のクラスに区分されるI/O作業で、 マルチメディアアプリケーションに現れる場合のあるI
    /Oサービスクラス4をスペシャルI/Oに該当するJ
    OBであると決定して、アプリケーションで遂行するJ
    OBがスペシャルI/Oに該当する場合に前記スペシャ
    ルI/Oスケジューリング手段により配分されたリソー
    スによって周期的な入出力を担当することを特徴とする
    請求項18ないし21のうちいずれか一に記載の運営体
    制カーネル。
  23. 【請求項23】 前記スペシャルI/Oは、 ディスクファイルからネットワークにまたはネットワー
    クからディスクファイルに入出力を遂行するスペシャル
    IOクラス1、I/Oからネットワークにまたはネット
    ワークからI/Oに入出力を遂行するスペシャルIOク
    ラス2、及びアプリケーションから/に入出力を遂行し
    たりスレッドからスレッドにまたはループバック形態で
    入出力を遂行するスペシャルIOクラス3の3種のクラ
    スに区分されることを特徴とする請求項22に記載の運
    営体制カーネル。
  24. 【請求項24】 前記スペシャルI/Oスケジューリン
    グ手段でスケジューリングに用いられるタスクQは、 スペシャルIOクラス1のアプリケーションに関連した
    ミディアムQ、スペシャルIOクラス2及び3のアプリ
    ケーションに関連したハイQとスペシャルIOクラス4
    のアプリケーションに関連したローQの3種に区分され
    ることを特徴とする請求項23に記載の運営体制カーネ
    ル。
  25. 【請求項25】 前記スペシャルI/Oスケジューリン
    グ手段は、 前記スペシャルIOクラス2とスペシャルIOクラス3
    のJOBの場合にスケジューリングにおいて最高の優先
    順位を有するハイQを用いることを特徴とする請求項2
    4に記載の運営体制カーネル。
  26. 【請求項26】 前記スペシャルIOクラス2とスペシ
    ャルIOクラス3の作業の場合に可能なかぎりスペシャ
    ルI/O部から装置-装置に処理することを特徴とする
    請求項25に記載の運営体制カーネル。
  27. 【請求項27】 前記ポリシー記述表は、 システムのリソースに対して4種のアプリケーションの
    デフォルトリソース及び最大リソースの範囲をポリシー
    として記述することを特徴とする請求項19に記載の運
    営体制カーネル。
  28. 【請求項28】 前記ポリシー記述表は、 I/O JOBクラス1、2、3、及び4に対して各ク
    ラスのアプリケーションが確保して用いることができる
    CPU時間の最小値を所定の割合で最小リソースを割り
    当てることによって各アプリケーションに対するデフォ
    ルトリソースを割り当てる段階と、 アプリケーションの使用パターンにより4個のアプリケ
    ーションクラスが共有できる残りリソースを割り当てる
    段階と、 各々のアプリケーションクラスに対して一定な範囲のC
    PUリソースを割り当てる段階とを含む方法により設定
    されたポリシーを含むことを特徴とする請求項27に記
    載の運営体制カーネル。
  29. 【請求項29】 新しいアプリケーションが遂行される
    前に前記デフォルトリソース及び最大リソースの範囲を
    用いてサービス品質パラメータ交換とアドミッション制
    御とを遂行することを特徴とする請求項28に記載の運
    営体制カーネル。
  30. 【請求項30】 スペシャルIOクラス1の場合、 (a−1)ファイルバッファを割り当てる段階と、 (b−1)Xを所定の正の整数とする時ファイルバッフ
    ァからXバイトを読み取る段階と、 (c−1)プロトコルデータユニットによってファイル
    バッファが空いているかをチェックする段階と、 (d−1)前記(c−1)段階でファイルバッファが空
    いているとチェックされればフォークを遂行してディス
    ク装置をウェークアップして前記ディスク装置からデー
    タを読み出す段階と、 (e−1)前記(d−1)段階の結果をハイQに貯蔵す
    る段階と、 (f−1)前記(c−1)段階でファイルバッファが空
    いていないとチェックされればHQに貯蔵されているデ
    ータを伝送して、ディスクをスリープ状態に維持させる
    段階と、 (g−1)UDPデータをネットワーク装置に送る段階
    と、 (h−1)発送されたUDPデータをネットワーク装置
    側のバッファに貯蔵する段階と、 (i−1)ネットワーク装置のバッファに貯蔵されたU
    DPデータを媒体アクセス制御によってネットワーク装
    置に伝送する段階とを遂行して、 前記スペシャルI/Oシステムコールは(a−1)ない
    し(f−1)段階に関与することを特徴とする請求項2
    3に記載の運営体制カーネル。
  31. 【請求項31】 スペシャルIOクラス2の場合、 (a−2)外部音声をマイクを通して入力する段階と、 (b−2)入力された外部音声を電気的な音声信号に変
    換する段階と、 (c−2)ハードウェアボコーダから変換された音声信
    号をデジタル音声データに変換する段階と、 (d−2)前記デジタル音声データをバッファに貯蔵す
    る段階と、 (e−2)バッファに貯蔵されたデジタル音声データを
    パケット化する段階と、 (f−2)パケット化されたデータをハイQに貯蔵する
    段階と、 (g−2)パケット伝送要求信号であるRTP/ユーザ
    ーデータパケットであるUDPデータをネットワーク装
    置に送る段階と、 (h−2)発送されたRTP/ユーザーデータパケット
    であるUDPデータをネットワーク装置のバッファに貯
    蔵する段階と、 (i−2)ネットワーク装置のバッファに貯蔵されたR
    TP/ユーザーデータパケットであるUDPデータを媒
    体アクセス制御によってネットワーク装置に送る段階と
    を遂行して、 前記スペシャルI/Oシステムコールは(e−2)ない
    し(g−2)段階に関与することを特徴とする請求項2
    3に記載の運営体制カーネル。
  32. 【請求項32】 前記パフォーマンス測定は、 (pm−a)各アプリケーションを複数のクラスに識別
    する段階と、 (pm−b)アプリケーションのクラスに適合したテス
    トプログラムを用いてパフォーマンスを測定する段階と
    を含んでなることを特徴とする請求項18に記載の運営
    体制カーネル。
  33. 【請求項33】 前記(pm−b)段階は、 (pm−b−1)任務重大性作業はアプリケーション特
    性に合うベンチマークプログラムを用いてどの程度のト
    ランザクションを処理できるかを測定してシステムで処
    理しなければならない最小及び最大トランザクションの
    数を決定する段階と、 (pm−b−2)リソース予約を必要とするハイメディ
    アアプリケーションとG.723、及びH.263など
    の標準に従う対話形メディアアプリケーションはスケジ
    ューリング周期のようなサービス品質パラメータと、繰
    り返される重要ルーチンに対する情報をユーザーが明示
    した次に、 秒当たりエンコーディングまたはデコーデ
    ィング遂行時間を測定する段階と、 (pm−b−3)その他リアルタイム処理を要しないア
    プリケーションはパフォーマンス測定を省略する段階と
    を含むことを特徴とする請求項32に記載の運営体制カ
    ーネル。
  34. 【請求項34】 前記(pm−b)段階は、 (pm−b−1−na)もしも前記(pm−b−1)段
    階で任務重大性作業のみを遂行することにもシステムの
    性能が足りないと決定されれば、より良い性能のシステ
    ムを用いるようにユーザーに表示する段階をさらに含む
    ことを特徴とする請求項33に記載の運営体制カーネ
    ル。
JP2000067465A 1999-07-10 2000-03-10 マイクロスケジューリング方法及び運営体制カーネル Pending JP2001043094A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR199927887 1999-07-10
KR1019990027887A KR100727901B1 (ko) 1999-07-10 1999-07-10 마이크로 스케듈링 방법 및 운영체제 커널 장치

Publications (1)

Publication Number Publication Date
JP2001043094A true JP2001043094A (ja) 2001-02-16

Family

ID=19600876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000067465A Pending JP2001043094A (ja) 1999-07-10 2000-03-10 マイクロスケジューリング方法及び運営体制カーネル

Country Status (4)

Country Link
US (1) US6779181B1 (ja)
JP (1) JP2001043094A (ja)
KR (1) KR100727901B1 (ja)
CN (1) CN1198210C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589930B2 (en) 2002-03-22 2013-11-19 Toyota Jidosha Kabushiki Kaisha Determining whether to execute a new task by deleting task objects of existing tasks
CN105279019A (zh) * 2014-06-10 2016-01-27 中国移动通信集团公司 一种应用程序的调度方法、装置和终端设备
KR20170059465A (ko) * 2014-09-25 2017-05-30 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 애플리케이션들에 대한 네트워크 분류
CN107748682A (zh) * 2017-10-31 2018-03-02 广东欧珀移动通信有限公司 后台应用管控方法、装置、存储介质及电子设备

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60042965D1 (de) * 2000-05-24 2009-10-29 Sony Deutschland Gmbh Dienstqualitätsunterhandlung
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US7315892B2 (en) * 2001-06-27 2008-01-01 International Business Machines Corporation In-kernel content-aware service differentiation
KR100420268B1 (ko) * 2001-12-21 2004-03-02 한국전자통신연구원 스택을 이용한 커널 스케줄링 방법
US7996507B2 (en) * 2002-01-16 2011-08-09 International Business Machines Corporation Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US7085831B2 (en) * 2002-01-16 2006-08-01 International Business Machines Corporation Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US20040001510A1 (en) * 2002-07-01 2004-01-01 Hamilton Anthony G. Method and system for processing communications data
JP2006523354A (ja) * 2003-03-31 2006-10-12 アバヤ テクノロジー コーポレイション 周期的現象の効率的スケジューリング用システムおよび方法
KR100630052B1 (ko) * 2004-01-26 2006-09-27 삼성전자주식회사 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법
US7496653B2 (en) * 2005-01-31 2009-02-24 International Business Machines Corporation Method, system, and computer program product for providing quality of service guarantees for clients of application servers
KR100784385B1 (ko) * 2005-08-10 2007-12-11 삼성전자주식회사 공유 자원에 대한 접근 요청을 중재하는 시스템 및 방법
US20070196623A1 (en) * 2006-02-21 2007-08-23 Avery Dennison Corporation Laser or ink jet printable sheet assembly
US7962563B2 (en) * 2006-03-24 2011-06-14 International Business Machines Corporation System and method for managing storage system performance as a resource
US9588809B2 (en) 2006-10-10 2017-03-07 Invistasking LLC Resource-based scheduler
US20080271030A1 (en) * 2007-04-30 2008-10-30 Dan Herington Kernel-Based Workload Management
CN101039282B (zh) * 2007-05-14 2010-06-02 中兴通讯股份有限公司 一种对流入cpu系统的报文的流量管理方法
US7790531B2 (en) 2007-12-18 2010-09-07 Micron Technology, Inc. Methods for isolating portions of a loop of pitch-multiplied material and related structures
US8030218B2 (en) * 2008-03-21 2011-10-04 Micron Technology, Inc. Method for selectively modifying spacing between pitch multiplied structures
US9940181B2 (en) * 2008-07-14 2018-04-10 Nyotron Information Security Ltd. System and method for reacting to system calls made to a kernal of the system
US8566585B2 (en) * 2008-07-14 2013-10-22 Nyotron Information Security Ltd. System and a method for processing system calls in a computerized system that implements a kernel
US8347302B1 (en) 2008-10-09 2013-01-01 Amazon Technologies, Inc. System-aware resource scheduling
JP5245722B2 (ja) * 2008-10-29 2013-07-24 富士通株式会社 スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム
US8869160B2 (en) * 2009-12-24 2014-10-21 International Business Machines Corporation Goal oriented performance management of workload utilizing accelerators
KR101827369B1 (ko) * 2012-02-21 2018-02-09 한국전자통신연구원 데이터 스트림 분산 병렬 처리 서비스 관리 장치 및 방법
KR20140102478A (ko) * 2013-02-14 2014-08-22 한국전자통신연구원 워크플로우 작업 스케줄링 장치 및 그 방법
US9244939B2 (en) * 2013-06-27 2016-01-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Managing I/O operations in a shared file system
US9606833B2 (en) 2014-04-09 2017-03-28 Samsung Electronics Co., Ltd Method and apparatus for providing a preemptive task scheduling scheme in a real time operating system
CN104092626A (zh) * 2014-07-22 2014-10-08 太仓市同维电子有限公司 保障ip融合通信系统服务质量的方法
KR101955715B1 (ko) * 2016-04-01 2019-03-07 한국전자통신연구원 복수의 자가적응형 어플리케이션들을 포함하는 임베디드 시스템
US10146577B2 (en) 2016-12-11 2018-12-04 International Business Machines Corporation Enabling real-time CPU-bound in-kernel workloads to run infinite loops while keeping RCU grace periods finite

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0554615A2 (en) * 1991-11-22 1993-08-11 International Business Machines Corporation Scheduling apparatus for multimedia resources
JPH05265974A (ja) * 1992-03-17 1993-10-15 Hitachi Ltd 計算機資源配分方式
EP0762275A2 (en) * 1995-09-08 1997-03-12 AT&T IPM Corp. Dynamic hierarchical resource scheduling for continuous media
JPH10161986A (ja) * 1996-11-27 1998-06-19 Hitachi Ltd 資源情報通信方式および方法
JPH10289116A (ja) * 1997-03-28 1998-10-27 Internatl Business Mach Corp <Ibm> プロセッサ・リソース管理装置
EP0923248A2 (en) * 1997-12-01 1999-06-16 Matsushita Electric Industrial Co., Ltd. Multimedia server

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303369A (en) * 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
US5406476A (en) * 1991-04-11 1995-04-11 Sun Microsystems, Inc. Method and apparatus for resource constraint scheduling
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
JPH06337729A (ja) * 1993-05-27 1994-12-06 Fujitsu Ltd ネットワークサービスシステム
US5543822A (en) * 1993-05-28 1996-08-06 Helix Software Company, Inc. Method for increasing the video throughput in computer systems
IL116708A (en) * 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
DE69738832D1 (de) * 1996-03-28 2008-08-28 Hitachi Ltd Verfahren zum Planen von periodischen Prozessabläufen
US6279039B1 (en) * 1996-04-03 2001-08-21 Ncr Corporation Resource management method and apparatus for maximizing multimedia performance of open systems
US6263359B1 (en) * 1997-05-22 2001-07-17 International Business Machines Corporation Computer resource proportional utilization and response time scheduling
KR20000026428A (ko) * 1998-10-20 2000-05-15 전한얼 실시간 운영 시스템에서의 서비스 품질 관리 시스템 및 방법
US6470406B1 (en) * 1999-06-25 2002-10-22 International Business Machines Corporation Managing isochronous processes in a heterogenous work environment

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05303538A (ja) * 1991-11-22 1993-11-16 Internatl Business Mach Corp <Ibm> 分散マルチメディアリソースをスケジュリングする装置および方法
US5644715A (en) * 1991-11-22 1997-07-01 International Business Machines Corporation System for scheduling multimedia sessions among a plurality of endpoint systems wherein endpoint systems negotiate connection requests with modification parameters
EP0554615A2 (en) * 1991-11-22 1993-08-11 International Business Machines Corporation Scheduling apparatus for multimedia resources
JPH05265974A (ja) * 1992-03-17 1993-10-15 Hitachi Ltd 計算機資源配分方式
US6041354A (en) * 1995-09-08 2000-03-21 Lucent Technologies Inc. Dynamic hierarchical network resource scheduling for continuous media
EP0762275A2 (en) * 1995-09-08 1997-03-12 AT&T IPM Corp. Dynamic hierarchical resource scheduling for continuous media
JPH09152977A (ja) * 1995-09-08 1997-06-10 At & T Ipm Corp 連続媒体のための動的階層的資源スケジューリング
JPH10161986A (ja) * 1996-11-27 1998-06-19 Hitachi Ltd 資源情報通信方式および方法
JPH10289116A (ja) * 1997-03-28 1998-10-27 Internatl Business Mach Corp <Ibm> プロセッサ・リソース管理装置
US6654780B1 (en) * 1997-03-28 2003-11-25 International Business Machines Corporation System of managing processor resources in a non-dedicated computer system
EP0923248A2 (en) * 1997-12-01 1999-06-16 Matsushita Electric Industrial Co., Ltd. Multimedia server
JPH11161505A (ja) * 1997-12-01 1999-06-18 Matsushita Electric Ind Co Ltd メディア送出装置
US6301604B1 (en) * 1997-12-01 2001-10-09 Matsushita Electric Industrial Co., Ltd. Multimedia server

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589930B2 (en) 2002-03-22 2013-11-19 Toyota Jidosha Kabushiki Kaisha Determining whether to execute a new task by deleting task objects of existing tasks
CN105279019A (zh) * 2014-06-10 2016-01-27 中国移动通信集团公司 一种应用程序的调度方法、装置和终端设备
CN105279019B (zh) * 2014-06-10 2018-11-23 中国移动通信集团公司 一种应用程序的调度方法、装置和终端设备
KR20170059465A (ko) * 2014-09-25 2017-05-30 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 애플리케이션들에 대한 네트워크 분류
KR102358821B1 (ko) 2014-09-25 2022-02-07 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 애플리케이션들에 대한 네트워크 분류
CN107748682A (zh) * 2017-10-31 2018-03-02 广东欧珀移动通信有限公司 后台应用管控方法、装置、存储介质及电子设备
CN107748682B (zh) * 2017-10-31 2020-11-13 Oppo广东移动通信有限公司 后台应用管控方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
KR100727901B1 (ko) 2007-06-14
KR20010009501A (ko) 2001-02-05
CN1198210C (zh) 2005-04-20
CN1280335A (zh) 2001-01-17
US6779181B1 (en) 2004-08-17

Similar Documents

Publication Publication Date Title
JP2001043094A (ja) マイクロスケジューリング方法及び運営体制カーネル
US7773522B2 (en) Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
Wei et al. QoS-aware resource allocation for video transcoding in clouds
JP2592213B2 (ja) データ処理システム及び情報伝送方法
Nahrstedt et al. Resource management in networked multimedia systems
Tokuda et al. Continuous media communication with dynamic QOS control using ARTS with an FDDI network
US7325037B2 (en) Method and system for client-based adaptive networking system
Sojka et al. Modular software architecture for flexible reservation mechanisms on heterogeneous resources
Ramakrishnan et al. Operating system support for a video-on-demand file service
Nakajima et al. A continuous media application supporting dynamic QoS control on real-time mach
US9596063B2 (en) Dynamically allocating network resources for communication session
US8102865B2 (en) Group based allocation of network bandwidth
Li et al. OPTAS: Decentralized flow monitoring and scheduling for tiny tasks
Ramakrishnan et al. Operating system support for a video-on-demand file service
Guo et al. QoS aware job scheduling in a cluster-based web server for multimedia applications
Gopalakrishna et al. Efficient quality of service support in multimedia computer operating systems
CN111158782B (zh) 一种基于DPDK技术的Nginx配置热更新系统和方法
JPH10240548A (ja) タスクスケジューリング装置及び方法
Chou et al. System support for dynamic QOS control of continuous media communication
Shen et al. User Level Scheduling of Communicating Real-Time Tasks.
CN107329819A (zh) 一种作业管理方法及装置
Cardei et al. Hierarchical feedback adaptation for real time sensor-based distributed applications
Nahrstedt et al. An experimental investigation of issues in end-to-end QoS
JP2001022595A (ja) リアルタイム処理タスク制御装置及びそのプログラムを記録したコンピュータ読取り可能な記録媒体
Sreenan et al. Equus: A QoS Manager for Distributed Applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040831