KR101901587B1 - 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 - Google Patents
연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 Download PDFInfo
- Publication number
- KR101901587B1 KR101901587B1 KR1020110133658A KR20110133658A KR101901587B1 KR 101901587 B1 KR101901587 B1 KR 101901587B1 KR 1020110133658 A KR1020110133658 A KR 1020110133658A KR 20110133658 A KR20110133658 A KR 20110133658A KR 101901587 B1 KR101901587 B1 KR 101901587B1
- Authority
- KR
- South Korea
- Prior art keywords
- core
- thread
- work thread
- task
- 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
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/46—Multiprogramming 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/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/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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 2는 도 1에 도시된 멀티코어/매니코어 플랫폼 중 코어들이 메쉬(mesh) 형태로 연결된 구조의 예시도이다.
도 3 및 도 4는 일반적인 멀티코어 시스템에서의 태스크의 이동을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 로컬 메모리의 구조를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 멀티코어 플랫폼에서의 태스크의 이동을 나타낸 도면이다.
도 7은 일반적인 운영체제 또는 연성 실시간 운영체제의 작업 수행 구조를 나타낸 도면이고, 도 8은 도 7의 작업 수행 구조에 따라 작업이 이루어지는 것을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 연성 실시간 운영체제의 작업 수행 구조를 나타낸 도면이고, 도 10은 도 9의 작업 수행 구조에 따라 작업이 이루어지는 것을 나타낸 도면이다.
Claims (10)
- 멀티코어 플랫폼에서 연성 실시간 운영체제(Soft Real Time Operating System)의 실시간성을 확보하는 방법에 있어서,
제 1 코어가 복수의 주기 중 제 1 주기 동안 작업 스레드를 수행하고;
상기 제 1 코어가 상기 복수의 주기 중 제 2 주기 동안 상기 작업 스레드가 수행될 제 2 코어를 결정하고;
상기 제 1 코어가 상기 작업 스레드의 코드 및 상기 작업 스레드의 수행에 필요한 데이터 중 상기 작업 스레드의 수행에 의해 변경되지 않는 데이터를 상기 제 2 코어로 전송하고;
상기 제 1 코어가 상기 제 2 코어에 웨이팅 구간을 가지도록 지시하고;
상기 제 2 코어가 상기 웨이팅 구간을 가지는 동안 상기 제 1 코어가 상기 작업 스레드의 수행에 필요한 데이터 중 상기 작업 스레드의 수행에 의해 변경되는 데이터를 상기 제 2 코어로 전송함으로써 상기 작업 스레드를 이동시키는 방법. - 제1항에 있어서, 상기 작업 스레드는 상기 복수의 주기의 각각에서 주기적으로 수행되도록 구성되는 실시간 작업 스레드이고, 상기 방법은,
상기 제 2 코어에 상기 작업 스레드의 수행에 의해 변경되는 데이터가 전송된 후 상기 제 2 주기가 도래할 때 상기 제 2 코어가 상기 작업 스레드를 수행하는 것을 더 포함하는 방법. - 제1항에 있어서,
상기 웨이팅 구간은 스피닝(spinning)으로 구성되거나 스피닝과 슬립(sleep)의 조합으로 구성되는 방법. - 삭제
- 제1항에 있어서,
상기 작업 스레드가 수행될 코어를 결정하는 것은,
작업 스레드 배치 방법에 따라 상기 멀티코어 플랫폼 내의 복수의 코어 중 어느 것이 상기 제 2 코어로 할당되는지를 결정하는 것을 포함하는 방법. - 제1항 내지 제3항 및 제5항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 멀티코어 플랫폼에서 연성 실시간 운영체제(Soft Real Time Operating System)의 실시간성을 확보하는 장치에 있어서,
제 1 코어 및 제 2 코어를 포함하는 복수의 코어를 가지고,
상기 제 1 코어는,
복수의 주기 중 제 1 주기 동안 작업 스레드를 수행하고,
상기 복수의 주기 중 제 2 주기 동안 상기 작업 스레드가 수행될 상기 제 2 코어를 결정하고,
상기 작업 스레드의 코드 및 상기 작업 스레드의 수행에 필요한 데이터 중 상기 작업 스레드의 수행에 의해 변경되지 않는 데이터를 상기 제 2 코어로 전송하고,
상기 제 2 코어에 웨이팅 구간을 가지도록 지시하고,
상기 제 2 코어가 상기 웨이팅 구간을 가지는 동안 상기 작업 스레드의 수행에 필요한 데이터 중 상기 작업 스레드의 수행에 의해 변경되는 데이터를 상기 제 2 코어로 전송함으로써 상기 작업 스레드를 이동시키는 장치. - 제7항에 있어서,
상기 웨이팅 구간은 스피닝(spinning)으로 구성되거나 스피닝과 슬립(sleep)의 조합으로 구성되는 장치. - 제7항에 있어서,
상기 제 1 코어는 상기 작업 스레드를 상기 제 2 코어로 이동시키면, 다른 스레드를 수행하는 장치. - 제7항에 있어서,
상기 제 2 코어는 상기 제 1 코어로부터 이동된 상기 작업 스레드를 수행하고, 작업 스레드 배치 방법에 따라 상기 복수의 코어 중 어느 것이 상기 제 2 코어로 할당되는지를 결정하는 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110133658A KR101901587B1 (ko) | 2011-12-13 | 2011-12-13 | 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 |
US13/712,198 US9229765B2 (en) | 2011-12-13 | 2012-12-12 | Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task |
JP2012272714A JP6296678B2 (ja) | 2011-12-13 | 2012-12-13 | ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110133658A KR101901587B1 (ko) | 2011-12-13 | 2011-12-13 | 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130066900A KR20130066900A (ko) | 2013-06-21 |
KR101901587B1 true KR101901587B1 (ko) | 2018-10-01 |
Family
ID=48573289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110133658A Active KR101901587B1 (ko) | 2011-12-13 | 2011-12-13 | 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9229765B2 (ko) |
JP (1) | JP6296678B2 (ko) |
KR (1) | KR101901587B1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6087662B2 (ja) * | 2013-02-28 | 2017-03-01 | 株式会社東芝 | 制御装置、制御プログラム及び情報処理システム |
JP6287923B2 (ja) | 2015-03-26 | 2018-03-07 | コニカミノルタ株式会社 | マルチコアプロセッサーにタスクを実行させる、装置、プログラム、およびプログラムを記録した記録媒体、ならびに方法 |
JP6464982B2 (ja) * | 2015-10-07 | 2019-02-06 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
KR101733534B1 (ko) | 2016-03-04 | 2017-05-24 | 국방과학연구소 | 경성 실시간 스케줄링 태스크 그룹을 위한 수행 가능성 분석 방법 및 장치 |
US10140131B2 (en) | 2016-08-11 | 2018-11-27 | International Business Machines Corporation | Shielding real-time workloads from OS jitter due to expedited grace periods |
CN109522101B (zh) * | 2017-09-20 | 2023-11-14 | 三星电子株式会社 | 用于调度多个操作系统任务的方法、系统和/或装置 |
CN111381945B (zh) * | 2018-12-29 | 2024-02-09 | 华为技术有限公司 | 任务迁移方法及电子设备 |
KR102485288B1 (ko) * | 2020-12-15 | 2023-01-04 | 현대오토에버 주식회사 | 차량용 제어기 및 그것의 운영체제 스케쥴링 방법 |
US11570176B2 (en) | 2021-01-28 | 2023-01-31 | Bank Of America Corporation | System and method for prioritization of text requests in a queue based on contextual and temporal vector analysis |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064673A1 (en) * | 2002-09-30 | 2004-04-01 | International Business Machines Corporation | Method, system, and computer program product for migrating data from one real page to another |
JP2004326175A (ja) * | 2003-04-21 | 2004-11-18 | Toshiba Corp | プロセッサ、キャッシュシステム及びキャッシュメモリ |
US20090089792A1 (en) * | 2007-09-27 | 2009-04-02 | Sun Microsystems, Inc. | Method and system for managing thermal asymmetries in a multi-core processor |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925869B2 (en) | 1999-12-22 | 2011-04-12 | Ubicom, Inc. | Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching |
JP4433782B2 (ja) | 2003-12-17 | 2010-03-17 | 株式会社日立製作所 | 情報処理装置及びオペレーティングシステム |
GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
WO2008129786A1 (ja) * | 2007-04-09 | 2008-10-30 | Panasonic Corporation | マルチプロセッサ制御装置、その制御方法および集積回路 |
US7886172B2 (en) * | 2007-08-27 | 2011-02-08 | International Business Machines Corporation | Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management |
KR101366075B1 (ko) * | 2007-12-20 | 2014-02-21 | 삼성전자주식회사 | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 |
US8219994B2 (en) * | 2008-10-23 | 2012-07-10 | Globalfoundries Inc. | Work balancing scheduler for processor cores and methods thereof |
JP2010205046A (ja) * | 2009-03-04 | 2010-09-16 | Toyota Motor Corp | 情報処理装置 |
KR101697937B1 (ko) * | 2010-01-08 | 2017-02-01 | 삼성전자주식회사 | 멀티프로세서 시스템에서 동적 태스크 마이그레이션을 위한 방법 및 시스템 |
-
2011
- 2011-12-13 KR KR1020110133658A patent/KR101901587B1/ko active Active
-
2012
- 2012-12-12 US US13/712,198 patent/US9229765B2/en active Active
- 2012-12-13 JP JP2012272714A patent/JP6296678B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064673A1 (en) * | 2002-09-30 | 2004-04-01 | International Business Machines Corporation | Method, system, and computer program product for migrating data from one real page to another |
JP2004326175A (ja) * | 2003-04-21 | 2004-11-18 | Toshiba Corp | プロセッサ、キャッシュシステム及びキャッシュメモリ |
US20090089792A1 (en) * | 2007-09-27 | 2009-04-02 | Sun Microsystems, Inc. | Method and system for managing thermal asymmetries in a multi-core processor |
Also Published As
Publication number | Publication date |
---|---|
JP6296678B2 (ja) | 2018-03-20 |
US20130152100A1 (en) | 2013-06-13 |
JP2013125549A (ja) | 2013-06-24 |
KR20130066900A (ko) | 2013-06-21 |
US9229765B2 (en) | 2016-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101901587B1 (ko) | 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치 | |
KR101366075B1 (ko) | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 | |
US10073711B2 (en) | Virtual machine monitor configured to support latency sensitive virtual machines | |
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
TWI426452B (zh) | Work processing device | |
KR100591727B1 (ko) | 스케줄링 방법과 이 방법을 실행하기 위한 프로그램을 기록한 기록매체 및 정보처리시스템 | |
KR101834195B1 (ko) | 다중코어 시스템 및 로드 밸런싱 방법 | |
US12222859B2 (en) | Write data cache method and system, device, and storage medium | |
TWI426451B (zh) | Work processing device | |
KR20110048531A (ko) | 가상처리장치의 인터럽트 제어 | |
KR20050030871A (ko) | 실시간 동작 수행방법 및 시스템 | |
CN108885559B (zh) | 在多个处理器之间快速转移工作负载 | |
US20140026143A1 (en) | Exclusive access control method and computer product | |
KR20070090649A (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
WO2022237419A1 (zh) | 任务执行方法、装置及存储介质 | |
US20060212840A1 (en) | Method and system for efficient use of secondary threads in a multiple execution path processor | |
US7904703B1 (en) | Method and apparatus for idling and waking threads by a multithread processor | |
Hahn et al. | Improving user experience of android smartphones using foreground app-aware I/O management | |
US20130160019A1 (en) | Method for Resuming an APD Wavefront in Which a Subset of Elements Have Faulted | |
JP4754531B2 (ja) | デバイスへのアクセス制御方法および処理装置 | |
US8533696B1 (en) | Methods and systems for allocating hardware resources to instances of software images | |
JP4017005B2 (ja) | 演算装置 | |
WO2019188180A1 (ja) | スケジューリング方法、スケジューリング装置 | |
JP4599438B2 (ja) | パイプライン処理装置、パイプライン処理方法及びパイプライン制御プログラム | |
JP2014182764A (ja) | 情報処理装置、情報処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20111213 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20161207 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20111213 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20170724 Patent event code: PE09021S01D |
|
E90F | Notification of reason for final refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20180126 Patent event code: PE09021S02D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20180731 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20180918 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20180919 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20210823 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20240819 Start annual number: 7 End annual number: 7 |