WO2012082557A3 - Dynamic work partitioning on heterogeneous processing devices - Google Patents

Dynamic work partitioning on heterogeneous processing devices Download PDF

Info

Publication number
WO2012082557A3
WO2012082557A3 PCT/US2011/064172 US2011064172W WO2012082557A3 WO 2012082557 A3 WO2012082557 A3 WO 2012082557A3 US 2011064172 W US2011064172 W US 2011064172W WO 2012082557 A3 WO2012082557 A3 WO 2012082557A3
Authority
WO
WIPO (PCT)
Prior art keywords
processing devices
heterogeneous processing
dynamic work
processor
dequeuing
Prior art date
Application number
PCT/US2011/064172
Other languages
French (fr)
Other versions
WO2012082557A2 (en
Inventor
Benjamin Thomas Sander
Michael Houston
Newton Cheung
Keith Lowery
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.
Priority to EP11848733.9A priority Critical patent/EP2652617B1/en
Priority to CN201180060199.1A priority patent/CN103608776B/en
Priority to KR1020137017356A priority patent/KR101961396B1/en
Priority to JP2013544627A priority patent/JP6373586B2/en
Publication of WO2012082557A2 publication Critical patent/WO2012082557A2/en
Publication of WO2012082557A3 publication Critical patent/WO2012082557A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

A method, system and article of manufacture for balancing a workload on heterogeneous processing devices. The method comprising accessing a memory storage of a processor of one type by a dequeuing entity associated with a processor of a different type, identifying a task from a plurality of tasks within the memory that can be processed by the processor of the different type, synchiOnizing a plurality of dequeuing entities capable of accessing the memory storage, and dequeuing the task form the memory storage.
PCT/US2011/064172 2010-12-15 2011-12-09 Dynamic work partitioning on heterogeneous processing devices WO2012082557A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP11848733.9A EP2652617B1 (en) 2010-12-15 2011-12-09 Dynamic work partitioning on heterogeneous processing devices
CN201180060199.1A CN103608776B (en) 2010-12-15 2011-12-09 Dynamic duty in heterogeneous processing equipment is divided
KR1020137017356A KR101961396B1 (en) 2010-12-15 2011-12-09 Dynamic work partitioning on heterogeneous processing devices
JP2013544627A JP6373586B2 (en) 2010-12-15 2011-12-09 Dynamic work partition of heterogeneous processing devices

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42346510P 2010-12-15 2010-12-15
US61/423,465 2010-12-15
US13/287,418 2011-11-02
US13/287,418 US9645854B2 (en) 2010-12-15 2011-11-02 Dynamic work partitioning on heterogeneous processing devices

Publications (2)

Publication Number Publication Date
WO2012082557A2 WO2012082557A2 (en) 2012-06-21
WO2012082557A3 true WO2012082557A3 (en) 2013-12-27

Family

ID=46245295

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2011/064172 WO2012082557A2 (en) 2010-12-15 2011-12-09 Dynamic work partitioning on heterogeneous processing devices

Country Status (6)

Country Link
US (1) US9645854B2 (en)
EP (1) EP2652617B1 (en)
JP (1) JP6373586B2 (en)
KR (1) KR101961396B1 (en)
CN (1) CN103608776B (en)
WO (1) WO2012082557A2 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012052774A2 (en) * 2010-10-21 2012-04-26 Bluwireless Technology Limited Data processing units
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US20130145202A1 (en) * 2011-12-06 2013-06-06 Advanced Micro Devices, Inc. Handling Virtual-to-Physical Address Translation Failures
US20130141446A1 (en) * 2011-12-06 2013-06-06 Advanced Micro Devices, Inc. Method and Apparatus for Servicing Page Fault Exceptions
US8842122B2 (en) * 2011-12-15 2014-09-23 Qualcomm Incorporated Graphics processing unit with command processor
EP2972907B1 (en) * 2013-03-15 2019-09-25 Intel Corporation Work stealing in heterogeneous computing systems
US10360652B2 (en) * 2014-06-13 2019-07-23 Advanced Micro Devices, Inc. Wavefront resource virtualization
US9959142B2 (en) * 2014-06-17 2018-05-01 Mediatek Inc. Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
US9678806B2 (en) * 2015-06-26 2017-06-13 Advanced Micro Devices, Inc. Method and apparatus for distributing processing core workloads among processing cores
US9703605B2 (en) * 2015-09-04 2017-07-11 Mediatek, Inc. Fine-grained heterogeneous computing
US10528613B2 (en) * 2015-11-23 2020-01-07 Advanced Micro Devices, Inc. Method and apparatus for performing a parallel search operation
US10223436B2 (en) * 2016-04-27 2019-03-05 Qualcomm Incorporated Inter-subgroup data sharing
KR102066212B1 (en) * 2017-01-19 2020-01-14 서울대학교산학협력단 Method for transferring data in parallel system, and parallel system for performing the same
US10725667B2 (en) 2017-01-19 2020-07-28 Seoul National University R&Db Foundation Method of transferring data in parallel system, and parallel system for performing the same
US10990436B2 (en) * 2018-01-24 2021-04-27 Dell Products L.P. System and method to handle I/O page faults in an I/O memory management unit
US10908940B1 (en) * 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
US11720408B2 (en) * 2018-05-08 2023-08-08 Vmware, Inc. Method and system for assigning a virtual machine in virtual GPU enabled systems
US10963300B2 (en) 2018-12-06 2021-03-30 Raytheon Company Accelerating dataflow signal processing applications across heterogeneous CPU/GPU systems
US11340942B2 (en) 2020-03-19 2022-05-24 Raytheon Company Cooperative work-stealing scheduler
KR102441045B1 (en) * 2020-12-14 2022-09-05 현대오토에버 주식회사 Method carried out in electronic control unit of the multi-core structure, and apparatus implementing the same method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159221B1 (en) * 2002-08-30 2007-01-02 Unisys Corporation Computer OS dispatcher operation with user controllable dedication

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826081A (en) * 1996-05-06 1998-10-20 Sun Microsystems, Inc. Real time thread dispatcher for multiprocessor applications
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JP4384828B2 (en) 2001-11-22 2009-12-16 ユニヴァーシティ オブ ワシントン Coprocessor device and method for facilitating data transfer
US7167916B2 (en) * 2002-08-30 2007-01-23 Unisys Corporation Computer OS dispatcher operation with virtual switching queue and IP queues
US7015915B1 (en) * 2003-08-12 2006-03-21 Nvidia Corporation Programming multiple chips from a command buffer
US7650601B2 (en) * 2003-12-04 2010-01-19 International Business Machines Corporation Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US8037474B2 (en) 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
US8149242B2 (en) * 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
US8286196B2 (en) * 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
CN101706741B (en) 2009-12-11 2012-10-24 中国人民解放军国防科学技术大学 Method for partitioning dynamic tasks of CPU and GPU based on load balance
US8819690B2 (en) * 2009-12-30 2014-08-26 International Business Machines Corporation System for reducing data transfer latency to a global queue by generating bit mask to identify selected processing nodes/units in multi-node data processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159221B1 (en) * 2002-08-30 2007-01-02 Unisys Corporation Computer OS dispatcher operation with user controllable dedication

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHEN ET AL.: "Dynamic Load Balancing on Single- and Multi-GPU Systems.", PROC. < THE IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2010), 19 April 2010 (2010-04-19), ATLANTA, GEORGIA., XP031679799, Retrieved from the Internet <URL:http://www.capsl.udel.edu/pub/doc/papers/LongChen-IPDPS2010.pdf> [retrieved on 20120325] *
See also references of EP2652617A4 *
ZHAO ET AL.: "An architecture design of GPU-accelerated VoD streaming servers with network coding.", COLLABORATIVE COMPUTING: NETWORKING, APPLICATIONS AND WORKSHARING (COLLABORATECOM), 2010 6TH INTERNATIONAL CONFERENCE., 9 October 2010 (2010-10-09), pages 5, XP031865609, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/xpI/freeabs_all.jsp?arnumber=5767035> [retrieved on 20120325] *

Also Published As

Publication number Publication date
EP2652617A2 (en) 2013-10-23
EP2652617B1 (en) 2019-10-09
JP6373586B2 (en) 2018-08-15
KR101961396B1 (en) 2019-03-22
US9645854B2 (en) 2017-05-09
WO2012082557A2 (en) 2012-06-21
CN103608776B (en) 2017-09-05
JP2014508982A (en) 2014-04-10
KR20130127480A (en) 2013-11-22
EP2652617A4 (en) 2017-06-14
US20120192201A1 (en) 2012-07-26
CN103608776A (en) 2014-02-26

Similar Documents

Publication Publication Date Title
WO2012082557A3 (en) Dynamic work partitioning on heterogeneous processing devices
EP3701437A4 (en) Methods, systems, and computer program product for implementing software applications with dynamic conditions and dynamic actions
EP3513288A4 (en) Utilization-aware resource scheduling in a distributed computing cluster
EP3516525A4 (en) Memory devices and electronic systems having a hybrid cache with static and dynamic cells, and related methods
GB201310169D0 (en) A method for attesting a plurality of data processing systems
EP3467663A4 (en) Resource access method applied to computer, and computer
WO2013188705A3 (en) A virtual load store queue having a dynamic dispatch window with a unified structure
EP3148108A4 (en) Unlicensed carrier scheduling method, device and system, and computer storage medium
WO2013106590A3 (en) Cloud-based distributed data system
WO2011103085A3 (en) Methods and apparatuses for utilizing adaptive predictive algorithms and determining when to use the adaptive predictive algorithms for virtual metrology
EP3457288A4 (en) Computer system and storage access device
EP3337219A4 (en) Carrier configuration processing method, device and system, and computer storage medium
WO2013190380A3 (en) Device context determination
EP3376379A4 (en) Task management methods and system, and computer storage medium
WO2013188835A3 (en) Networking systems
EP2971189A4 (en) Methods, devices, and systems for processing multiple assays background
WO2014155205A3 (en) Systems and methods for communicating to a computing device information associated with the replenishment status of a retail item
CA2836829C (en) Systems and methods for in-memory database processing
EP3688596A4 (en) Computer program product, system, and method to manage access to storage resources from multiple applications
WO2013188460A3 (en) A virtual load store queue having a dynamic dispatch window with a distributed structure
WO2013036699A3 (en) Automatic preemption in multiple computer systems
EP3021203A4 (en) Information processing device, information processing method, and computer program
WO2013158330A3 (en) Method to reduce multi-threaded processor power consumption
WO2013106595A3 (en) Processing store visiting data
EP3480686A4 (en) Data processing method, cluster manager, resource manager and data processing system

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013544627

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20137017356

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011848733

Country of ref document: EP