KR101586712B1 - 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치 - Google Patents
멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치 Download PDFInfo
- Publication number
- KR101586712B1 KR101586712B1 KR1020140170691A KR20140170691A KR101586712B1 KR 101586712 B1 KR101586712 B1 KR 101586712B1 KR 1020140170691 A KR1020140170691 A KR 1020140170691A KR 20140170691 A KR20140170691 A KR 20140170691A KR 101586712 B1 KR101586712 B1 KR 101586712B1
- Authority
- KR
- South Korea
- Prior art keywords
- scenario
- processor
- multiprocessor system
- dependency graph
- parallelism index
- 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
- 238000000034 method Methods 0.000 title claims description 89
- 230000008569 process Effects 0.000 claims description 41
- 230000001186 cumulative effect Effects 0.000 claims description 27
- 230000004913 activation Effects 0.000 claims description 11
- 238000001994 activation Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 태스크 의존성 그래프의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 태스크 의존성 그래프를 이용한 병렬성 분석을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 누적 한계점이 4일 경우 프로세서 스케줄링의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 누적 한계점이 3인 경우 프로세서 스케줄링의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 멀티 프로세서 시스템에서의 프로세서 스케줄링 방법을 개략적으로 도시한 구성도이다.
110: 프로세서
120: 메모리
Claims (10)
- 멀티 프로세서 시스템에서,
프로세서 스케줄링을 운영하는 프로그램이 저장된 메모리 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하되,
상기 프로세서는 상기 프로그램의 실행에 따라, 상기 멀티 프로세서 시스템의 시나리오에 대하여, 실시간 태스크 의존성 그래프를 생성하고,
상기 생성된 실시간 태스크 의존성 그래프를 이용하여, 상기 시나리오에 대한 병렬성 지수를 계산하며,
상기 계산된 시나리오에 대한 병렬성 지수를 이용하여 상기 프로세서의 스케줄링을 수행하되,
상기 시나리오는 상기 멀티 프로세서 시스템의 외부 이벤트에 대한 하나 이상 태스크들의 실행 과정으로 구성되며,
상기 실시간 태스크 의존성 그래프 생성 및 상기 병렬성 지수 계산은 상기 멀티 프로세서 시스템에서 사용자의 태스크 실행 이력을 기반으로 수행되는 것인, 멀티 프로세서 시스템. - 제 1 항에 있어서,
상기 프로세서는 상기 사용자의 태스크 실행 이력을 이용하여 계산된 시나리오의 발생 확률이 포함되도록 상기 실시간 태스크 의존성 그래프를 생성하는 멀티 프로세서 시스템. - 제 1 항에 있어서,
상기 프로세서는 상기 실시간 태스크 의존성 그래프 및 상기 시나리오의 소요 시간을 이용하여 상기 시나리오의 병렬성 지수를 계산하는 멀티 프로세서 시스템. - 제 1 항에 있어서,
상기 프로세서는 상기 멀티 프로세서 시스템 외부의 이벤트가 발생하는 경우, 외부 이벤트에 해당하는 시나리오의 병렬성 지수를 계산하고, 상기 시나리오의 병렬성 지수에 따라, 각 프로세서의 활성화 여부를 조정하는 멀티 프로세서 시스템. - 제 1 항에 있어서,
상기 프로세서는 상기 시나리오의 병렬성 지수가 미리 정의된 누적 한계점 이상인지 판별하고,
상기 시나리오의 병렬성 지수가 누적 한계점 이상인 경우, 상기 시나리오를 복수의 시나리오로 분할하는 멀티 프로세서 시스템. - 멀티 프로세서 시스템에서의 프로세서 스케줄링 방법에 있어서,
상기 멀티 프로세서 시스템의 시나리오에 대하여 실시간 태스크 의존성 그래프를 생성하는 단계;
상기 실시간 태스크 의존성 그래프를 이용하여 상기 시나리오에 대한 병렬성 지수를 계산하는 단계; 및
상기 시나리오에 대한 병렬성 지수를 이용하여 프로세서 스케줄링을 수행하는 단계를 포함하되,
상기 시나리오는 상기 멀티 프로세서 시스템의 외부 이벤트에 대한 하나 이상 태스크들의 실행 과정으로 구성되며, 상기 실시간 태스크 의존성 그래프 생성 및 상기 병렬성 지수 계산은 상기 멀티 프로세서 시스템에서 사용자의 태스크 실행 이력을 이용하는 프로세서 스케줄링 방법. - 제 6 항에 있어서,
상기 실시간 태스크 의존성 그래프를 생성하는 단계는,
상기 사용자의 태스크 실행 이력을 이용하여 계산된 시나리오의 발생 확률을 포함하는 실시간 태스크 의존성 그래프를 생성하는 프로세서 스케줄링 방법. - 제 6 항에 있어서,
상기 시나리오에 대한 병렬성 지수를 계산하는 단계는,
상기 실시간 태스크 의존성 그래프와 상기 시나리오의 소요 시간을 이용하여 계산하는 프로세서 스케줄링 방법. - 제 6 항에 있어서,
상기 프로세서 스케줄링을 수행하는 단계는,
상기 멀티 프로세서 시스템에서 실행 중인 시나리오의 병렬성 지수에 따라, 각 프로세서의 활성화 여부를 조정하는 프로세서 스케줄링 방법. - 제 6 항에 있어서,
상기 프로세서 스케줄링을 수행하는 단계는,
상기 시나리오의 병렬성 지수가 미리 정의된 누적 한계점 이상인지 판별하는 단계; 및
상기 시나리오의 병렬성 지수가 누적 한계점 이상인 경우, 상기 시나리오를 복수 개로 분할하는 단계를 포함하는 프로세서 스케줄링 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140009650 | 2014-01-27 | ||
KR20140009650 | 2014-01-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150089918A KR20150089918A (ko) | 2015-08-05 |
KR101586712B1 true KR101586712B1 (ko) | 2016-01-20 |
Family
ID=53886249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140170691A Expired - Fee Related KR101586712B1 (ko) | 2014-01-27 | 2014-12-02 | 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101586712B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893122A (zh) * | 2015-08-25 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 数据处理作业调度方法、装置及系统 |
KR101879419B1 (ko) * | 2017-03-15 | 2018-08-17 | 주식회사 클래스액트 | 병렬처리 알고리즘을 이용한 태스크 분배 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011138219A (ja) | 2009-12-25 | 2011-07-14 | Toshiba Corp | 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法 |
US20120137300A1 (en) | 2010-11-30 | 2012-05-31 | Ryuji Sakai | Information Processor and Information Processing Method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030083861A (ko) * | 2002-04-22 | 2003-11-01 | 황혜정 | 에스엠에스 메시지를 이용한 타자게임 광고 및 무선인터넷을 통한 설문조사 방법 |
-
2014
- 2014-12-02 KR KR1020140170691A patent/KR101586712B1/ko not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011138219A (ja) | 2009-12-25 | 2011-07-14 | Toshiba Corp | 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法 |
US20120137300A1 (en) | 2010-11-30 | 2012-05-31 | Ryuji Sakai | Information Processor and Information Processing Method |
Non-Patent Citations (1)
Title |
---|
김강희. '우선순위 스케줄링을 사용하는 실시간 시스템을 위한 정확한 확률적 분석 방법'. 정보과학회논문지 : 시스템 및 이론 제31권 제3·4호, 2004.04, pp.170-186. |
Also Published As
Publication number | Publication date |
---|---|
KR20150089918A (ko) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452441B1 (en) | Determining an allocation of computing resources for a job | |
JP6219512B2 (ja) | 仮想ハドゥープマネジャ | |
Ananthanarayanan et al. | Effective straggler mitigation: Attack of the clones | |
US9619378B2 (en) | Dynamically optimizing memory allocation across virtual machines | |
US9043788B2 (en) | Experiment manager for manycore systems | |
US8966462B2 (en) | Memory management parameters derived from system modeling | |
Ananthanarayanan et al. | Why let resources idle? Aggressive cloning of jobs with Dolly | |
JP6668355B2 (ja) | 動的時間的電力ステアリングのためのシステム及び方法 | |
US20150227397A1 (en) | Energy efficient assignment of workloads in a datacenter | |
Yang et al. | Design adaptive task allocation scheduler to improve MapReduce performance in heterogeneous clouds | |
US8972702B2 (en) | Systems and methods for power management in a high performance computing (HPC) cluster | |
WO2016205978A1 (en) | Techniques for virtual machine migration | |
US11520632B1 (en) | Specifying behavior among a group of computing tasks | |
US10445131B2 (en) | Core prioritization for heterogeneous on-chip networks | |
KR20120066189A (ko) | 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법 | |
US10114438B2 (en) | Dynamic power budgeting in a chassis | |
US11150716B2 (en) | Dynamically optimizing margins of a processor | |
KR101586712B1 (ko) | 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치 | |
US9933844B2 (en) | Clustering execution in a processing system to increase power savings | |
US9618999B1 (en) | Idle-aware margin adaption | |
US20150199250A1 (en) | Determining and using power utilization indexes for servers | |
US9652298B2 (en) | Power-aware scheduling | |
US10002173B1 (en) | System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment | |
KR101248470B1 (ko) | 자원 모니터링 컴퓨팅 장치, 방법 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록매체 | |
Padoin et al. | Using power demand and residual load imbalance in the load balancing to save energy of parallel systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20141202 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20151102 Patent event code: PE09021S01D |
|
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: 20160105 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20160113 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20160114 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20190107 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20190107 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200113 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20200113 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20210104 Start annual number: 6 End annual number: 6 |
|
PC1903 | Unpaid annual fee |