CN102483703B - 计算机线程至异构资源的映射 - Google Patents

计算机线程至异构资源的映射 Download PDF

Info

Publication number
CN102483703B
CN102483703B CN201080035177.5A CN201080035177A CN102483703B CN 102483703 B CN102483703 B CN 102483703B CN 201080035177 A CN201080035177 A CN 201080035177A CN 102483703 B CN102483703 B CN 102483703B
Authority
CN
China
Prior art keywords
thread
core
processor
threads
metadata
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
CN201080035177.5A
Other languages
English (en)
Chinese (zh)
Other versions
CN102483703A (zh
Inventor
安德鲁·乌尔夫
托马斯·M·康特
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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN102483703A publication Critical patent/CN102483703A/zh
Application granted granted Critical
Publication of CN102483703B publication Critical patent/CN102483703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • 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
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)
CN201080035177.5A 2009-09-11 2010-06-04 计算机线程至异构资源的映射 Active CN102483703B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/557,985 US9569270B2 (en) 2009-04-21 2009-09-11 Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
US12/557,985 2009-09-11
PCT/US2010/037498 WO2011031357A1 (en) 2009-09-11 2010-06-04 Mapping of computer threads onto heterogeneous resources

Publications (2)

Publication Number Publication Date
CN102483703A CN102483703A (zh) 2012-05-30
CN102483703B true CN102483703B (zh) 2015-10-14

Family

ID=43731608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080035177.5A Active CN102483703B (zh) 2009-09-11 2010-06-04 计算机线程至异构资源的映射

Country Status (6)

Country Link
US (1) US9569270B2 (enExample)
JP (1) JP5487307B2 (enExample)
KR (1) KR101361945B1 (enExample)
CN (1) CN102483703B (enExample)
GB (1) GB2485682B (enExample)
WO (1) WO2011031357A1 (enExample)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320766A1 (en) * 2010-06-29 2011-12-29 Youfeng Wu Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type
US8527970B1 (en) * 2010-09-09 2013-09-03 The Boeing Company Methods and systems for mapping threads to processor cores
US8788871B2 (en) * 2011-06-28 2014-07-22 International Business Machines Corporation Unified, workload-optimized, adaptive RAS for hybrid systems
US9069553B2 (en) * 2011-09-06 2015-06-30 Marvell World Trade Ltd. Switching tasks between heterogeneous cores
WO2013177765A1 (en) 2012-05-30 2013-12-05 Intel Corporation Runtime dispatching among heterogeneous group of processors
US20130339978A1 (en) * 2012-06-13 2013-12-19 Advanced Micro Devices, Inc. Load balancing for heterogeneous systems
KR101893796B1 (ko) 2012-08-16 2018-10-04 삼성전자주식회사 동적 데이터 구성을 위한 방법 및 장치
CN104756078B (zh) * 2012-08-20 2018-07-13 唐纳德·凯文·卡梅伦 处理资源分配的装置和方法
CN103729248B (zh) * 2012-10-16 2017-12-15 华为技术有限公司 一种基于缓存感知的确定待迁移任务的方法和装置
GB2514956B (en) * 2013-01-21 2015-04-01 Imagination Tech Ltd Allocating resources to threads based on speculation metric
US9619298B2 (en) 2013-04-17 2017-04-11 Empire Technology Development Llc Scheduling computing tasks for multi-processor systems based on resource requirements
US9235395B2 (en) * 2013-05-30 2016-01-12 National Instruments Corporation Graphical development and deployment of parallel floating-point math functionality on a system with heterogeneous hardware components
WO2014204437A2 (en) * 2013-06-18 2014-12-24 Empire Technology Development Llc Tracking core-level instruction set capabilities in a chip multiprocessor
US9600346B2 (en) * 2013-07-10 2017-03-21 International Business Machines Corporation Thread scheduling across heterogeneous processing elements with resource mapping
US9274967B2 (en) * 2013-08-07 2016-03-01 Nimble Storage, Inc. FIFO cache simulation using a bloom filter ring
US9442696B1 (en) * 2014-01-16 2016-09-13 The Math Works, Inc. Interactive partitioning and mapping of an application across multiple heterogeneous computational devices from a co-simulation design environment
US9910683B2 (en) * 2014-03-28 2018-03-06 Lenovo (Singapore) Pte. Ltd. Dynamic application optimization
KR102197874B1 (ko) 2014-09-01 2021-01-05 삼성전자주식회사 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 쓰레드 스케줄링 방법
US9424092B2 (en) * 2014-09-26 2016-08-23 Microsoft Technology Licensing, Llc Heterogeneous thread scheduling
US9898348B2 (en) 2014-10-22 2018-02-20 International Business Machines Corporation Resource mapping in multi-threaded central processor units
JP2016091137A (ja) * 2014-10-31 2016-05-23 コニカミノルタ株式会社 画像形成装置、特定処理実行方法、およびコンピュータプログラム
WO2016078556A1 (en) * 2014-11-17 2016-05-26 Mediatek Inc. Energy efficient multi-cluster system and its operations
US10509677B2 (en) 2015-09-30 2019-12-17 Lenova (Singapore) Pte. Ltd. Granular quality of service for computing resources
US10521271B2 (en) 2017-04-01 2019-12-31 Intel Corporation Hybrid low power homogenous grapics processing units
US10628223B2 (en) * 2017-08-22 2020-04-21 Amrita Vishwa Vidyapeetham Optimized allocation of tasks in heterogeneous computing systems
JP7100154B6 (ja) * 2018-04-20 2022-09-30 オッポ広東移動通信有限公司 プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
CN109918084B (zh) * 2019-03-12 2022-03-15 浪潮通用软件有限公司 一种业务管理系统的数据映射方法
US20230024130A1 (en) * 2021-07-23 2023-01-26 Advanced Micro Devices, Inc. Workload aware virtual processing units
US20230205592A1 (en) * 2021-12-23 2023-06-29 Intel Corporation Asymmetric tuning
CN119213784A (zh) 2022-05-20 2024-12-27 三星电子株式会社 使用低功率处理器控制相机的光学图像稳定的装置和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434594B1 (en) * 1999-03-09 2002-08-13 Talk2 Technology, Inc. Virtual processing network enabler
JP2004220608A (ja) * 2003-01-16 2004-08-05 Internatl Business Mach Corp <Ibm> スレッド型に基づくコンピュータ・リソースの動的割り付け
CN101233489A (zh) * 2005-08-04 2008-07-30 国际商业机器公司 具有多个处理器的计算机系统中的自适应进程分派

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628323A (ja) 1992-07-06 1994-02-04 Nippon Telegr & Teleph Corp <Ntt> プロセス実行制御方法
EP0594871A1 (en) 1992-10-09 1994-05-04 Fujitsu Limited Multi-media scheduling system
JPH0721045A (ja) 1993-06-15 1995-01-24 Sony Corp 情報処理システム
US5659721A (en) 1995-02-14 1997-08-19 Hal Computer Systems, Inc. Processor structure and method for checkpointing instructions to maintain precise state
JP3266029B2 (ja) 1997-01-23 2002-03-18 日本電気株式会社 マルチプロセッサシステムにおけるディスパッチング方式、ディスパッチング方法およびディスパッチングプログラムを記録した記録媒体
US5968115A (en) 1997-02-03 1999-10-19 Complementary Systems, Inc. Complementary concurrent cooperative multi-processing multi-tasking processing system (C3M2)
JPH1131134A (ja) 1997-07-14 1999-02-02 Toshiba Corp コンピュータシステム及び同システムに適用するスケジューリング方法
US6243788B1 (en) 1998-06-17 2001-06-05 International Business Machines Corporation Cache architecture to enable accurate cache sensitivity
GB0015276D0 (en) 2000-06-23 2000-08-16 Smith Neale B Coherence free cache
GB2372847B (en) 2001-02-19 2004-12-29 Imagination Tech Ltd Control of priority and instruction rates on a multithreaded processor
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JP2003006175A (ja) 2001-06-26 2003-01-10 Hitachi Ltd プロセス実行時のプログラム動作特性に基づくプロセススケジューリング方法及びこれを用いたプログラム及びデータ処理装置
JP3964821B2 (ja) 2003-04-21 2007-08-22 株式会社東芝 プロセッサ、キャッシュシステム及びキャッシュメモリ
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
JP2005031771A (ja) 2003-07-08 2005-02-03 Hitachi Ltd ジョブスケジューリング管理方法及びシステム並びにプログラム
US7353516B2 (en) 2003-08-14 2008-04-01 Nvidia Corporation Data flow control for adaptive integrated circuitry
US7614056B1 (en) 2003-09-12 2009-11-03 Sun Microsystems, Inc. Processor specific dispatching in a heterogeneous configuration
US7360218B2 (en) 2003-09-25 2008-04-15 International Business Machines Corporation System and method for scheduling compatible threads in a simultaneous multi-threading processor using cycle per instruction value occurred during identified time interval
US7461376B2 (en) 2003-11-18 2008-12-02 Unisys Corporation Dynamic resource management system and method for multiprocessor systems
US7360102B2 (en) 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
GB2415060B (en) 2004-04-16 2007-02-14 Imagination Tech Ltd Dynamic load balancing
US7318125B2 (en) 2004-05-20 2008-01-08 International Business Machines Corporation Runtime selective control of hardware prefetch mechanism
US20060037017A1 (en) 2004-08-12 2006-02-16 International Business Machines Corporation System, apparatus and method of reducing adverse performance impact due to migration of processes from one CPU to another
US7437581B2 (en) 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7526661B2 (en) 2004-12-02 2009-04-28 Intel Corporation Performance state-based thread management
US20060168571A1 (en) 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
JP4445410B2 (ja) 2005-02-24 2010-04-07 株式会社ルネサステクノロジ 情報処理装置
US20070050605A1 (en) 2005-08-29 2007-03-01 Bran Ferren Freeze-dried ghost pages
US7412353B2 (en) 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
JP2007108944A (ja) 2005-10-12 2007-04-26 Renesas Technology Corp 半導体集積回路装置
JP4523921B2 (ja) 2006-02-24 2010-08-11 三菱電機株式会社 計算機リソース動的制御装置
US7434002B1 (en) 2006-04-24 2008-10-07 Vmware, Inc. Utilizing cache information to manage memory access and cache utilization
JP4936517B2 (ja) 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
US20070294693A1 (en) * 2006-06-16 2007-12-20 Microsoft Corporation Scheduling thread execution among a plurality of processors based on evaluation of memory access data
US8468532B2 (en) 2006-06-21 2013-06-18 International Business Machines Corporation Adjusting CPU time allocated to next thread based on gathered data in heterogeneous processor system having plurality of different instruction set architectures
JP2008090546A (ja) 2006-09-29 2008-04-17 Toshiba Corp マルチプロセッサシステム
JP4308241B2 (ja) 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US8006077B2 (en) 2007-03-29 2011-08-23 Intel Corporation Thread migration control based on prediction of migration overhead
US8230425B2 (en) 2007-07-30 2012-07-24 International Business Machines Corporation Assigning tasks to processors in heterogeneous multiprocessors
US20090089792A1 (en) 2007-09-27 2009-04-02 Sun Microsystems, Inc. Method and system for managing thermal asymmetries in a multi-core processor
US7930574B2 (en) 2007-12-31 2011-04-19 Intel Corporation Thread migration to improve power efficiency in a parallel processing environment
US8219993B2 (en) 2008-02-27 2012-07-10 Oracle America, Inc. Frequency scaling of processing unit based on aggregate thread CPI metric
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
US7890298B2 (en) 2008-06-12 2011-02-15 Oracle America, Inc. Managing the performance of a computer system
US8561073B2 (en) 2008-09-19 2013-10-15 Microsoft Corporation Managing thread affinity on multi-core processors
US9189282B2 (en) * 2009-04-21 2015-11-17 Empire Technology Development Llc Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter
US8683476B2 (en) 2009-06-30 2014-03-25 Oracle America, Inc. Method and system for event-based management of hardware resources using a power state of the hardware resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434594B1 (en) * 1999-03-09 2002-08-13 Talk2 Technology, Inc. Virtual processing network enabler
JP2004220608A (ja) * 2003-01-16 2004-08-05 Internatl Business Mach Corp <Ibm> スレッド型に基づくコンピュータ・リソースの動的割り付け
CN101233489A (zh) * 2005-08-04 2008-07-30 国际商业机器公司 具有多个处理器的计算机系统中的自适应进程分派

Also Published As

Publication number Publication date
GB2485682B (en) 2016-09-28
US20110066828A1 (en) 2011-03-17
JP2013501298A (ja) 2013-01-10
WO2011031357A8 (en) 2012-03-22
KR101361945B1 (ko) 2014-02-12
KR20120025612A (ko) 2012-03-15
CN102483703A (zh) 2012-05-30
WO2011031357A1 (en) 2011-03-17
GB201121568D0 (en) 2012-01-25
GB2485682A (en) 2012-05-23
US9569270B2 (en) 2017-02-14
JP5487307B2 (ja) 2014-05-07

Similar Documents

Publication Publication Date Title
CN102483703B (zh) 计算机线程至异构资源的映射
CN102473113B (zh) 多核处理器和将线程分配至异构处理器核的方法
CN102473112B (zh) 关于线程迁移的高速缓存预填充方法、产品与系统
TWI564719B (zh) 具有多個資料預取器的處理器、所述處理器的操作方法及所述處理器操作的電腦程式產品
Mittal et al. A survey of architectural approaches for data compression in cache and main memory systems
CN100557570C (zh) 多处理器系统
JP5805675B2 (ja) ガーベッジコレクションに対するcpuサポート
CN100501739C (zh) 利用流预取历史来改进数据预取性能的方法和系统
TWI596479B (zh) 具有資料預取器的處理器及其運作方法
CN103635887B (zh) 缓存数据的方法和存储系统
CN108710582A (zh) 用于基于局部性的指令处理的选择性启用的系统、设备和方法
CN110806900A (zh) 一种访存指令处理方法及处理器
Liu et al. CostPI: Cost-effective performance isolation for shared NVMe SSDs
US9880849B2 (en) Allocation of load instruction(s) to a queue buffer in a processor system based on prediction of an instruction pipeline hazard
CN119415048A (zh) 数据写入方法、装置、设备和介质
CN114691549A (zh) 一种文件写入方法、装置及计算设备
US8484423B2 (en) Method and apparatus for controlling cache using transaction flags
Jeong et al. Transparently exploiting device-reserved memory for application performance in mobile systems
CN116821008B (zh) 具有提高的高速缓存命中率的处理装置及其高速缓存设备
CN118860298B (zh) 缓存数据的管理方法和装置、存储介质及程序产品
KR101456373B1 (ko) 캐시 장치를 관리하는 장치 및 방법
CN118535489A (zh) 一种数据预存储方法、系统、存储介质以及加速器
CN120407435A (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