JP2019525324A - メモリ要求仲裁 - Google Patents
メモリ要求仲裁 Download PDFInfo
- Publication number
- JP2019525324A JP2019525324A JP2019501571A JP2019501571A JP2019525324A JP 2019525324 A JP2019525324 A JP 2019525324A JP 2019501571 A JP2019501571 A JP 2019501571A JP 2019501571 A JP2019501571 A JP 2019501571A JP 2019525324 A JP2019525324 A JP 2019525324A
- Authority
- JP
- Japan
- Prior art keywords
- batch
- memory requests
- memory
- group
- threads
- 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
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/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- 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
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/466—Transaction processing
- G06F9/467—Transactional memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/209,346 US10572399B2 (en) | 2016-07-13 | 2016-07-13 | Memory request arbitration |
| US15/209,346 | 2016-07-13 | ||
| PCT/US2017/033818 WO2018013225A1 (en) | 2016-07-13 | 2017-05-22 | Memory request arbitration |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019525324A true JP2019525324A (ja) | 2019-09-05 |
| JP2019525324A5 JP2019525324A5 (enExample) | 2020-06-11 |
Family
ID=59014755
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019501571A Pending JP2019525324A (ja) | 2016-07-13 | 2017-05-22 | メモリ要求仲裁 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US10572399B2 (enExample) |
| EP (1) | EP3485384B1 (enExample) |
| JP (1) | JP2019525324A (enExample) |
| KR (1) | KR20190028427A (enExample) |
| CN (1) | CN109416673A (enExample) |
| BR (1) | BR112019000310A8 (enExample) |
| WO (1) | WO2018013225A1 (enExample) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10095431B2 (en) * | 2015-06-18 | 2018-10-09 | John Edward Benkert | Device controller and method of enforcing time-based sector level security |
| JP6971063B2 (ja) * | 2017-06-13 | 2021-11-24 | 株式会社小糸製作所 | 監視装置及びランプの配光制御装置 |
| US11321146B2 (en) | 2019-05-09 | 2022-05-03 | International Business Machines Corporation | Executing an atomic primitive in a multi-core processor system |
| US11681567B2 (en) | 2019-05-09 | 2023-06-20 | International Business Machines Corporation | Method and processor system for executing a TELT instruction to access a data item during execution of an atomic primitive |
| US11321135B2 (en) * | 2019-10-31 | 2022-05-03 | Oracle International Corporation | Rate limiting compliance assessments with multi-layer fair share scheduling |
| US11709711B2 (en) * | 2020-09-27 | 2023-07-25 | Advanced Micro Devices, Inc. | Allocation of memory access bandwidth to clients in an electronic device |
| CN113176911B (zh) * | 2021-04-29 | 2024-07-12 | 上海阵量智能科技有限公司 | 一种配置方法、数据处理方法、芯片和电子设备 |
| US11443479B1 (en) * | 2021-05-19 | 2022-09-13 | Apple Inc. | Snapshot arbitration techniques for memory requests |
| US20240176647A1 (en) * | 2022-11-30 | 2024-05-30 | Vmware, Inc. | Blockchain request prescreening for parallel request processing |
| US20240311199A1 (en) * | 2023-03-13 | 2024-09-19 | Advanced Micro Devices, Inc. | Software-defined compute unit resource allocation mode |
| US20250077084A1 (en) * | 2023-09-06 | 2025-03-06 | Micron Technology, Inc. | Write processing using queue and thread identification |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6816947B1 (en) * | 2000-07-20 | 2004-11-09 | Silicon Graphics, Inc. | System and method for memory arbitration |
| US7406554B1 (en) * | 2000-07-20 | 2008-07-29 | Silicon Graphics, Inc. | Queue circuit and method for memory arbitration employing same |
| JP2012533826A (ja) * | 2009-07-22 | 2012-12-27 | エンパイア テクノロジー ディベロップメント エルエルシー | 分離によるバッチスケジューリング |
| JP2015141584A (ja) * | 2014-01-29 | 2015-08-03 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
| WO2015199941A1 (en) * | 2014-06-26 | 2015-12-30 | Intel Corporation | Efficient hardware mechanism to ensure shared resource data coherency across draw calls |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7107371B1 (en) * | 1997-09-22 | 2006-09-12 | Intel Corporation | Method and apparatus for providing and embedding control information in a bus system |
| US6961834B2 (en) | 2001-10-12 | 2005-11-01 | Sonics, Inc. | Method and apparatus for scheduling of requests to dynamic random access memory device |
| US6891543B2 (en) * | 2002-05-08 | 2005-05-10 | Intel Corporation | Method and system for optimally sharing memory between a host processor and graphics processor |
| US7571284B1 (en) | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
| US7617368B2 (en) * | 2006-06-14 | 2009-11-10 | Nvidia Corporation | Memory interface with independent arbitration of precharge, activate, and read/write |
| US7796137B1 (en) | 2006-10-24 | 2010-09-14 | Nvidia Corporation | Enhanced tag-based structures, systems and methods for implementing a pool of independent tags in cache memories |
| US8180975B2 (en) * | 2008-02-26 | 2012-05-15 | Microsoft Corporation | Controlling interference in shared memory systems using parallelism-aware batch scheduling |
| US9170844B2 (en) * | 2009-01-02 | 2015-10-27 | International Business Machines Corporation | Prioritization for conflict arbitration in transactional memory management |
| GB2469299B (en) * | 2009-04-07 | 2011-02-16 | Imagination Tech Ltd | Ensuring consistency between a data cache and a main memory |
| US8667493B2 (en) * | 2010-05-07 | 2014-03-04 | Advanced Micro Devices, Inc. | Memory-controller-parallelism-aware scheduling for multiple memory controllers |
| US8453150B2 (en) | 2010-06-08 | 2013-05-28 | Advanced Micro Devices, Inc. | Multithread application-aware memory scheduling scheme for multi-core processors |
| US8972995B2 (en) | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
| US9256915B2 (en) * | 2012-01-27 | 2016-02-09 | Qualcomm Incorporated | Graphics processing unit buffer management |
| US8775762B2 (en) | 2012-05-07 | 2014-07-08 | Advanced Micro Devices, Inc. | Method and apparatus for batching memory requests |
| US8886886B2 (en) | 2012-09-28 | 2014-11-11 | Apple Inc. | System cache with sticky removal engine |
| US9405688B2 (en) * | 2013-03-05 | 2016-08-02 | Intel Corporation | Method, apparatus, system for handling address conflicts in a distributed memory fabric architecture |
| US9135179B2 (en) * | 2013-05-01 | 2015-09-15 | Qualcomm, Incorporated | System and method of arbitrating cache requests |
| US9575807B2 (en) | 2014-04-15 | 2017-02-21 | Intel Corporation | Processing accelerator with queue threads and methods therefor |
-
2016
- 2016-07-13 US US15/209,346 patent/US10572399B2/en not_active Expired - Fee Related
-
2017
- 2017-05-22 BR BR112019000310A patent/BR112019000310A8/pt not_active IP Right Cessation
- 2017-05-22 JP JP2019501571A patent/JP2019525324A/ja active Pending
- 2017-05-22 KR KR1020197000618A patent/KR20190028427A/ko not_active Ceased
- 2017-05-22 EP EP17728332.2A patent/EP3485384B1/en not_active Not-in-force
- 2017-05-22 CN CN201780041796.7A patent/CN109416673A/zh active Pending
- 2017-05-22 WO PCT/US2017/033818 patent/WO2018013225A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6816947B1 (en) * | 2000-07-20 | 2004-11-09 | Silicon Graphics, Inc. | System and method for memory arbitration |
| US7406554B1 (en) * | 2000-07-20 | 2008-07-29 | Silicon Graphics, Inc. | Queue circuit and method for memory arbitration employing same |
| JP2012533826A (ja) * | 2009-07-22 | 2012-12-27 | エンパイア テクノロジー ディベロップメント エルエルシー | 分離によるバッチスケジューリング |
| JP2015141584A (ja) * | 2014-01-29 | 2015-08-03 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
| WO2015199941A1 (en) * | 2014-06-26 | 2015-12-30 | Intel Corporation | Efficient hardware mechanism to ensure shared resource data coherency across draw calls |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180018097A1 (en) | 2018-01-18 |
| CN109416673A (zh) | 2019-03-01 |
| US10572399B2 (en) | 2020-02-25 |
| WO2018013225A1 (en) | 2018-01-18 |
| BR112019000310A2 (pt) | 2019-04-16 |
| BR112019000310A8 (pt) | 2023-01-31 |
| EP3485384A1 (en) | 2019-05-22 |
| EP3485384B1 (en) | 2020-07-29 |
| KR20190028427A (ko) | 2019-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3485384B1 (en) | Memory request arbitration | |
| US9286119B2 (en) | System, method, and computer program product for management of dependency between tasks | |
| JP7087029B2 (ja) | 中央処理装置(cpu)と補助プロセッサとの間の改善した関数コールバック機構 | |
| US9436504B2 (en) | Techniques for managing the execution order of multiple nested tasks executing on a parallel processor | |
| US9442755B2 (en) | System and method for hardware scheduling of indexed barriers | |
| US9256623B2 (en) | System, method, and computer program product for scheduling tasks associated with continuation thread blocks | |
| US9996386B2 (en) | Mid-thread pre-emption with software assisted context switch | |
| US9158595B2 (en) | Hardware scheduling of ordered critical code sections | |
| KR20130141446A (ko) | 복수의 프로세싱 유닛들에서 온-칩 메모리를 사용하는 데이터 프로세싱 | |
| US20120242672A1 (en) | Fast queries in a multithreaded queue of a graphics system | |
| US20130198760A1 (en) | Automatic dependent task launch | |
| US9477482B2 (en) | System, method, and computer program product for implementing multi-cycle register file bypass | |
| CN107092573A (zh) | 异构计算系统中的工作窃取 | |
| EP3367236A1 (en) | Variable wavefront size | |
| CN117501254A (zh) | 使用近存储器计算为复杂操作提供原子性 | |
| US10114755B2 (en) | System, method, and computer program product for warming a cache for a task launch | |
| US9489245B2 (en) | Work-queue-based graphics processing unit work creation | |
| CN109074289B (zh) | 子组间数据共享 | |
| US9477480B2 (en) | System and processor for implementing interruptible batches of instructions | |
| US9268601B2 (en) | API for launching work on a processor | |
| US9378139B2 (en) | System, method, and computer program product for low latency scheduling and launch of memory defined tasks | |
| WO2016077036A1 (en) | Sort-free threading model for a multi-threaded graphics pipeline | |
| JP2007328627A (ja) | 半導体集積回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200423 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200423 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210303 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211109 |