JP6271123B2 - 運用体制で動的に先占区間を調整する装置及び方法 - Google Patents
運用体制で動的に先占区間を調整する装置及び方法 Download PDFInfo
- Publication number
- JP6271123B2 JP6271123B2 JP2012266608A JP2012266608A JP6271123B2 JP 6271123 B2 JP6271123 B2 JP 6271123B2 JP 2012266608 A JP2012266608 A JP 2012266608A JP 2012266608 A JP2012266608 A JP 2012266608A JP 6271123 B2 JP6271123 B2 JP 6271123B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- current
- preemptive
- preoccupation
- preemption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
Description
以下、実施形態によって、運用体制で動的に先占区間を調整する装置及び方法を説明するために、図面を参考にして詳しく説明する。
完全先占モードは、ヘルスケアモニタリングや運転者監視、カークラッシュアラーム(Car−crash alarm)などの処理効率よりもリアルタイム処理が非常に重要なアプリケーションが実行される環境で設定しうる。
Claims (22)
- システムのコンテキスト(System Context)の変更有無をモニタリングし、現在のシステムのコンテキストが変更されれば、その変更されたシステムのコンテキストによって、現在先占モードを設定して、カーネルの先占区間(Preemption Section)を動的に調整するプリエンプションマネージャー(Preemption Manager)を含み、さらに、
カーネルサービスルーチン(Kernel Service Routine)で、カーネルのカーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在スレッドの再スケジュールチェック如何を動的に変更するプリエンプションポイントマネージャー(Preemption Point Manager)を含む、
運用体制で動的に先占区間を調整する装置。 - 前記現在先占モードは、
システムのコンテキストのリアルタイム処理を要求する程度によって、細分化された非先占モード(Non Preemption Mode)、一般先占モード(General Preemption Mode)、及び完全先占モード(Fully Preemption Mode)のうちの何れか1つである、
請求項1に記載の装置。 - 前記各先占モードは、
システムのコンテキストのリアルタイム処理を要求する程度によって、細部的な先占レベルに区分され、
前記プリエンプションマネージャーは、
前記現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整する、
請求項2に記載の装置。 - 前記設定された現在先占モードによって、ISR(Interrupt Service Routine)の処理方法を動的に変更するインタラプトコンテキストマネージャー(Interrupt Context Manager)をさらに含む、
請求項1に記載の装置。 - 前記インタラプトコンテキストマネージャーは、
ハードウェアインタラプトが発生すれば、現在先占モードをチェックし、
前記インタラプトコンテキストマネージャーは、
前記現在先占モードが非先占モードであれば、インタラプトコンテキストモード(Interrup Context Mode)でISRを引き続き行わせ、非先占モードでなければ、インタラプトスレッドモード(Interrupt Thread Mode)でISRを行わせる、
請求項4に記載の装置。 - 前記プリエンプションポイントは、
現在先占モードが非先占モードではない場合、現在スレッドの再スケジュール有無をチェックするコードセクションを含み、
前記プリエンプションポイントマネージャーは、
現在先占モードによって、現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止または許容する、
請求項1に記載の装置。 - 前記プリエンプションポイントマネージャーは、
カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在先占モードが非先占モードであるか否かを決定し、その決定の結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止する設定を行い、現在先占モードが非先占モードでなければ、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容する設定を行う、
請求項6に記載の装置。 - カーネルがスピンロック(Spin Lock)を有したタスクを行う時、現在先占モードによって、動的にスピンロックまたはミューテックス(mutex)を使って、そのタスクを行わせるプリエンプティブロックマネージャー(Preemptive Lock Manager)をさらに含む、
請求項1に記載の装置。 - IPC(Inter−Process Communication)処理時、前記現在先占モードによって、IPCのタイムアウトを動的に調整し、システムコールが行われれば、現在先占モードによって、同期式または非同期式に前記システムコールを行わせるプリエンプティブIPC/SysCallマネージャーをさらに含む、
請求項1に記載の装置。 - 前記プリエンプティブIPC/SysCallマネージャーは、
現在先占モードが非先占モードであるか否かを決定し、その結果、現在先占モードが非先占モードであれば、そのシステムコールを非同期式に行わせ、現在先占モードが非先占モードでなければ、そのシステムコールを同期式に行わせる、
請求項9に記載の装置。 - 前記現在先占モードによって、リアルタイム処理が要求されるタスクが、TLB(Translation Lookaside Buffer)でフラッシュ(flush)されないように動的にTLBのロックダウン(Lockdown)を設定するプリエンプティブHWマネージャーをさらに含む、
請求項1に記載の装置。 - コンピュータによって、運用体制で動的に先占区間を調整する方法であって、
システムのコンテキストの変更有無をモニタリングする段階と、
現在システムのコンテキストが変更されれば、その変更されたシステムのコンテキストによって、現在先占モードを設定して、カーネルの先占区間を動的に調整する段階と、
を含み、さらに、
前記現在先占モードによって、カーネルサービスルーチンで、カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在スレッドの再スケジュールチェック如何を動的に変更する段階、
を含む、方法。 - 前記現在先占モードは、
システムのコンテキストのリアルタイム処理を要求する程度によって、細分化された非先占モード、一般先占モード、及び完全先占モードのうちの何れか1つである、
請求項12に記載の方法。 - 前記各先占モードは、
システムのコンテキストのリアルタイム処理を要求する程度によって、再び細部的な先占レベルに区分され、
前記カーネルの先占区間を動的に調整する段階は、
前記設定された現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整する、
請求項12に記載の方法。 - 前記設定された現在先占モードによって、ISRの処理方法を動的に変更する段階をさらに含む、
請求項12に記載の方法。 - 前記ISRの処理方法を変更する段階は、
ハードウェアインタラプトが発生すれば、前記設定された現在先占モードを確認する段階と、
前記確認の結果、現在先占モードが非先占モードであれば、インタラプトコンテキストモードでISRを引き続き行わせ、非先占モードでなければ、インタラプトスレッドモードでISRを行わせる段階と、
を含む、
請求項15に記載の方法。 - 前記プリエンプションポイントは、
プリエンプションポイントは、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションを含み、
前記現在スレッドの再スケジュールチェック如何を動的に変更する段階は、
現在先占モードによって、現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止または許容する段階を含む、
請求項12に記載の方法。 - 前記コードセクションの実行を防止または許容する段階は、
カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、
現在先占モードが非先占モードであるか否かを決定する段階と、
その決定の結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止する設定を行う段階と、
現在先占モードが非先占モードでなければ、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容する設定を行う段階と、
を含む、
請求項17に記載の方法。 - カーネルがスピンロックを有したタスクを行う時、前記現在先占モードによって、動的にスピンロックまたはミューテックスを使って、前記タスクを行わせる段階をさらに含む、
請求項12に記載の方法。 - IPC処理時、現在先占モードによって、動的にIPCのタイムアウトを調整する段階と、
システムコール(System Call)が行われれば、前記現在先占モードによって、そのシステムコールを同期式または非同期式に行わせる段階と、
をさらに含む、
請求項12に記載の方法。 - 前記システムコールを同期式または非同期式に行わせる段階は、
現在先占モードが非先占モードであるか否かを決定する段階と、
その結果、現在先占モードが非先占モードであれば、そのシステムコールを非同期式に行わせる段階と、
現在先占モードが非先占モードでなければ、そのシステムコールを同期式に行わせる段階と、
を含む、
請求項20に記載の方法。 - 前記設定された現在先占モードによって、リアルタイム処理が要求されるタスクが、TLBでフラッシュされないように動的にTLBのロックダウンを設定する段階をさらに含む、
請求項12に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110130407A KR20130063825A (ko) | 2011-12-07 | 2011-12-07 | 운영체제에서 동적으로 선점 구간을 조정하는 장치 및 방법 |
KR10-2011-0130407 | 2011-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013120602A JP2013120602A (ja) | 2013-06-17 |
JP6271123B2 true JP6271123B2 (ja) | 2018-01-31 |
Family
ID=47563007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012266608A Expired - Fee Related JP6271123B2 (ja) | 2011-12-07 | 2012-12-05 | 運用体制で動的に先占区間を調整する装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9424105B2 (ja) |
EP (1) | EP2602714A1 (ja) |
JP (1) | JP6271123B2 (ja) |
KR (1) | KR20130063825A (ja) |
CN (1) | CN103218258B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2568292C2 (ru) | 2013-12-27 | 2015-11-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия |
GB2532424B (en) | 2014-11-18 | 2016-10-26 | Ibm | An almost fair busy lock |
KR101639947B1 (ko) | 2015-04-14 | 2016-07-15 | 성균관대학교산학협력단 | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 |
CN105630875A (zh) * | 2015-12-17 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 文件修复方法及装置 |
US10338953B2 (en) * | 2016-03-18 | 2019-07-02 | Intel Corporation | Facilitating execution-aware hybrid preemption for execution of tasks in computing environments |
US10423464B2 (en) * | 2016-09-30 | 2019-09-24 | Hewlett Packard Enterprise Patent Development LP | Persistent ticket operation |
US10939382B2 (en) * | 2018-03-30 | 2021-03-02 | Comcast Cable Communications, Llc | Power control for wireless communications associated with preempted resources |
CN109582379B (zh) * | 2018-12-05 | 2022-03-11 | 北京和利时系统工程有限公司 | 基于微内核操作系统的可编程逻辑控制器系统、控制方法 |
US11556374B2 (en) | 2019-02-15 | 2023-01-17 | International Business Machines Corporation | Compiler-optimized context switching with compiler-inserted data table for in-use register identification at a preferred preemption point |
US11204767B2 (en) | 2020-01-06 | 2021-12-21 | International Business Machines Corporation | Context switching locations for compiler-assisted context switching |
CN112702275A (zh) * | 2020-12-29 | 2021-04-23 | 迈普通信技术股份有限公司 | 基于每包转发的方法、装置、网络设备及计算机存储介质 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5630128A (en) * | 1991-08-09 | 1997-05-13 | International Business Machines Corporation | Controlled scheduling of program threads in a multitasking operating system |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
JPH06250849A (ja) * | 1993-02-26 | 1994-09-09 | Fujitsu Ltd | タスクスケジューリング方式 |
US5428789A (en) * | 1993-08-27 | 1995-06-27 | Waldron, Iii; Theodore C. | Method and apparatus for optimizing user response time in a priority preemptive operating system |
US5528513A (en) * | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
US5835964A (en) * | 1996-04-29 | 1998-11-10 | Microsoft Corporation | Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map |
US5995745A (en) * | 1996-12-23 | 1999-11-30 | Yodaiken; Victor J. | Adding real-time support to general purpose operating systems |
US7451447B1 (en) * | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
US6457008B1 (en) | 1998-08-28 | 2002-09-24 | Oracle Corporation | Pluggable resource scheduling policies |
US7996843B2 (en) * | 1999-08-25 | 2011-08-09 | Qnx Software Systems Gmbh & Co. Kg | Symmetric multi-processor system |
US6332163B1 (en) * | 1999-09-01 | 2001-12-18 | Accenture, Llp | Method for providing communication services over a computer network system |
US7165134B1 (en) * | 2000-06-28 | 2007-01-16 | Intel Corporation | System for selectively generating real-time interrupts and selectively processing associated data when it has higher priority than currently executing non-real-time operation |
EP1182567B1 (en) * | 2000-08-21 | 2012-03-07 | Texas Instruments France | Software controlled cache configuration |
EP1213648A1 (en) | 2000-12-05 | 2002-06-12 | Infineon Technologies AG | Method for coordinating tasks in a GSM network |
US7072956B2 (en) | 2000-12-22 | 2006-07-04 | Microsoft Corporation | Methods and systems for context-aware policy determination and enforcement |
KR20030077696A (ko) | 2002-03-26 | 2003-10-04 | 주식회사 현대시스콤 | 실시간 운영체제에서 타스크 레벨 인터럽트 처리 방법 |
US7360216B2 (en) * | 2002-07-03 | 2008-04-15 | Nvidia Corporation | Method and system for real-time multitasking |
US20040088704A1 (en) * | 2002-10-30 | 2004-05-06 | Advanced Simulation Technology, Inc. | Method for running real-time tasks alongside a general purpose operating system |
CN1802635A (zh) | 2003-04-14 | 2006-07-12 | 皇家飞利浦电子股份有限公司 | 资源管理方法以及设备 |
US7721291B2 (en) * | 2004-10-15 | 2010-05-18 | International Business Machines Corporation | Apparatus, system, and method for automatically minimizing real-time task latency and maximizing non-real time task throughput |
US20060168214A1 (en) * | 2004-10-29 | 2006-07-27 | International Business Machines Corporation | System for managing logical partition preemption |
US8387052B2 (en) * | 2005-03-14 | 2013-02-26 | Qnx Software Systems Limited | Adaptive partitioning for operating system |
CA2538503C (en) | 2005-03-14 | 2014-05-13 | Attilla Danko | Process scheduler employing adaptive partitioning of process threads |
US8255912B2 (en) * | 2005-04-13 | 2012-08-28 | Qualcomm Incorporated | Techniques for setting events in a multi-threaded system |
US7844970B2 (en) * | 2006-08-22 | 2010-11-30 | International Business Machines Corporation | Method and apparatus to control priority preemption of tasks |
JP2008108075A (ja) * | 2006-10-25 | 2008-05-08 | Matsushita Electric Ind Co Ltd | タスク切替え制御方法及びコンピュータシステム |
KR20080097819A (ko) | 2007-05-03 | 2008-11-06 | 김인철 | 동적 환경을 위한 상황-민감 형 에이전트 구조 |
US8589943B2 (en) * | 2007-08-15 | 2013-11-19 | Sony Computer Entertainment Inc. | Multi-threaded processing with reduced context switching |
KR101610828B1 (ko) * | 2009-09-23 | 2016-04-08 | 삼성전자주식회사 | 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법 |
CN102667725B (zh) * | 2010-01-13 | 2015-09-16 | 马维尔以色列(M.I.S.L.)有限公司 | 用于媒体处理的硬件虚拟化 |
-
2011
- 2011-12-07 KR KR1020110130407A patent/KR20130063825A/ko not_active Application Discontinuation
-
2012
- 2012-12-03 US US13/693,028 patent/US9424105B2/en not_active Expired - Fee Related
- 2012-12-05 JP JP2012266608A patent/JP6271123B2/ja not_active Expired - Fee Related
- 2012-12-07 EP EP12196105.6A patent/EP2602714A1/en not_active Ceased
- 2012-12-07 CN CN201210526148.XA patent/CN103218258B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103218258B (zh) | 2018-01-26 |
CN103218258A (zh) | 2013-07-24 |
US9424105B2 (en) | 2016-08-23 |
US20130152096A1 (en) | 2013-06-13 |
JP2013120602A (ja) | 2013-06-17 |
EP2602714A1 (en) | 2013-06-12 |
KR20130063825A (ko) | 2013-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6271123B2 (ja) | 運用体制で動的に先占区間を調整する装置及び方法 | |
JP6381734B2 (ja) | グラフィックス計算プロセススケジューリング | |
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
US8963933B2 (en) | Method for urgency-based preemption of a process | |
US10242420B2 (en) | Preemptive context switching of processes on an accelerated processing device (APD) based on time quanta | |
JP6086868B2 (ja) | ユーザモードからのグラフィックス処理ディスパッチ | |
JP2007537504A (ja) | コンピュータ装置用のオペレーティング・システムの、またはそれに関する改良 | |
JP4840945B2 (ja) | ユーザ・モード・ドライバへ割り込みを配送する方法 | |
WO2009147802A1 (ja) | 優先度制御装置及び優先度制御方法 | |
JP2013546097A (ja) | グラフィックス処理計算リソースのアクセシビリティ | |
US9256465B2 (en) | Process device context switching | |
Kim et al. | A server-based approach for predictable GPU access control | |
US9164799B2 (en) | Multiprocessor system | |
US20060212840A1 (en) | Method and system for efficient use of secondary threads in a multiple execution path processor | |
US9367349B2 (en) | Multi-core system and scheduling method | |
EP1693743A2 (en) | System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock | |
US20200356410A1 (en) | Cpu scheduling methods based on relative time quantum for dual core environments | |
US11301304B2 (en) | Method and apparatus for managing kernel services in multi-core system | |
US20130160019A1 (en) | Method for Resuming an APD Wavefront in Which a Subset of Elements Have Faulted | |
Li et al. | PEP: Proactive checkpointing for efficient preemption on GPUs | |
Yang et al. | A Linux kernel with fixed interrupt latency for embedded real-time system | |
Rothberg | Interrupt handling in Linux | |
US11403138B2 (en) | Method and electronic device for handling relative priority based scheduling procedure | |
Cucinotta | Priority inheritance on condition variables | |
CN114846446A (zh) | 用于分配处理器资源的方法、计算单元和视频监控装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170214 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170712 |
|
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: 20171212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6271123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |