CN102939596B - 用于多核处理器的多线程应用识别存储器调度方案 - Google Patents

用于多核处理器的多线程应用识别存储器调度方案 Download PDF

Info

Publication number
CN102939596B
CN102939596B CN201180028331.0A CN201180028331A CN102939596B CN 102939596 B CN102939596 B CN 102939596B CN 201180028331 A CN201180028331 A CN 201180028331A CN 102939596 B CN102939596 B CN 102939596B
Authority
CN
China
Prior art keywords
thread
group
memory
thread 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.)
Active
Application number
CN201180028331.0A
Other languages
English (en)
Chinese (zh)
Other versions
CN102939596A (zh
Inventor
钟在雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN102939596A publication Critical patent/CN102939596A/zh
Application granted granted Critical
Publication of CN102939596B publication Critical patent/CN102939596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
CN201180028331.0A 2010-06-08 2011-05-31 用于多核处理器的多线程应用识别存储器调度方案 Active CN102939596B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/795,871 US8453150B2 (en) 2010-06-08 2010-06-08 Multithread application-aware memory scheduling scheme for multi-core processors
US12/795,871 2010-06-08
PCT/US2011/038526 WO2011156175A1 (en) 2010-06-08 2011-05-31 Multithread application-aware memory scheduling scheme for multi-core processors

Publications (2)

Publication Number Publication Date
CN102939596A CN102939596A (zh) 2013-02-20
CN102939596B true CN102939596B (zh) 2016-03-23

Family

ID=44358387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180028331.0A Active CN102939596B (zh) 2010-06-08 2011-05-31 用于多核处理器的多线程应用识别存储器调度方案

Country Status (6)

Country Link
US (1) US8453150B2 (enExample)
EP (1) EP2580669B1 (enExample)
JP (1) JP5752242B2 (enExample)
KR (1) KR101688983B1 (enExample)
CN (1) CN102939596B (enExample)
WO (1) WO2011156175A1 (enExample)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799912B2 (en) * 2009-07-22 2014-08-05 Empire Technology Development Llc Application selection of memory request scheduling
US8839255B2 (en) * 2009-07-23 2014-09-16 Empire Technology Development Llc Scheduling of threads by batch scheduling
US9098521B2 (en) * 2010-09-15 2015-08-04 Qualcomm Incorporated System and method for managing resources and threshsold events of a multicore portable computing device
US8806502B2 (en) 2010-09-15 2014-08-12 Qualcomm Incorporated Batching resource requests in a portable computing device
US9152523B2 (en) 2010-09-15 2015-10-06 Qualcomm Incorporated Batching and forking resource requests in a portable computing device
US9652300B2 (en) * 2012-06-28 2017-05-16 Intel Corporation Systems, methods, and computer program products for preemption of threads at a synchronization barrier
US9569393B2 (en) 2012-08-10 2017-02-14 Rambus Inc. Memory module threading with staggered data transfers
US9158595B2 (en) * 2012-10-25 2015-10-13 Nvidia Corporation Hardware scheduling of ordered critical code sections
US9135087B1 (en) * 2012-12-27 2015-09-15 Altera Corporation Workgroup handling in pipelined circuits
US9811453B1 (en) * 2013-07-31 2017-11-07 Juniper Networks, Inc. Methods and apparatus for a scheduler for memory access
US9436503B2 (en) * 2013-10-31 2016-09-06 Emu Solutions, Inc. Concurrency control mechanisms for highly multi-threaded systems
CN104866379B (zh) * 2014-02-24 2019-06-14 中兴通讯股份有限公司 一种多核处理器调度方法、装置及终端
US9685219B2 (en) 2015-05-13 2017-06-20 Samsung Electronics Co., Ltd. Semiconductor memory device for deconcentrating refresh commands and system including the same
KR101713114B1 (ko) 2015-08-12 2017-03-08 엔에이치엔엔터테인먼트 주식회사 모바일 환경에서의 리소스 다운로드 방법 및 시스템
US10572399B2 (en) * 2016-07-13 2020-02-25 Qualcomm Incorporated Memory request arbitration
US10503541B2 (en) * 2017-12-04 2019-12-10 Beijing Panyi Technology Co., Ltd. System and method for handling dependencies in dynamic thread spawning for a multi-threading processor
US11281501B2 (en) * 2018-04-04 2022-03-22 Micron Technology, Inc. Determination of workload distribution across processors in a memory system
CN112579278B (zh) * 2020-12-24 2023-01-20 海光信息技术股份有限公司 用于同步多线程的中央处理单元、方法、设备及存储介质
CN117472593B (zh) * 2023-12-27 2024-03-22 中诚华隆计算机技术有限公司 一种多线程间资源分配方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145113A (zh) * 2007-09-10 2008-03-19 中兴通讯股份有限公司 一种多线程访问间接寄存器的调度方法
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2518134B2 (ja) * 1993-03-29 1996-07-24 日本電気株式会社 共有資源排他制御方式
US7480768B2 (en) 2005-09-30 2009-01-20 Intel Corporation Apparatus, systems and methods to reduce access to shared data storage
JP2009527828A (ja) * 2006-02-17 2009-07-30 クゥアルコム・インコーポレイテッド マルチプロセッサのアプリケーションサポートのためのシステムおよび方法
WO2007128168A1 (en) 2006-05-10 2007-11-15 Intel Corporation Thread scheduling on multiprocessor systems
US9588810B2 (en) 2007-08-08 2017-03-07 Microsoft Technology Licensing, Llc Parallelism-aware memory request scheduling in shared memory controllers
US8180975B2 (en) * 2008-02-26 2012-05-15 Microsoft Corporation Controlling interference in shared memory systems using parallelism-aware batch scheduling
JP5347451B2 (ja) * 2008-11-26 2013-11-20 富士通株式会社 マルチプロセッサシステム、競合回避プログラム及び競合回避方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145113A (zh) * 2007-09-10 2008-03-19 中兴通讯股份有限公司 一种多线程访问间接寄存器的调度方法
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法

Also Published As

Publication number Publication date
JP2013528305A (ja) 2013-07-08
KR20130116166A (ko) 2013-10-23
JP5752242B2 (ja) 2015-07-22
EP2580669A1 (en) 2013-04-17
KR101688983B1 (ko) 2016-12-22
WO2011156175A1 (en) 2011-12-15
CN102939596A (zh) 2013-02-20
US20110302586A1 (en) 2011-12-08
US8453150B2 (en) 2013-05-28
EP2580669B1 (en) 2018-07-25

Similar Documents

Publication Publication Date Title
CN102939596B (zh) 用于多核处理器的多线程应用识别存储器调度方案
US9372526B2 (en) Managing a power state of a processor
CN112204523B (zh) 多内核波前调度程序
US9753771B2 (en) System-on-chip including multi-core processor and thread scheduling method thereof
JP6755935B2 (ja) 共有メモリコントローラおよびそれを使用する方法
KR102774240B1 (ko) 동적 뱅크-별 및 모든-뱅크 리프레시
US8819686B2 (en) Scheduling threads on different processor cores based on memory temperature
CN102725734B (zh) 基于隔离的线程批调度方法
CN102473109B (zh) 利用批调度的线程调度方法及装置
US20110050713A1 (en) Hardware-Based Scheduling of GPU Work
JP5773065B2 (ja) スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法
US20190065243A1 (en) Dynamic memory power capping with criticality awareness
US10019283B2 (en) Predicting a context portion to move between a context buffer and registers based on context portions previously used by at least one other thread
US10191868B2 (en) Priority framework for a computing device
CN103150216B (zh) 一种SoC集成的多端口DDR2/3调度器及调度方法
US8799912B2 (en) Application selection of memory request scheduling
CN102521049A (zh) 多核间内存调度方法
US10528388B1 (en) Data flow control in a parallel processing system
CN115129369A (zh) 命令分发方法、命令分发器、芯片以及电子设备
CN113360192A (zh) 热缓存识别方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant