KR102430934B1 - 서비스 하한 품질에 기초한 메모리 대역폭 스케줄링 - Google Patents
서비스 하한 품질에 기초한 메모리 대역폭 스케줄링 Download PDFInfo
- Publication number
- KR102430934B1 KR102430934B1 KR1020207021114A KR20207021114A KR102430934B1 KR 102430934 B1 KR102430934 B1 KR 102430934B1 KR 1020207021114 A KR1020207021114 A KR 1020207021114A KR 20207021114 A KR20207021114 A KR 20207021114A KR 102430934 B1 KR102430934 B1 KR 102430934B1
- Authority
- KR
- South Korea
- Prior art keywords
- processes
- nls
- latency
- scheduler
- throttling
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/849,266 | 2017-12-20 | ||
| US15/849,266 US10700954B2 (en) | 2017-12-20 | 2017-12-20 | Scheduling memory bandwidth based on quality of service floorbackground |
| PCT/US2018/051593 WO2019125557A1 (en) | 2017-12-20 | 2018-09-18 | Scheduling memory bandwidth based on quality of service floorbackground |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200090957A KR20200090957A (ko) | 2020-07-29 |
| KR102430934B1 true KR102430934B1 (ko) | 2022-08-08 |
Family
ID=66816568
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020207021114A Active KR102430934B1 (ko) | 2017-12-20 | 2018-09-18 | 서비스 하한 품질에 기초한 메모리 대역폭 스케줄링 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10700954B2 (enExample) |
| EP (1) | EP3729282A4 (enExample) |
| JP (1) | JP7109549B2 (enExample) |
| KR (1) | KR102430934B1 (enExample) |
| CN (1) | CN111512291B (enExample) |
| WO (1) | WO2019125557A1 (enExample) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11561834B2 (en) * | 2019-01-16 | 2023-01-24 | Rambus Inc. | Methods and systems for adaptive memory-resource management |
| US11314558B2 (en) * | 2019-07-23 | 2022-04-26 | Netapp, Inc. | Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof |
| US11169812B2 (en) * | 2019-09-26 | 2021-11-09 | Advanced Micro Devices, Inc. | Throttling while managing upstream resources |
| CN111444012B (zh) * | 2020-03-03 | 2023-05-30 | 中国科学院计算技术研究所 | 一种保证延迟敏感应用延迟slo的动态调控资源方法及系统 |
| JP2021170241A (ja) * | 2020-04-16 | 2021-10-28 | 富士通株式会社 | 情報処理装置及び制御プログラム |
| US12112212B2 (en) * | 2021-02-26 | 2024-10-08 | Google Llc | Controlling system load based on memory bandwidth |
| US12436586B2 (en) * | 2023-08-04 | 2025-10-07 | Apple Inc. | Quality-of-service-based fabric power management |
| CN117216003B (zh) * | 2023-09-27 | 2025-12-19 | 苏州元脑智能科技有限公司 | 为进程数据生成快照的方法、系统、终端及存储介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130042307A1 (en) | 2011-08-11 | 2013-02-14 | Fujitsu Limited | Communication method and information processing system |
| US20130128682A1 (en) | 2011-11-17 | 2013-05-23 | International Business Machines Corporation | Memory system with dynamic refreshing |
| US20130297906A1 (en) | 2012-05-07 | 2013-11-07 | Gabriel H. Loh | Method and apparatus for batching memory requests |
| US20140082625A1 (en) | 2012-09-14 | 2014-03-20 | International Business Machines Corporation | Management of resources within a computing environment |
| US20140082630A1 (en) | 2011-12-30 | 2014-03-20 | Boris Ginzburg | Providing an asymmetric multicore processor system transparently to an operating system |
| US20170286179A1 (en) | 2016-04-05 | 2017-10-05 | Netapp, Inc. | Methods and systems for managing service level objectives in a networked storage environment |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060004983A1 (en) * | 2004-06-30 | 2006-01-05 | Tsao Gary Y | Method, system, and program for managing memory options for devices |
| US20090158299A1 (en) * | 2007-10-31 | 2009-06-18 | Carter Ernst B | System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed |
| US8230069B2 (en) * | 2008-03-04 | 2012-07-24 | International Business Machines Corporation | Server and storage-aware method for selecting virtual machine migration targets |
| WO2010095182A1 (ja) * | 2009-02-17 | 2010-08-26 | パナソニック株式会社 | マルチスレッドプロセッサ及びデジタルテレビシステム |
| US8819686B2 (en) * | 2009-07-23 | 2014-08-26 | Empire Technology Development Llc | Scheduling threads on different processor cores based on memory temperature |
| US9116738B2 (en) | 2012-11-13 | 2015-08-25 | International Business Machines Corporation | Method and apparatus for efficient execution of concurrent processes on a multithreaded message passing system |
| US9535860B2 (en) | 2013-01-17 | 2017-01-03 | Intel Corporation | Arbitrating memory accesses via a shared memory fabric |
| US9483423B2 (en) | 2013-05-17 | 2016-11-01 | Nvidia Corporation | Techniques for assigning priorities to memory copies |
| US9489321B2 (en) | 2013-06-13 | 2016-11-08 | Advanced Micro Devices, Inc. | Scheduling memory accesses using an efficient row burst value |
| US9632832B2 (en) | 2014-02-27 | 2017-04-25 | Empire Technology Development Llc | Thread and data assignment in multi-core processors based on cache miss data |
| US9563369B2 (en) * | 2014-04-14 | 2017-02-07 | Microsoft Technology Licensing, Llc | Fine-grained bandwidth provisioning in a memory controller |
| US9424092B2 (en) * | 2014-09-26 | 2016-08-23 | Microsoft Technology Licensing, Llc | Heterogeneous thread scheduling |
| US9921866B2 (en) * | 2014-12-22 | 2018-03-20 | Intel Corporation | CPU overprovisioning and cloud compute workload scheduling mechanism |
| US9645935B2 (en) | 2015-01-13 | 2017-05-09 | International Business Machines Corporation | Intelligent bandwidth shifting mechanism |
| US10838682B2 (en) * | 2016-07-28 | 2020-11-17 | Intelligent Waves Llc | System, method and computer program product for generating remote views in a virtual mobile device platform using efficient processing during display encoding |
| US10185659B2 (en) * | 2016-12-09 | 2019-01-22 | Cray, Inc. | Memory allocation system for multi-tier memory |
| US10776309B2 (en) * | 2016-12-31 | 2020-09-15 | Intel Corporation | Method and apparatus to build a monolithic mesh interconnect with structurally heterogenous tiles |
-
2017
- 2017-12-20 US US15/849,266 patent/US10700954B2/en active Active
-
2018
- 2018-09-18 KR KR1020207021114A patent/KR102430934B1/ko active Active
- 2018-09-18 CN CN201880082739.8A patent/CN111512291B/zh active Active
- 2018-09-18 EP EP18891928.6A patent/EP3729282A4/en not_active Ceased
- 2018-09-18 WO PCT/US2018/051593 patent/WO2019125557A1/en not_active Ceased
- 2018-09-18 JP JP2020533295A patent/JP7109549B2/ja active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130042307A1 (en) | 2011-08-11 | 2013-02-14 | Fujitsu Limited | Communication method and information processing system |
| US20130128682A1 (en) | 2011-11-17 | 2013-05-23 | International Business Machines Corporation | Memory system with dynamic refreshing |
| US20140082630A1 (en) | 2011-12-30 | 2014-03-20 | Boris Ginzburg | Providing an asymmetric multicore processor system transparently to an operating system |
| US20130297906A1 (en) | 2012-05-07 | 2013-11-07 | Gabriel H. Loh | Method and apparatus for batching memory requests |
| US20140082625A1 (en) | 2012-09-14 | 2014-03-20 | International Business Machines Corporation | Management of resources within a computing environment |
| US20170286179A1 (en) | 2016-04-05 | 2017-10-05 | Netapp, Inc. | Methods and systems for managing service level objectives in a networked storage environment |
Also Published As
| Publication number | Publication date |
|---|---|
| US20190190805A1 (en) | 2019-06-20 |
| KR20200090957A (ko) | 2020-07-29 |
| US10700954B2 (en) | 2020-06-30 |
| EP3729282A1 (en) | 2020-10-28 |
| JP7109549B2 (ja) | 2022-07-29 |
| WO2019125557A1 (en) | 2019-06-27 |
| JP2021508108A (ja) | 2021-02-25 |
| CN111512291B (zh) | 2024-06-18 |
| CN111512291A (zh) | 2020-08-07 |
| EP3729282A4 (en) | 2021-05-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102430934B1 (ko) | 서비스 하한 품질에 기초한 메모리 대역폭 스케줄링 | |
| EP3447607B1 (en) | Credit based command scheduling | |
| Jung et al. | HIOS: A host interface I/O scheduler for solid state disks | |
| JP5332065B2 (ja) | クラスタ構成管理方法、管理装置及びプログラム | |
| US9760294B2 (en) | Computer system, storage management computer, and storage management method | |
| US10162684B2 (en) | CPU resource management in computer cluster | |
| CN114730276B (zh) | 确定多核处理器复合体中每个核心的最佳线程数量 | |
| US9632840B2 (en) | Load balancing with granularly redistributable workloads | |
| US8522245B2 (en) | Thread criticality predictor | |
| CN110297695B (zh) | 用于共享资源访问的可变速率限制的系统和方法 | |
| JP2013527516A (ja) | コンピュータシステムの細粒度パフォーマンスリソース管理 | |
| TWI859393B (zh) | 用於排程快閃操作的系統及方法 | |
| JP2011515776A (ja) | 電力認識スレッドスケジューリングおよびプロセッサーの動的使用 | |
| Zhang et al. | Workload consolidation in alibaba clusters: the good, the bad, and the ugly | |
| JP6895235B2 (ja) | 環境的に調整されたスラックを割り当てるためのシステム及び方法 | |
| Wu et al. | {NyxCache}: Flexible and efficient multi-tenant persistent memory caching | |
| CN114564300A (zh) | 用于动态分派内存带宽的方法 | |
| KR20100074920A (ko) | 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법 | |
| US10684964B1 (en) | System and method for reducing read latency in storage devices | |
| KR101924467B1 (ko) | 가상 머신의 cpu 및 블록 i/o 작업에 성능 보장을 위한 자원 할당 시스템 및 방법 | |
| US9389919B2 (en) | Managing workload distribution among computer systems based on intersection of throughput and latency models | |
| US20250251961A1 (en) | Enforcement of maximum memory access latency for virtual machine instances | |
| CN119668792A (zh) | 动态功率感知工作负载调度器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20200720 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20210923 Comment text: Request for Examination of Application |
|
| PA0302 | Request for accelerated examination |
Patent event date: 20210923 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20220114 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: 20220503 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220802 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20220803 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |