CN105980987A - 任务调度方法和设备 - Google Patents

任务调度方法和设备 Download PDF

Info

Publication number
CN105980987A
CN105980987A CN201580006490.9A CN201580006490A CN105980987A CN 105980987 A CN105980987 A CN 105980987A CN 201580006490 A CN201580006490 A CN 201580006490A CN 105980987 A CN105980987 A CN 105980987A
Authority
CN
China
Prior art keywords
processing unit
task
unit
properties control
control condition
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.)
Granted
Application number
CN201580006490.9A
Other languages
English (en)
Other versions
CN105980987B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN202011376119.0A priority Critical patent/CN112328384A/zh
Publication of CN105980987A publication Critical patent/CN105980987A/zh
Application granted granted Critical
Publication of CN105980987B publication Critical patent/CN105980987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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/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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • 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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

提供了一种任务调度方法。所述方法可包括:将任务分配给功能地连接到电子装置的第一处理单元中的一个处理单元;至少部分地基于与任务相关的性能控制条件,将所述任务转移给第二处理单元中的一个处理单元来处理。

Description

任务调度方法和设备
技术领域
本发明涉及一种用于在多处理器系统环境中对任务进行调度的方法和设备。
背景技术
随着处理器技术的最新进展,单核处理器已经发展为多核处理器。多处理器可通过经由并行化同时运行多个任务来提高应用程序的执行性能。
发明内容
技术问题
在多处理器系统中,一个操作系统通过调度确定处理器的执行顺序来处理多个任务。
技术方案
根据本发明的一方面,提供了一种使用多处理单元对任务进行调度的方法。所述方法可包括:将任务分配给功能地连接到电子装置的第一处理单元中的一个处理单元;至少部分地基于与任务相关的性能控制条件,将任务转移给第二处理单元中的一个处理单元来处理。
根据本发明的另一方面,提供了一种电子装置。所述电子装置可包括:第一处理单元;第二处理单元;调度器单元,被构造为将任务分配给第一处理单元;性能控制条件器,检测与任务相关的性能控制条件的产生,其中,调度器单元至少部分地基于性能控制条件将任务转移给第二处理单元来处理。
在本发明的特点中,所述任务调度方法和设备可必要时将任务分配或转移给高性能处理单元来处理任务而不管处理单元的工作负荷如何,从而提高系统性能同时减少不必要的能源消耗。
有益效果
本发明的一方面提供了一种能够在产生性能控制条件时将产生性能控制条件的任务分配给预设的处理单元而不管工作负荷如何的方案。
本发明的另一方面提供了一种能够在包括异构处理单元的处理器环境中,通过必要时控制任务处理来提高系统性能的任务调度方法和设备。
附图说明
图1示出根据各种实施例的多处理单元系统的配置。
图2示出根据各种实施例的多处理单元系统的配置。
图3示出根据各种实施例的在多处理单元系统中的整体任务处理操作。
图4示出根据各种实施例的用于在多处理单元系统中进行任务分配的方法。
图5示出根据各种实施例的用于在多处理单元系统中进行任务分配的方法。
图6示出根据各种实施例的用于在多处理单元系统中进行任务分配的方法。
图7示出根据各种实施例的包括电子装置的网络环境。
图8是根据各种实施例的电子装置的框图。
具体实施方式
将理解,术语“包括”和“可包括”被用于说明公开的功能、操作、组件等的存在,但不排除一个或多个功能、操作、组件等的存在。还将理解,当在本说明书中使用术语“包括”和/或“具有”时,说明阐述的特征、数量、步骤、操作、组件、元件或它们的组合的存在,但不排除其他特征、数量、步骤、操作、组件、元件或它们的组合中的一个或多个的存在或添加。
在本发明中,术语“和/或”被认为是列举物的每一个或任意组合的特定的发明。例如,A和/或B被认为是A、B及A和B的组合中每一个的特定发明。
如在此使用,诸如“第一”、“第二”等的术语被用于描述各种组件,但不限定对应的组件。然而,显然所述组件不应该被这些术语限定。这些术语仅被用来将一个组件与另一个元件区分开。例如,在不脱离本发明构思的教导的情况下,第一组件可被称为第二组件,并且同样地,第二组件也可被称为第一组件。
将理解,当元件或层被称为“在另一个元件或层之上”、“连接到”或“结合到”另一个元件或层时,所述元件或层可以直接在一个元件或层之上、连接或结合到另一个元件或层或可存在中间元件或层。相反,当元件被称为“直接在另一个元件或层之上”、“直接连接到”或“直接结合到”另一个元件或层时,不存在中间元件或层。
在此使用的术语只是为了描述详细的实施例的目的,并不在于限制本发明。如在此使用的,除非上下文有明确相反的指示,否则单数形式也意在包括复数形式。
除非另有限定,否则在此使用的所有的术语具有与本发明所属领域的普通技术人员通常理解含义的相同的含义,且既不应该被解释为具有过分广泛的含义也不应该被解释为具有过分狭小的含义。在此使用的普通术语应该根据在词典中或在上下文中的限定解释,而不应该被解释为过分狭小的含义。
在以下描述中,电子装置可以是具有通信功能的装置。电子装置的示例可包括智能手机、个人平板PC、移动电话、视频电话、电子书(ebook)阅读器、桌上型PC、膝上型PC、上网本PC、个人数字助理(PAD)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗器械、相机、可穿戴装置(例如,诸如电子眼镜的头戴式装置(HMD))、电子服装、电子手铐、电子项链、智能配件、电子纹身和智能手表中的至少一个。
根据特定的实施例,电子装置的示例可以是具有通信功能的智能家用电器。智能家用电器的示例可包括电视、数字化视频光盘(DVD)播放器、音频播放器、冰箱、空调、吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、电视盒(例如,三星HomeSyncTm、苹果TVTM和谷歌TVTM)、游戏机、电子词典、电子钥匙、便携式摄像机和电子框架中的至少一个。
根据特定的实施例,电子装置的示例可包括医疗器械(例如,磁共振血管造影(MRA)、磁共振成像(MRI)、计算机断层扫描(CT)、照相机以及超声波装置)、导航装置、全球定位系统(GPS)接收机、事件数据记录器(EDR)、飞行数据记录仪(FDR)、汽车信息娱乐装置、船用电子装备at(例如,船舶导航装置和陀螺罗盘)、航空电子装置、安全装置、平视显示器(HUD)、工业或家用机器人、金融机构的自动取款机(ATM)和电子付款机(POS)中的至少一个。
根据特定的实施例,电子装置的示例可包括具有通信功能的家具或建筑物/结构体的一部分、电子板、电子签名接收装置、投影仪以及计量装置(例如,水、电和电波计量装置)。根据实施例,电子装置可以是上述列举的装置的一个或任意组合。根据实施例,电子装置可以是灵活的装置。然而,明显的是,在本发明所属的领域中本发明的电子装置不局限于上述装置。
参照以下附图根据各种实施例描述电子装置。在各种实施例的描述中,术语“用户”可表示使用电子装置的人或装置(例如,智能电子装置)。
在各种实施例中,电子装置可包括具有至少两个不同类型的核的异构多核处理器。多核处理器可由不同处理单元例如X86、X64、ARM、GPU和DSP组成。
在各种实施例中,“处理器”包括至少一个核,并可被限定为能够与装置的其他组件协作的独立的实体。
在各种实施例中,“处理器单元”可被限定为在处理器中能够解释和执行指令的最小实体,并可与“核”交替使用。
接下来,参照附图,将多处理器系统和具有多处理系统的电子装置作为各种实施例而进行描述。
图1示出根据各种实施例的多处理单元系统100的配置。
参照图1,多处理单元系统100可包括多核处理器120和数据库130。
多核处理器120可包括一个或多个第一处理单元121、一个或多个第二处理单元122、调度器单元123、任务管理器124以及性能控制条件器125。
第一处理单元121和第二处理单元122可处理由调度器单元123分配的任务。在此,任务表示具有单独的程序部分(例如,代码和堆栈)的可执行工作。
第一处理单元121可以是高性能大核(例如,Cortex-A15核)。第二处理单元122可以是低功率小核(例如,Cortex-A7核)。
在各种实施例中,多核处理器120可包括两个或多个不同类型的处理单元。例如,多核处理器120可包括第一处理单元、第二处理单元、第三处理单元以及它们的组合。
任务管理器124可根据任务信息和工作负荷选择第一处理单元121和第二处理单元122中的一个处理单元来处理任务,并可根据它们的优先级安排任务。任务管理器124可选择用于处理任务的核并将所述任务分配给所选的核。
在各种实施例中,调度器单元123可将新创建的任务分配给低功率核(例如,第二处理单元122中的一个处理单元)来处理。
当由第二处理单元122中的一个处理单元所处理的任务的工作负荷超过阈值时,调度器单元123可将工作负荷超过阈值的任务转移给第一处理单元121中的一个处理单元。例如,调度器单元123可停用第二处理单元121中的分配有将被转移的任务的处理单元(源核),激活第一处理单元121中的一个处理单元(目标核),并将任务从停用的源核转移给激活的目标核。
响应于对于任务的执行请求,调度器单元123可在任务的工作负荷高于阈值时,将该任务分配给高性能核(例如,第一处理单元121中的一个处理单元),而在任务的工作负荷低于阈值时,将该任务分配给低功率核(例如,第二处理单元122中的一个处理单元)。
在各种实施例中,当在执行任务或创建任务中产生性能控制条件时,调度器单元123可将与性能控制条件相关的任务分配给第一处理单元121或将由第二处理单元122处理的任务转移给第一处理单元121。
任务管理器124可根据用户请求或预设调度而创建、删除和改变任务。任务管理器124可监视第一处理单元121和第二处理单元122的任务处理,并将监视信息存储到数据库130中。例如,当用户执行电子装置中的应用程序的功能时,任务管理器124可创建与应用程序功能对应的任务并将任务创建信息传递给调度器单元123。调度器单元123可根据调度设置而将创建的任务分配给第一处理单元121和第二处理单元122中的一个处理单元以使任务得到处理。
任务管理器124可监视第一处理单元121和第二处理单元122处理分配的任务的工作负荷并检查工作负荷是否由于任务而高于阈值。当第一处理单元121的工作负荷变为小于或等于阈值时,任务管理器124可将此通知给调度器单元123。当第二处理单元122的工作负荷变为大于阈值时,任务管理器124可将此通知给调度器单元123。
在各种实施例中,用于将任务从第一处理单元121转移给第二处理单元122的阈值(向下转移)可与用于将任务从第二处理单元122转移给第一处理单元121的阈值(向上转移)不同。
性能控制条件器125可检测与任务相关的性能控制条件的产生。当性能控制条件被产生时,性能控制条件器125可将此通知给调度器单元123。为了检测任务状态的变化,性能控制条件器125可监视任务管理器124和其他组件(例如,输入接口和电源控制单元)。例如,性能控制条件器125可监视由于通电而引起的操作系统的启动、针对应用程序的触摸输入信号的产生、应用程序执行请求的发布、网站信息的加载、内容的下载或上传、电池电流下降到低于阈值、有线或无线数据传输等。
数据库130可存储任务信息、第一处理单元121和第二处理单元122的性能信息、任务处理消耗信息、调度设置信息等。
图2示出根据各种实施例的多处理单元系统。
参照图2,多处理单元系统可包括第一处理器221、第二处理器222、调度器单元223、任务管理器224以及性能控制条件器225。
在各种实施例中,第一处理器221可包括第一处理单元221a,第二处理器222可包括第二处理单元222a。例如,第一处理器221可包括多个高性能大核(例如,Cortex-A15核),第二处理器222可包括多个低功率小核(例如,Cortex-A7核)。然而,本发明不局限于此。
在各种实施例中,第一处理器221和第二处理器222可包括相同类型的核。
在各种实施例中,多处理单元系统还可包括包含异构处理单元的一个或多个处理器。
第一处理器221和第二处理器222的核可处理由调度器单元223分配的任务。
调度器单元223可根据任务信息和工作负荷将任务分配给第一处理器221和第二处理器222或可根据优先级安排任务。调度器单元223可选择处理器的核中的一个核并将任务分配给所选择的核。
在操作和功能方面,调度器单元223、任务管理器224和性能控制条件器225分别与图1所描述的调度器单元123、任务管理器124和性能控制条件器125相同,所以省略它们的描述。
图3示出根据各种实施例的在多处理单元系统的整体任务处理操作。
参照图3,在多处理单元系统中,调度器单元可将任务分配给第一处理单元和第二处理单元中的一个处理单元。
在各种实施例中,当包括一个或多个线程的任务被创建时,调度器单元可将任务分配给第二处理单元,而不管任务信息如何。
在各种实施例中,调度器单元可被构造为根据任务信息将具有高负荷的任务分配给第一处理单元。调度器单元可被构造为将具有低负荷的任务分配给第二处理单元。
当由第二处理单元处理的任务的工作负荷超过阈值时,调度器单元可被构造为将工作负荷超过阈值的任务转移给第一处理单元。当由第一处理单元处理的任务的工作负荷变为低于或等于阈值时,调度器单元可被构造为将工作负荷小于或等于阈值的任务转移给第二处理单元。
当在分配给第二处理单元的任务中产生性能控制条件时,调度器单元可被构造为将产生性能控制条件的任务转移给第一处理单元,而不管工作负荷如何。
例如,参照图3,具有高负荷的第一任务310和第二任务320(例如,繁重的任务)以及具有低负荷的第三任务330和第四任务340(例如,轻松的任务)可存在于多处理单元系统中。具有分配的任务的核可以是激活的核,不具有分配的任务的核可以是闲置的核。
由于第一任务310是具有高负荷的任务,所以其可被分配给第一处理单元中的一个处理单元。由于第二任务320是具有低负荷的任务,所以其可被分配给第二处理单元中的一个处理单元。
任务管理器可监视任务的状态变化以识别任务的工作负荷的变化。性能控制条件器可检测与任务相关的性能控制条件的产生。
第二任务320可在负荷方面从低于或等于阈值的负荷变化到高于阈值的负荷。调度器单元可识别出第二任务320的负荷高于阈值。因此,调度器单元可将第二任务320从第二处理单元转移给第一处理单元。
由于第三任务330的负荷被确定为高于阈值,所以第三任务330可被分配给第一处理单元中的一个处理单元。随后,第三任务330的负荷可变为低于或等于阈值。在这种情况下,调度器单元可将第三任务330从第一处理单元转移给第二处理单元。
具有低于或等于阈值的负荷的第四任务340可被分配给第二处理单元中的一个处理单元。性能控制条件器可检测与第四任务340相关的性能控制条件的产生。性能控制条件器可将性能控制条件的产生通知给调度器单元。响应于性能控制条件的产生,调度器单元可将具有低负荷的第四任务340转移给第一处理单元中的一个处理单元,而不管工作负荷如何。
在各种实施例中,当性能控制条件产生之后经过预设时间段或性能控制条件被完成时,调度器单元可将第四任务340重新分配给第二处理单元中一个处理单元以进行持续处理。
图4示出根据各种实施例的用于在多处理单元系统中进行任务分配的方法。
参照图4,在操作410,多处理单元系统根据用户请求或预设调度而创建任务。例如,当操作系统通过电子装置的通电被启动时,多处理单元系统可创建与启动功能对应的任务。多处理单元系统也可创建与针对应用程序执行的用户请求相关的任务。
在操作420,多处理单元系统将创建的任务分配给第一处理单元或第二处理单元。例如,多处理单元系统可将任务分配给第二处理单元(核)中的一个处理单元(核)。作为另一个示例,多处理单元系统可将具有高负荷的任务分配给第一处理单元中的一个处理单元并将具有低负荷的任务分配给第二处理单元中的一个处理单元。
在操作430,多处理单元系统检测与分配给第二处理单元的任务相关的性能控制条件是否产生。性能控制条件可与由于电子装置的通电而引起的操作系统的启动、针对应用程序的触摸输入的检测、应用程序执行的初始化、网站的加载、内容的下载或上传、剩余电池电量降低到低于阈值以及有线或无线数据传输中的至少一个对应。如果与分配给第二处理单元的任务相关的性能控制条件被产生,则在操作440,多处理单元系统将产生性能控制条件的任务从第二处理单元转移给第一处理单元。在操作450,多处理单元系统使第一处理单元和第二处理单元处理分配给它们的任务。
图5示出根据各种实施例的用于在多处理单元系统中的任务分配的方法。
参照图5,在操作510,多处理单元系统检查与任务相关的性能控制条件是否产生。例如,在多处理单元系统中,可与根据任务创建请求创建的任务相关的或与分配给第一处理单元或第二处理单元的正在运行的任务相关地,性能控制条件被产生。
在操作520,多处理单元系统将与产生的性能控制条件相关的任务分配给第一处理单元或将此任务从第二处理单元转移给第一处理单元。例如,当电子装置的操作系统被启动时,多个任务可根据预设调度而被产生。当性能控制条件(例如,启动)产生时,多处理单元系统可将为启动而产生的任务分配给第一处理单元,使任务得到处理。
作为另一个示例,当性能控制条件(例如,触摸输入)在分配给第二处理单元的正在运行的任务中产生时,多处理单元系统可将任务从第二处理单元转移给第一处理单元,来提高针对触摸输入的处理性能。
在操作530,多处理单元系统检查性能控制条件是否完成。性能控制条件的完成可对应于给定的时间流逝、预设时间内无触摸输入、应用程序执行的终止、网站加载的完成、内容下载或上传的完成、剩余电池电量高于阈值或有线或无线数据传输。例如,多处理单元系统可设置针对性能控制的应用程序的时间段。当任务在性能控制条件被产生之后被分配或转移给第一处理单元时,多处理单元系统可检测持续时间的结束。当推进(boost)被应用到任务来提高触摸输入性能时,多处理单元系统可检测在预设时间段内是否接收了针对任务的无触摸输入。
如果性能控制条件完成,则在操作540,多处理单元系统将对应的任务分配给第一处理单元或第二处理单元或将此任务根据工作负荷转移给第二处理单元。如果性能控制条件没有完成,操作过程返回到操作520。
如果在操作510,没有产生性能控制条件,则操作过程转到多处理单元系统根据工作负荷执行任务分配或转移的操作540。例如,多处理单元系统可将具有高负荷的任务分配给第一处理单元中的一个处理单元,以及将具有低负荷的任务分配给第二处理单元中的一个处理单元。
图6示出根据各种实施例的用于在多处理单元系统中的任务分配的方法。
参照图6,在操作610,多处理单元系统检查与任务相关的性能控制条件是否产生。在操作620,多处理单元系统将与产生的性能控制条件相关的任务分配给第一处理单元。如果产生的性能控制条件与分配给第二处理单元的正在运行的任务相关,则多处理单元系统可将任务从第二处理单元转移给第一处理单元。在操作630,多处理单元系统检测第一处理单元的工作负荷是否是满的。如果第一处理单元的工作负荷是满的,则在操作640,多处理单元系统将分配给第一处理单元的任务中的一些任务转移给第二处理单元,并将与产生的性能控制条件相关的任务分配或转移给第一处理单元。
如果在操作630,第一处理单元的工作负荷是未满,则多处理单元系统将与产生的性能控制条件相关的任务分配或转移给第一处理单元。
图7是示出根据本发明的各种实施例的包括电子装置的网络结构的示图。
参照图7,电子装置701包括总线710、处理器720、存储器730、输入/输出接口740、显示器750、通信接口760以及文本显示控制模块770。
总线710可以是将上述组件互相连接来互相之间传送信号(例如,控制信息)的电路。
处理器720通过总线710从上述组件(例如,存储器730、输入/输出接口740、显示器750以及通信接口760)中的任意组件接收命令,解释所述命令,并根据解译的命令执行操作或数据处理。例如,处理器710可被实现为图1所描述的多处理单元120或图2所描述的多处理单元220。
存储器730可存储从处理器720或其他组件(例如,输入/输出接口740、显示器750、通信接口760等)接收的或由处理器720或其他组件产生的命令或数据。存储器730可存储包括内核731、中间件732、应用程序编程接口(API)733、应用程序734等的程序模块。每个程序模块可被实现为软件、固件、硬件以及它们的任意组合。
内核731可控制或管理在执行利用中间件732、API 733或应用程序734实现的操作或功能中使用的系统资源(例如,总线710、处理器720以及存储器730)。内核731也可提供允许中间件732、API 733或应用程序734访问电子装置701的组件的接口来进行控制或管理。
中间件732可作为在API 733或应用程序734与内核731之间的数据通信的中继器而工作。中间件732可按将使用电子装置的系统资源(例如,总线710、处理器720以及存储器730)的优先级分配给应用程序734中的至少一个应用程序的方式,执行对于来自应用程序734的任务请求的控制。API 733是为应用程序734控制由内核731或中间件732提供的功能的接口并可包括用于文件控制、窗口控制、图像控制或文本控制的至少一个接口或功能(例如,命令)。
根据各种实施例,应用程序734可包括短信服务/多媒体信息服务(SMS/MMS)应用程序、电子邮件应用程序、日历应用程序、报警应用程序、医疗保健应用程序(例如,测量运动量或血糖水平的应用程序)以及环境信息应用程序(例如,大气压强、湿度和温度应用程序)。另外或可选择地,应用程序734可以是关于电子装置701和其他外部电子装置(例如,电子装置704)之间的信息交换的应用程序。信息交换应用程序的示例可包括用于将专用信息中继(relay)到外部电子装置704的通知中继应用程序以及用于管理外部电子装置的装置管理应用程序。
例如,通知中继应用程序可被提供有将由电子装置的其他应用程序(例如,SMS/MMS应用程序、电子邮件应用程序、医疗保健应用程序以及环境信息应用程序)产生的报警信息中继到外部电子装置(例如,电子装置704)的功能。另外或可选择地,通知中继应用程序可向用户提供从外部电子装置(例如,电子装置704)接收的通知信息。电子装置应用程序可管理(例如,安装、删除和更新)与电子装置701进行通信的外部电子装置(例如,电子装置704本身(或电子装置的一部分)的开启/关闭或显示器的亮度(或分辨率)的调整)的功能或由外部电子装置提供的服务(例如,通信或信息服务)或在外部装置上正在运行的应用程序。
根据各种实施例,应用程序734可包括根据外部电子装置(电子装置704)的属性(例如,类型)指定的应用程序。如果外部电子装置为MP3播放器,则应用程序734可包括音乐播放应用程序。同样地,如果外部电子装置为移动医疗器械,应用程序734可包括医疗保健应用程序。根据实施例,应用程序734可包括指定给电子装置701的应用程序或从外部电子装置(例如,服务器706和电子装置704)接收的应用程序中的至少一个。
输入/输出接口740将由用户通过使用输入/输出装置(例如,传感器、键盘和触摸屏)输入的命令或数据通过总线710传输到处理器720、存储器730、和/或通信接口760。例如,输入/输出接口740可向处理器720提供与可由用户在触摸屏上的触摸对应的数据。输入/输出接口740可通过输入/输出装置(例如,扬声器和显示器)输出命令或数据(通过总线710从处理器720、存储器730或通信接口760接收到的命令或数据)。例如,输入输出接口740可将由处理器720处理的语音数据通过扬声器输出给用户。
显示器750可将各种信息(例如,多媒体数据和文本数据)呈现给用户。
通信接口760可建立电子装置701和外部装置(例如,电子装置704和服务器706)之间的通信连接。例如,通信接口760通过无线或有线而连接连接到网络762以与外部装置进行通信。例如,无线通信技术的示例可包括无线保真技术(Wi-Fi)、蓝牙(BT)、近场通信(NFC)、全球定位系统(GPS)以及蜂窝通信技术(例如,长期演进(LTE)、LTE升级版(LTE-A)、码分多址(CMDA)、宽带CMDA(WCDMA)、通用移动电信系统(UMTS)、无线宽带(WiBro)以及移动通信的通用系统(GSM))。有线通信技术的示例可包括通用串行总线(USB)、高清晰多媒体接口(HDMI)、推荐标准232(RS-232)以及普通传统电话业务(POTS)。
根据实施例,网络762可以是电信网络。通信网络可包括计算机网络、互联网、物联网和电话网络中的至少一种网络。根据实施例,电子装置701和外部装置之间的通信协议(例如,传输层协议、数据链路层协议以及物理层协议)可被应用程序734、API 733、中间件732、内核731和通信接口760中的至少一个所支持。
图8是示出根据本发明的各种实施例的电子装置的配置的框图。电子装置701可以是电子装置701的全部或一部分。
参照图8,电子装置801可包括应用处理器(AP)810、通信模块820、用户身份模块(SIM)卡824、存储器830、传感器模块840、输入装置850、显示器860、接口870、音频模块880、相机模块891、电源管理模块895、电池896、指示器897以及电机898。
AP 810可操作操作系统(OS)和/或应用程序来控制连接到AP 810的多个硬件和/或软件组件以及执行对多媒体数据的数据处理和操作。例如,AP810可以以片上系统(SoC)的形式来实现。根据实施例,AP 810可包括图形处理单元(GPU)(未示出)。
通信模块820(例如,通信接口160)可执行通过网络与其他电子装置(例如,电子装置104和服务器106)的数据通信。根据实施例,通信模块820可包括蜂窝模块821、Wi-Fi模块823、BT模块825、GPS模块827、NFC模块828以及射频(RF)模块829。
蜂窝模块821负责语音和视频通信、文本通信以及通过通信网络(例如,LTE、LTE-A、CDMA、WCDMA、UMTS、WiBro以及GSM网络)的互联网接入服务。蜂窝模块821可使用SIM卡824执行在通信网络中的电子装置的身份识别和验证。根据实施例,蜂窝模块821可执行AP 810的功能中的至少一种功能。例如,蜂窝模块821可执行多媒体控制功能中的至少一部分功能。
根据实施例,蜂窝模块821可包括通信处理器(CP)。蜂窝模块可以以SOC的形式实现。虽然蜂窝模块821(例如,通信处理器)、存储器830以及电源管理模块被描述为与AP 810分离的独立组件,但是本发明不局限于此,而是可以以AP包括所述组件中的至少一个组件(例如,蜂窝模块821)的方式被实施。
根据实施例,AP 810和蜂窝模块821(例如,通信处理器)中的每一个可将从组件中的至少一个组件接收的命令或数据加载到非易失性或易失性存储器上并处理命令或数据。AP 810或蜂窝模块821可将从其他组件接收的或由其他组件中的至少一个组件产生的数据存储在非易失性存储器中。
Wi-Fi模块823、BT模块825、GPS模块827以及NFC模块828中的每一个模块可包括用于处理发射/接收的数据的处理器。虽然蜂窝模块821、Wi-Fi模块823、BT模块825、GPS模块827以及NFC模块828被描述为独立的块,但是它们中的至少两个(例如,与蜂窝模块821对应的通信处理器和与Wi-Fi模块823对应的Wi-Fi处理器)可以以SoC的形式被集成。
RF模块827负责数据通信,例如,发射/接收RF信号。虽然没有描述,但是RF模块829可包括收发器、功率放大模块(PAM)、频率滤波器以及低噪声放大器(LNA)。RF模块829也可包括用于发射/接收自由空间中的电波的元件,例如,导体或导线。虽然图8是针对Wi-Fi模块823、BT模块825、GPS模块827以及NFC模块828共享RF模块829的情况,但是本发明不局限于此而是可以以Wi-Fi模块823、BT模块825、GPS模块827以及NFC模块828中的至少一个模块使用独立的RF模块发射/接收RF信号的形式实施。
SIM卡824可被设计为插入到在电子装置预设的位置处形成的槽中。SIM卡824可存储唯一身份信息(例如,集成电路卡识别码(ICCID))或用户信息(例如,国际移动用户识别码(IMSI))。
存储器830(例如,存储器130)可包括内部存储器832和外部存储器834中的至少一个存储器。内部存储器832可包括易失性存储器(例如,动态随机存取存储器(DRAM)、静态RAM(SRAM)、同步动态RAM(SDRAM))或非易失性存储器(例如,一次可编程只读存储器(OTPROM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、掩模ROM、闪速ROM,NAND闪速存储器以及NOR闪速存储器))中的至少一种存储器。
根据实施例,内部存储器832可以是固态盘(SSD)。外部存储器834可以是闪速盘,诸如,小型快闪卡(CF)、安全数字卡(SD)、微型SD、极速卡(xD)以及记忆棒。外部存储器834可通过各种接口功能地连接到电子装置801。根据实施例,电子装置801可包括存储装置(或存储介质),诸如,硬盘。
传感器模块840可测量物理量或检查电子装置801的操作状态并将测量或检查的信息转换成电信号。传感器模块840可包括姿势传感器840A、陀螺仪传感器840B、气压传感器840C、磁性传感器840D、加速度传感器840E、手握传感器840F、接近传感器840G、颜色传感器840H(例如,红、绿、蓝(RGB)传感器)、生物传感器840I、温度/湿度传感器840J、照度传感器840K以及紫外线(UV)传感器840M。另外或可选择地,传感器模块840可包括电子鼻传感器(未示出)、肌电图(EMG)传感器(未示出)、脑电图(EEG)传感器(未示出)、心电图(ECG)传感器(未示出)、红外(IR)传感器(未示出)、虹膜传感器(未示出)以及指纹传感器(未示出)。传感器模块840还可包括用于控制包括在其中的传感器中的至少一个传感器的控制电路。
输入装置850可包括触摸面板852、(数字)笔传感器854、键856以及超声输入装置858。触摸面板852可以是电容式、电阻式、红外式、微波式触摸面板中的一种。触摸面板852可包括控制电路。在电容式触摸面板情况下,可以检测物理接触或接近。触摸面板852还可包括触觉层。在这种情况下,触摸面板852可向用户提供触觉反应。
(数字)笔传感器854可用以与用户的触摸输入相同或相似的方式的薄片(sheet)或分离的识别薄片来实现。键856可包括物理按钮、光学键以及键盘。超声输入装置858是能够通过麦克风888检测声波来检查数据的装置并可被实现为用于无线识别。根据实施例,电子装置801可接收通过通信模块820连接的外部装置(例如,计算机或服务器)的手段制造的用户输入。
显示器860(例如,显示模块150)可包括面板862、全息图装置864以及投影仪866。面板862可以是液晶显示器(LCD)面板或有源矩阵有机发光二极管(AMOLED)面板。面板862可被实现为柔性的、透明的和/或可穿戴的。面板862可被实现为与触摸面板852集成的模块。全息图装置864可利用光的干涉在空气中呈现三维图像。投影仪866可将图像投影到屏幕。屏幕可位于电子装置的内部或外部。根据实施例,显示器860可包括用于控制面板862、全息图装置864以及投影仪866的控制电路。
接口870可包括高清多媒体接口(HDMI)872、通用串行总线(USB)874、光学接口876以及模拟接口(D-sub)878。接口870可包括如图1所示的通信接口160。另外或可选择地,接口870可包括移动高清连接(MHL)接口、SD/MMC卡接口以及红外数据通讯(irDA)标准接口。
音频模块880可将声音转换成电信号且反之亦然。音频模块880中的至少一部分可包括在如图1所示的输入/输出接口140。音频模块880可处理通过扬声器882、接收机884、耳机886以及麦克风888输入或输出的音频信息。
相机模块891是能够拍摄静止和运动图像的装置,并根据实施例而包括至少一个图像传感器(例如,前和后传感器)、镜头(未示出)、图像信号处理器(ISP)(未示出)以及闪关灯(例如,LED或氙灯)(未示出)。
电源管理模块895可管理电子装置801的电源。虽然未示出,电源管理模块895可包括电源管理集成电路(PMIC)、充电器集成电路(IC)、电池以及电池或燃料计量表。
PMIC可以集成到集成电路或SoC半导体中。充电可分为无线充电和有线充电。充电器IC可对电池进行充电并保护充电器免受过电压或过电流损坏。根据实施例,充电器IC可包括有线充电器IC和无线充电器IC中的至少一种充电器IC。无线充电技术的示例包括谐振无线充电和电磁波无线充电,并且需要用于无线充电的额外的电路,诸如,线圈回路、谐振电路和二极管。
电池计量表可以测量电池896的剩余电量、充电电压、电流及温度。电池896可存储或产生电力并将存储或产生的电力提供给电子装置801。电池896可包括可充电电池或太阳能电池。
指示器897可显示电子装置801或电子装置的一部分的操作状态、启动状态、消息传递状态以及充电状态。电机898可将电信号转换成机械振动。虽然未示出,但是电子装置801可包括用于支持移动TV的处理单元(例如,GPU)。用于支持移动TV的处理单元能够处理遵守广播标准(诸如,电子多媒体广播(DMB)、数字视频广播(DVB)和媒体流)的媒体数据。
如上所述,本发明的电子装置的文本显示方法和设备在通过识别包括在文档中的段落并将段落折到各自段落的当前部分来减少页面滚动的数量方面具有优越性。
此外,本发明的电子装置的文本显示方法和设备在当折叠段落延伸时,以放大段落的字体大小或段落的突出显示的方式来提高文本的易读性方面具有优越性。
上述列举的本发明的电子装置的组件可实现在一个或多个部分中,且对应的组件的名称可根据电子装置的类型而改变。本发明的电子装置可包括省略了一些组件的至少一个上述组件或添加了一些组件的至少一个上述组件。本发明的电子装置的组件可选择性地组合为实体以执行等同于结合之前的组件的功能。
根据本发明的实施例,术语“模块”表示,但不限于,软件、硬件和固件或它们的任意组合中的一个的单元(unit)。术语“模块”可与术语“单元”、“逻辑”、“逻辑块”、“组件”或“电路”互换使用。术语“模块”可表示组件的最小单元或其中的一部分。术语“模块”可以是执行至少一个功能或其中一部分功能的最小单元。模块可以机械实现或电子实现。例如,模块可包括已知的或为特定操作开发的专用集成电路(ASIC)芯片、现场可编程门阵列(FPGAs)和可编程逻辑装置中的至少一个。
根据本发明的各种实施例,装置(例如,模块或它们的功能)或方法可通过存储在计算机可读存储介质中的计算机程序指令来实现。在指令被至少一个处理器(例如,处理器120)执行的情况下,所述至少一个处理器可执行与指令对应的功能。计算机可读存储介质可以是存储器130。编程模块的至少一部分可由处理器120实现(例如,执行)。编程模块的至少一部分可包括模块、程序、例程、指令的集合以及用于执行至少一种功能的处理。
计算机可读存储介质包括磁性介质(诸如,软盘和磁带)、包括紧凑盘(CD)ROM和数字视频盘(DVD)ROM的光学介质、磁光介质(诸如,软盘)以及设计用于存储和执行程序命令的硬件装置(诸如,ROM、RAM和闪存)程序命令包括使用解释器并由计算机执行的语言代码以及由编译器创建的机器语言代码。上述的硬件装置可用一个或多个用于执行本发明的各种示例性实施例的操作的软件模块来实现。
本发明的模块或编程模块可包括省略了一些组件的上述组件或添加了其他组件的上述至少一个组件。模块、编程模块或其他组件的操作可串行、并行、递归、或探试地执行。此外,一些操作可与其他操作以不同的顺序、省略地或扩展地执行。
虽然已使用特定术语描述了本发明的各种实施例,但是说明书和附图应以用于帮助理解本发明的说明性而非限制性意义来考虑。显然,本领域的普通技术人员在不脱离本发明的更广泛的精神和范围的情况下,可对本发明进行各种修改和改变。

Claims (20)

1.一种使用多处理单元对任务进行调度的方法,所述方法包括:
将任务分配给电子装置的第一处理单元中的一个第一处理单元;以及
至少部分地基于与任务相关的性能控制条件,将任务转移给第二处理单元中的一个第二处理单元来处理。
2.根据权利要求1所述的方法,其中,第一处理单元和第二处理单元中的至少一个处理单元是能够执行任务的指令的最小实体。
3.根据权利要求1所述的方法,其中,第一处理单元是高性能处理单元和低性能处理单元中的一种处理单元,第二处理单元是高性能处理单元和低性能处理单元中的另一种处理单元。
4.根据权利要求3所述的方法,其中,低性能处理单元是低功率处理单元。
5.根据权利要求1所述的方法,其中,性能控制条件对应于操作系统的启动、检测到对于应用程序的用户输入、应用程序执行、网站的加载、内容的下载或上传、电池电流下降到低于阈值以及有线/无线数据传输中的至少一种。
6.根据权利要求1所述的方法,还包括:当给定的时间流逝时,将任务从第二处理单元转移到第一处理单元。
7.根据权利要求1所述的方法,还包括:至少部分地基于性能控制条件的完成和任务的工作负荷,将任务分配给第一处理单元或第二处理单元。
8.根据权利要求1所述的方法,其中,分配任务的步骤包括:当任务的工作负荷高于阈值时,将任务分配给第二处理单元,而当任务的工作负荷低于或等于阈值时,将任务分配给第一处理单元。
9.一种电子装置,包括:
第一处理单元;
第二处理单元;
调度器单元,被构造为将任务分配给第一处理单元;以及
性能控制条件器,检测与任务相关的性能控制条件的产生,
其中,调度器单元至少部分地根据性能控制条件将任务转移给第二处理单元来处理。
10.根据权利要求9所述的电子装置,其中,第一处理单元和第二处理单元中的至少一个处理单元组成一个或多个独立的处理器。
11.根据权利要求9所述的电子装置,还包括:任务管理器,监视任务的工作负荷变为大于阈值还是小于或等于阈值并将任务的状态改变通知给调度器单元,其中,性能控制条件器检测与任务相关的性能控制条件的产生并将与产生的性能控制条件相关的任务的信息通知给调度器单元。
12.根据权利要求9所述的电子装置,其中,性能控制条件对应于操作系统的启动、检测到对于应用程序的用户输入、应用程序的执行、网站的加载、内容的下载或上传、电池电流下降到低于阈值以及有线/无线数据传输中的至少一种。
13.根据权利要求9所述的电子装置,其中,调度器单元在给定的时间流逝时将已转移到第二处理单元的任务从第二处理单元转移到第一处理单元。
14.根据权利要求9所述的电子装置,其中,调度器单元在任务的工作负荷高于阈值时,将任务分配给第一处理单元,而在任务的工作负荷低于或等于阈值时,将任务分配给第二处理单元。
15.根据权利要求9所述的电子装置,其中,第一处理单元和第二处理单元中的至少一个处理单元为能够执行任务的指令的最小实体。
16.根据权利要求9所述的电子装置,其中,第一处理单元是高性能处理单元和低性能处理单元中的一种处理单元,第二处理单元是高性能处理单元和低性能处理单元中的另一种处理单元。
17.根据权利要求16所述的电子装置,其中,低性能处理单元为低功率处理单元。
18.一种存储介质,该存储介质存储使计算机执行任务调度方法的指令,其中,所述指令被构造为将任务分配给功能地连接到电子装置的第一处理单元中的一个处理单元,并至少部分地基于与任务相关的性能控制条件,将任务转移给第二处理单元中的一个处理单元来处理。
19.根据权利要求18所述的存储介质,其中,所述指令还被构造为当给定的时间流逝时,将所述任务从第二处理单元转移给第一处理单元。
20.根据权利要求18所述的存储介质,其中,所述指令还被构造为至少部分地根据任务的性能控制条件和工作负载的完成,将所述任务分配给第一处理单元或第二处理单元。
CN201580006490.9A 2014-01-29 2015-01-29 任务调度方法和设备 Active CN105980987B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011376119.0A CN112328384A (zh) 2014-01-29 2015-01-29 任务调度方法和设备

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2014-0011796 2014-01-29
KR1020140011796A KR102205836B1 (ko) 2014-01-29 2014-01-29 태스크 스케줄링 방법 및 장치
PCT/KR2015/001001 WO2015115852A1 (en) 2014-01-29 2015-01-29 Task scheduling method and apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011376119.0A Division CN112328384A (zh) 2014-01-29 2015-01-29 任务调度方法和设备

Publications (2)

Publication Number Publication Date
CN105980987A true CN105980987A (zh) 2016-09-28
CN105980987B CN105980987B (zh) 2020-12-15

Family

ID=53757362

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011376119.0A Pending CN112328384A (zh) 2014-01-29 2015-01-29 任务调度方法和设备
CN201580006490.9A Active CN105980987B (zh) 2014-01-29 2015-01-29 任务调度方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011376119.0A Pending CN112328384A (zh) 2014-01-29 2015-01-29 任务调度方法和设备

Country Status (5)

Country Link
US (2) US10733017B2 (zh)
EP (1) EP3100162B1 (zh)
KR (1) KR102205836B1 (zh)
CN (2) CN112328384A (zh)
WO (1) WO2015115852A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569122A (zh) * 2018-06-05 2019-12-13 三星电子株式会社 多处理器系统、多核处理设备及其操作方法
US20200089182A1 (en) * 2015-12-10 2020-03-19 Siemens Aktiengesellschaft Distributed embedded data and knowledge management system integrated with plc historian
CN111857321A (zh) * 2019-04-26 2020-10-30 夏普株式会社 电子设备、控制装置、信息处理装置、信息处理系统
CN112834819A (zh) * 2021-01-04 2021-05-25 杭州万高科技股份有限公司 一种用于电能计量芯片的数字信号处理装置及方法
CN113688975A (zh) * 2021-08-24 2021-11-23 北京市商汤科技开发有限公司 神经网络的训练方法、装置、电子设备及存储介质
CN118025049A (zh) * 2024-04-15 2024-05-14 成都创科升电子科技有限责任公司 一种基于调度器的车辆电控件的控制方法、系统及车辆

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102205836B1 (ko) * 2014-01-29 2021-01-21 삼성전자 주식회사 태스크 스케줄링 방법 및 장치
US20230185608A1 (en) * 2016-08-11 2023-06-15 Rescale, Inc. Compute recommendation engine
US10073715B2 (en) * 2016-12-19 2018-09-11 Intel Corporation Dynamic runtime task management
KR102402044B1 (ko) * 2017-10-19 2022-05-26 삼성전자주식회사 전자 장치 및 그의 서비스 제공 방법
US11775336B2 (en) * 2019-12-20 2023-10-03 Intel Corporation Apparatus and method for performance state matching between source and target processors based on interprocessor interrupts
US11645251B2 (en) * 2020-01-15 2023-05-09 Citrix Systems, Inc. Proactive database scaling
US11467850B2 (en) * 2020-11-11 2022-10-11 Micron Technology, Inc. Computing device reboot
CN112559176A (zh) * 2020-12-11 2021-03-26 广州橙行智动汽车科技有限公司 一种指令处理方法和装置
US11755100B2 (en) * 2021-03-18 2023-09-12 Dell Products L.P. Power/workload management system
US20230018828A1 (en) * 2021-07-13 2023-01-19 Intel Corporation Device, method and system to provide thread scheduling hints to a software process

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860446A (zh) * 2003-12-16 2006-11-08 苹果计算机公司 支持高性能和高能效执行的准对称多处理器
US20120066688A1 (en) * 2010-09-13 2012-03-15 International Business Machines Corporation Processor thread load balancing manager
CN102473161A (zh) * 2009-08-18 2012-05-23 国际商业机器公司 用以降低事件驱动系统中的功率和/或冷却成本的分散式负荷分配
US20120304187A1 (en) * 2011-05-27 2012-11-29 International Business Machines Corporation Dynamic task association
US20130086591A1 (en) * 2011-10-04 2013-04-04 Salesforce.Com, Inc. System, method and computer program product for controlling a process using a process map
US20140019656A1 (en) * 2008-02-29 2014-01-16 Herbert Hum Distribution of tasks among asymmetric processing elements

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4318174A (en) 1975-12-04 1982-03-02 Tokyo Shibaura Electric Co., Ltd. Multi-processor system employing job-swapping between different priority processors
US4223380A (en) 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
US6757897B1 (en) * 2000-02-29 2004-06-29 Cisco Technology, Inc. Apparatus and methods for scheduling and performing tasks
US7529820B2 (en) * 2001-06-26 2009-05-05 Landesk Software, Inc. Method and apparatus to perform automated task handling
US7209116B2 (en) * 2003-10-08 2007-04-24 Universal Electronics Inc. Control device having integrated mouse and remote control capabilities
US8028292B2 (en) 2004-02-20 2011-09-27 Sony Computer Entertainment Inc. Processor task migration over a network in a multi-processor system
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system
US7526661B2 (en) * 2004-12-02 2009-04-28 Intel Corporation Performance state-based thread management
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
JP2006309691A (ja) * 2005-03-28 2006-11-09 Hitachi Ltd リソース割当管理装置およびリソース割当方法
US7694107B2 (en) * 2005-08-18 2010-04-06 Hewlett-Packard Development Company, L.P. Dynamic performance ratio proportionate distribution of threads with evenly divided workload by homogeneous algorithm to heterogeneous computing units
TWI279678B (en) * 2005-09-07 2007-04-21 Mitac Technology Corp Method for fast switching between different operating systems in computer device with multiple operating systems
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US9128766B1 (en) * 2006-04-24 2015-09-08 Hewlett-Packard Development Company, L.P. Computer workload redistribution schedule
JP2007336182A (ja) * 2006-06-14 2007-12-27 Funai Electric Co Ltd コンテンツ配信システム、及びネットワークサーバ
US8032888B2 (en) * 2006-10-17 2011-10-04 Oracle America, Inc. Method and system for scheduling a thread in a multiprocessor system
US20080115010A1 (en) 2006-11-15 2008-05-15 Rothman Michael A System and method to establish fine-grained platform control
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US8886917B1 (en) * 2007-04-25 2014-11-11 Hewlett-Packard Development Company, L.P. Switching to core executing OS like codes upon system call reading greater than predetermined amount of data
US8122455B2 (en) * 2007-06-26 2012-02-21 Intel Corporation Balancing of load in a network processor
KR20090005921A (ko) 2007-07-10 2009-01-14 삼성전자주식회사 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치
US7779237B2 (en) * 2007-07-11 2010-08-17 International Business Machines Corporation Adaptive execution frequency control method for enhanced instruction throughput
US8387066B1 (en) * 2007-09-28 2013-02-26 Emc Corporation Dependency-based task management using set of preconditions to generate scheduling data structure in storage area network
US20090165007A1 (en) * 2007-12-19 2009-06-25 Microsoft Corporation Task-level thread scheduling and resource allocation
US8107184B2 (en) * 2008-01-10 2012-01-31 Pioneer Corporation Operation control apparatus, operation control method, operation control program controlling operation of magnetic disc device
DE102008005124A1 (de) 2008-01-18 2009-07-23 Kuka Roboter Gmbh Computersystem, Steuerungsvorrichtung für eine Maschine, insbesondere für einen Industrieroboter, und Industrieroboter
KR101400286B1 (ko) * 2008-01-22 2014-05-26 삼성전자주식회사 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치
US8381221B2 (en) * 2008-03-04 2013-02-19 International Business Machines Corporation Dynamic heat and power optimization of resource pools
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8341557B2 (en) * 2008-09-05 2012-12-25 Apple Inc. Portable touch screen device, method, and graphical user interface for providing workout support
US8219994B2 (en) * 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
KR101222740B1 (ko) * 2008-10-28 2013-01-15 후지쯔 가부시끼가이샤 휴대 단말기 및 입력 제어 방법
US9043795B2 (en) * 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
US8897372B2 (en) * 2009-02-18 2014-11-25 Nec Corporation Task allocation device, task allocation method, and storage medium storing task allocation program
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US20110055838A1 (en) 2009-08-28 2011-03-03 Moyes William A Optimized thread scheduling via hardware performance monitoring
US8276142B2 (en) * 2009-10-09 2012-09-25 Intel Corporation Hardware support for thread scheduling on multi-core processors
US9176572B2 (en) * 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US20110213935A1 (en) * 2010-03-01 2011-09-01 Arm Limited Data processing apparatus and method for switching a workload between first and second processing circuitry
JP5557590B2 (ja) * 2010-05-06 2014-07-23 株式会社日立製作所 負荷分散装置及びシステム
KR20110128023A (ko) * 2010-05-20 2011-11-28 삼성전자주식회사 멀티 코어 프로세서, 멀티 코어 프로세서의 태스크 스케줄링 장치 및 방법
WO2011155047A1 (ja) 2010-06-10 2011-12-15 富士通株式会社 マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム
US8516492B2 (en) * 2010-06-11 2013-08-20 International Business Machines Corporation Soft partitions and load balancing
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
JPWO2012120654A1 (ja) * 2011-03-08 2014-07-07 富士通株式会社 タスクスケジューリング方法およびマルチコアシステム
US8683243B2 (en) * 2011-03-11 2014-03-25 Intel Corporation Dynamic core selection for heterogeneous multi-core systems
US8447291B2 (en) * 2011-04-14 2013-05-21 Qualcomm Incorporated Selective state transitions of a user equipment within a wireless communications system
KR20130020420A (ko) * 2011-08-19 2013-02-27 삼성전자주식회사 반도체 장치의 태스크 스케쥴링 방법
US9069553B2 (en) * 2011-09-06 2015-06-30 Marvell World Trade Ltd. Switching tasks between heterogeneous cores
US9442773B2 (en) * 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
JP6003049B2 (ja) * 2011-11-30 2016-10-05 富士通株式会社 情報処理装置、画像送信方法及び画像送信プログラム
US8689220B2 (en) * 2011-11-30 2014-04-01 International Business Machines Corporation Job scheduling to balance energy consumption and schedule performance
WO2013101139A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Providing an asymmetric multicore processor system transparently to an operating system
US8984526B2 (en) * 2012-03-09 2015-03-17 Microsoft Technology Licensing, Llc Dynamic processor mapping for virtual machine network traffic queues
US20150205614A1 (en) * 2012-03-21 2015-07-23 Mika Lähteenmäki Method in a processor, an apparatus and a computer program product
US10185566B2 (en) * 2012-04-27 2019-01-22 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor
EP2847674A4 (en) * 2012-05-09 2016-01-27 Intel Corp PLANNING TASKS AMONG PROCESSORS C URS
WO2013171362A1 (en) * 2012-05-16 2013-11-21 Nokia Corporation Method in a processor, an apparatus and a computer program product
US8970525B1 (en) * 2012-06-27 2015-03-03 Google Inc. Method and system for trackpad input error mitigation
US9785217B2 (en) * 2012-09-28 2017-10-10 Synaptics Incorporated System and method for low power input object detection and interaction
US9116703B2 (en) * 2012-10-15 2015-08-25 Advanced Micro Devices, Inc. Semi-static power and performance optimization of data centers
US20140173623A1 (en) * 2012-12-17 2014-06-19 Mediatek Inc. Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium
KR20140080058A (ko) * 2012-12-20 2014-06-30 삼성전자주식회사 멀티코어를 위한 로드 밸런싱 방법 및 휴대 단말
US9448829B2 (en) * 2012-12-28 2016-09-20 Intel Corporation Hetergeneous processor apparatus and method
KR102082859B1 (ko) * 2013-01-07 2020-02-28 삼성전자주식회사 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
CN103139390A (zh) * 2013-02-27 2013-06-05 Tcl通讯(宁波)有限公司 一种解锁手机屏幕的方法、系统及手机
US9442559B2 (en) * 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
CN105247486B (zh) * 2013-05-23 2019-05-21 瑞萨电子株式会社 多cpu系统及多cpu系统的调整方法
US9342374B2 (en) * 2013-06-28 2016-05-17 Dell Products, L.P. Method of scheduling threads for execution on multiple processors within an information handling system
US9612879B2 (en) * 2013-08-01 2017-04-04 Texas Instruments Incorporated System constraints-aware scheduler for heterogeneous computing architecture
US9436265B2 (en) * 2013-10-24 2016-09-06 Fujitsu Limited Information processing apparatus and load control method
KR102205836B1 (ko) * 2014-01-29 2021-01-21 삼성전자 주식회사 태스크 스케줄링 방법 및 장치
KR102326945B1 (ko) 2014-03-14 2021-11-16 삼성전자 주식회사 태스크 마이그레이션 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860446A (zh) * 2003-12-16 2006-11-08 苹果计算机公司 支持高性能和高能效执行的准对称多处理器
US20140019656A1 (en) * 2008-02-29 2014-01-16 Herbert Hum Distribution of tasks among asymmetric processing elements
CN102473161A (zh) * 2009-08-18 2012-05-23 国际商业机器公司 用以降低事件驱动系统中的功率和/或冷却成本的分散式负荷分配
US20120066688A1 (en) * 2010-09-13 2012-03-15 International Business Machines Corporation Processor thread load balancing manager
US20120304187A1 (en) * 2011-05-27 2012-11-29 International Business Machines Corporation Dynamic task association
US20130086591A1 (en) * 2011-10-04 2013-04-04 Salesforce.Com, Inc. System, method and computer program product for controlling a process using a process map

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RAKESH KUMAR等: ""Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction"", 《PROCEEDINGS OF THE 36TH INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200089182A1 (en) * 2015-12-10 2020-03-19 Siemens Aktiengesellschaft Distributed embedded data and knowledge management system integrated with plc historian
CN110569122A (zh) * 2018-06-05 2019-12-13 三星电子株式会社 多处理器系统、多核处理设备及其操作方法
CN110569122B (zh) * 2018-06-05 2024-06-07 三星电子株式会社 多处理器系统、多核处理设备及其操作方法
CN111857321A (zh) * 2019-04-26 2020-10-30 夏普株式会社 电子设备、控制装置、信息处理装置、信息处理系统
CN112834819A (zh) * 2021-01-04 2021-05-25 杭州万高科技股份有限公司 一种用于电能计量芯片的数字信号处理装置及方法
CN112834819B (zh) * 2021-01-04 2024-04-02 杭州万高科技股份有限公司 一种用于电能计量芯片的数字信号处理装置及方法
CN113688975A (zh) * 2021-08-24 2021-11-23 北京市商汤科技开发有限公司 神经网络的训练方法、装置、电子设备及存储介质
CN118025049A (zh) * 2024-04-15 2024-05-14 成都创科升电子科技有限责任公司 一种基于调度器的车辆电控件的控制方法、系统及车辆

Also Published As

Publication number Publication date
EP3100162B1 (en) 2021-03-31
KR102205836B1 (ko) 2021-01-21
WO2015115852A1 (en) 2015-08-06
US20200364085A1 (en) 2020-11-19
EP3100162A4 (en) 2018-07-18
US10733017B2 (en) 2020-08-04
KR20150090788A (ko) 2015-08-06
US11429439B2 (en) 2022-08-30
US20170168872A1 (en) 2017-06-15
EP3100162A1 (en) 2016-12-07
CN112328384A (zh) 2021-02-05
CN105980987B (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
CN105980987A (zh) 任务调度方法和设备
CN106469928B (zh) 电子设备和电子设备中有线和无线充电的方法
US10218058B2 (en) Electronic device including antenna
US10283920B2 (en) Interface device
KR102629141B1 (ko) 배터리의 충전을 제어하기 위한 방법 및 그 전자 장치
US9690618B2 (en) Method for task scheduling and electronic device using the same
US20170041272A1 (en) Electronic device and method for transmitting and receiving content
US10761498B2 (en) Electronic device and method for operating the same
US10402222B2 (en) Task migration method and apparatus
KR20160092671A (ko) 전자 장치 및 전력 관리 방법
KR102657052B1 (ko) 배터리 충전 방법 및 전자 장치
KR20180014494A (ko) 화면 제어 방법 및 이를 지원하는 전자 장치
EP3113320A1 (en) Method for controlling multiple batteries and electronic device for implementing same
CN106030601A (zh) 用于利用轻量级容器对运行时的安卓应用创建沙盒的方法和设备
CN104866065A (zh) 低功率驱动方法以及执行低功率驱动方法的电子装置
KR20180074050A (ko) 전자 장치 및 전자 장치의 충전 제어 방법
KR20160048589A (ko) 커플링을 이용하는 안테나 및 전자 장치
KR20170019615A (ko) 전자 기기의 해상도 조정 방법 및 장치
KR102657535B1 (ko) 전자 장치 및 그의 동작 방법
KR20160064734A (ko) 충전 제어 방법 및 그 방법을 처리하는 전자장치
KR20160104965A (ko) 전자 장치, 그 동작 방법 및 기록 매체
CN108351726A (zh) 输入处理方法和设备
CN105446611A (zh) 用于对触摸输入进行处理的装置及其方法
CN106940635A (zh) 用于输出声音的方法以及支持该方法的电子设备
KR20170060980A (ko) 구동 주파수를 제어하는 전자 장치와 이의 동작 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant