KR20080098416A - 다중 프로세서 애플리케이션 지원을 위한 시스템 및 방법 - Google Patents

다중 프로세서 애플리케이션 지원을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20080098416A
KR20080098416A KR1020087021940A KR20087021940A KR20080098416A KR 20080098416 A KR20080098416 A KR 20080098416A KR 1020087021940 A KR1020087021940 A KR 1020087021940A KR 20087021940 A KR20087021940 A KR 20087021940A KR 20080098416 A KR20080098416 A KR 20080098416A
Authority
KR
South Korea
Prior art keywords
application
processor
attribute
processors
computer readable
Prior art date
Application number
KR1020087021940A
Other languages
English (en)
Other versions
KR101131852B1 (ko
Inventor
폴 이. 제이콥스
스테판 에이. 스프리그
Original Assignee
콸콤 인코포레이티드
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 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20080098416A publication Critical patent/KR20080098416A/ko
Application granted granted Critical
Publication of KR101131852B1 publication Critical patent/KR101131852B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Multi Processors (AREA)

Abstract

다중 프로세서 시스템에서 애플리케이션 지원을 제공하는 방법 및 메커니즘이 개시되며, 이는 애플리케이션을 실행하기 위한 요청을 수신하는 단계, 상기 애플리케이션과 관련된, 다수의 프로세서로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정하는 속성을 식별하는 단계, 상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하는 단계, 상기 애플리케이션의 스케줄링에 응답하여 상기 애플리케이션을 로딩하는 단계, 및 상기 지정된 프로세서를 이용하여 상기 애플리케이션을 실행하는 단계를 포함한다.

Description

다중 프로세서 애플리케이션 지원을 위한 시스템 및 방법{SYSTEM AND METHOD FOR MULTI-PROCESSOR APPLICATION SUPPORT}
본 출원은 2006년 2월 17일자 제출된 예비 출원 60/774,938호에 대한 우선권을 주장한다.
본 발명은 일반적으로 연산 장치들에 대한 전력 관리 분야에 관한 것으로, 보다 구체적으로는 다중 프로세서 모바일 장치에 대한 전력 관리에 관한 것이다.
오늘날 소비자들은 핸드헬드 셀룰러 전화기와 같은 모바일 장치를 사용하여 매우 많은 다른 것들을 수행한다. 종래의 모바일 장치들은 다양한 타입의 소프트웨어 애플리케이션을 실행할 수 있고, 종종 새로운 소프트웨어 제품들을 추가 또는 설치하는 능력을 포함할 수 있다. 이러한 소프트웨어 제품들은 각각 소프트웨어 제품이 이를 실행하는 프로세서에 배치하는 연산 요건의 양에 부분적으로 기초하여 실행하기 위해 서로 다른 레벨의 시스템 전력을 필요로 한다. 예컨대, 네이티브 사용자 인터페이스("Ul") 애플리케이션들은 종종 다중 매체 애플리케이션이나 고속 게임보다 훨씬 적은 연산 노력을 필요로 한다.
어떤 모바일 장치들은 저 전력 프로세서 및 고 전력 프로세서를 포함하는 2-프로세서 설계를 사용함으로써 이러한 문제의 해결을 시도한다. 이러한 설계를 사 용하면, 어떤 기능들은 항상 저 전력 프로세서(예를 들어, 모뎀을 동작시키는 코드)를 사용하고 다른 기능들은 항상 고 전력 프로세서(예를 들어, 임의의 설치된 애플리케이션)을 사용하도록 모바일 장치의 기능들이 분리된다. 이러한 설계는 사용자에 대해 높은 레벨의 성능을 보장하지만, 필요한 연산 노력의 레벨과 상관없이 애플리케이션을 취급하기 위해 고 전력 프로세서에 전력이 공급되기 때문에 배터리 수명을 단축하게 된다.
지금까지 모바일 장치에서 다중 프로세서 플랫폼을 지원하기 위한 적절한 시스템이 당업자들을 곤란하게 해왔다.
본 발명은 다중 프로세서 시스템에서 애플리케이션을 실행하는 시스템 및 방법에 관한 것이다. 간단히 말하면, 적어도 하나의 저 전력 프로세서 및 하나의 고 전력 프로세서를 포함하는 다중 프로세스(예를 들어, 듀얼 프로세서) 주문형 집적 회로("ASIC")가 제공된다. ASIC는 애플리케이션의 실행을 지원하도록 구성된 운영 시스템에 의해 제어된다. 애플리케이션이 로딩될 때, 운영 시스템은 애플리케이션과 관련된 속성을 평가하여 다중 프로세서들 중 어느 것에서 애플리케이션을 실행할지를 결정한다. 애플리케이션은 적절한 프로세서에서 실행되도록 스케줄링된다.
한 형태에서, 다중 프로세서 시스템에서 애플리케이션을 실행하는 방법은 애플리케이션을 실행하기 위한 요청을 수신하는 단계, 및 상기 애플리케이션과 관련된 속성을 식별하는 단계를 포함한다. 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정한다. 상기 방법은 또한 상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하는 단계를 포함한다. 상기 방법은 추가로 상기 지정된 프로세서를 통해 상기 애플리케이션을 실행하는 단계를 포함한다.
다른 형태에서, 모바일 장치는 제 1 프로세서, 제 2 프로세서, 상기 프로세서들과 통신하는 적어도 하나의 메모리 저장 장치, 및 상기 프로세서들에 의해 판독 가능한 적어도 하나의 컴퓨터 판독 가능 메모리 장치를 포함한다. 상기 컴퓨터 판독 가능 메모리는 상기 프로세서들로 하여금 운영 시스템에서 애플리케이션을 실행하기 위한 요청을 수신하게 하고; 상기 애플리케이션과 관련된 속성을 식별하게 하며 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션을 실행할 프로세서를 식별함 -; 상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하게 하며; 상기 지정된 프로세서를 이용하여 상기 애플리케이션을 실행하게 하도록 구성된 일련의 컴퓨터 실행 가능 단계들을 포함한다.
또 다른 형태로, 다중 프로세서 시스템에서 애플리케이션을 실행하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 매체는 애플리케이션을 실행하기 위한 요청을 수신하기 위한 컴퓨터 판독 가능 코드; 상기 애플리케이션과 관련된 속성을 식별하기 위한 컴퓨터 판독 가능 코드 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -; 상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하기 위한 컴퓨터 판독 가능 코드; 및 상기 지정된 프로세서를 이용하여 상기 애플리케이션이 실행되게 하기 위한 컴퓨터 판독 가능 코드를 포함한다.
다른 형태에서, 다중 프로세서 시스템에서 애플리케이션을 실행하는 시스템은 상기 애플리케이션을 실행하기 위한 요청을 수신하는 수단; 상기 애플리케이션과 관련된 속성을 식별하는 수단 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -; 상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하는 수단; 및 상기 지정된 프로세서를 이용하여 상기 애플리케이션을 실행하는 수단을 포함한다.
다른 형태에서, 다중 프로세서 환경에서 애플리케이션을 처리하는 방법은 애플리케이션을 처리하기 위한 요청을 수신하는 단계, 상기 애플리케이션과 관련된 속성을 식별하는 단계 - 상기 속성은 다수의 프로세서로부터 상기 애플리케이션의 처리에 이용할 프로세서를 지정함 -, 및 상기 애플리케이션을 처리하는 단계를 포함한다. 한 형태에서, 상기 애플리케이션은 콘텐츠 데이터일 수 있다.
다른 형태에서, 모바일 장치는 제 1 프로세서, 제 2 프로세서, 상기 프로세서들과 통신하는 적어도 하나의 메모리 저장 장치, 및 상기 프로세서들에 의해 판독 가능한 적어도 하나의 컴퓨터 판독 가능 메모리 장치를 포함한다. 상기 컴퓨터 판독 가능 메모리는 상기 프로세서들로 하여금 운영 시스템에서 애플리케이션을 처리하기 위한 요청을 수신하게 하고; 상기 애플리케이션과 관련된 속성을 식별하게 하며 - 상기 속성은 다수의 프로세서로부터 상기 애플리케이션의 처리에 이용할 프로세서를 지정함 -; 상기 지정된 프로세서를 이용하여 상기 애플리케이션을 실행하게 하도록 구성된 일련의 컴퓨터 실행 가능 단계들을 포함한다. 일 실시예에서, 상기 애플리케이션은 콘텐츠 데이터일 수 있다.
도 1은 발명의 구현들이 특히 적용될 수 있는 모바일 장치를 일반적으로 설명하는 기능 블록도이다.
도 2는 발명의 실시예에 따라 다중 프로세서 애플리케이션 지원을 제공하는 시스템을 일반적으로 설명하는 기능 블록도이다.
도 3은 발명의 실시예에 따라 다중 프로세서 애플리케이션 지원을 제공하는 운영 시스템의 개념 설명이다.
도 4는 다중 프로세서 애플리케이션 지원을 제공하는 프로세스를 일반적으로 설명하는 동작 흐름도이다.
다음은 모바일 장치에서 전력 관리를 위한 다양한 기술 및 메커니즘의 상세한 설명이다. 매우 일반적으로 말하면, 본 발명은 애플리케이션의 속성을 기초로 다수의 프로세서 중 애플리케이션을 실행할 프로세서의 결정에 관한 것이다. 이 설명 전반에서 "애플리케이션"이라는 용어는 한정이 아닌 편의상 사용된다는 점에 유의한다. 예를 들어, 여기서 사용되는 "애플리케이션"은 처리를 위해 프로세서에 전송된 임의의 기능, 작업, 콘텐츠 또는 다른 데이터를 포함하는 것으로 당업자들에 의해 인식될 것이다.
도 1은 발명의 구현이 특히 적용될 수 있는 샘플 모바일 장치(101)를 일반적 으로 설명하는 기능 블록도이다. 모바일 장치(101)는 셀룰러폰, 개인 휴대 단말, 휴대용 뮤직 플레이어, 글로벌 위치 결정 위성(GPS) 장치 등과 같은 임의의 핸드헬드 연산 장치일 수 있다. 여기서는 핸드헬드 연산 장치와 관련하여 설명하지만, 발명의 구현은 랩탑, 데스크탑, 또는 심지어 서버 연산 장치와 같은 다른 분야에도 동일한 응용 가능성을 갖는 것으로 이해해야 한다.
이 예에서, 모바일 장치(101)는 다중 프로세서 장치(102), 메모리, 저장 매체(113) 및 통신 모듈(121)을 포함하며, 이들 모두 시스템 버스(107)를 통해 연결된다. 다중 프로세서 장치(102)는 단일 유닛으로 캡슐화된 제 1 프로세서 유닛(104) 및 제 2 프로세서 유닛(106)을 포함하는 주문형 집적 회로("ASIC")일 수도 있다. (도시하지 않은) 다른 실시예에서, 각 프로세서는 이산 유닛으로서 구현된다.
본 발명의 일 실시예에 따르면, 어떤 프로세서 유닛(예를 들어, 프로세서 유닛 1(104))은 다른 프로세서 유닛(예를 들어, 프로세서 유닛 2(106)보다 더 강력하다. 더 많은 처리 스루풋이 바람직할 때 더 강력한 프로세서가 선택될 수 있는데, 이는 예를 들어 프로세서 집약적인 애플리케이션에 더 적당할 수도 있다. 그러나 덜 강력한 프로세서는 더 적은 전력을 소비하고, 따라서 배터리 수명을 더 풍부하게 하며 (작업을 포함하는) 덜 프로세스 집약적인 애플리케이션의 기준에 더 잘 맞을 수도 있다. 각 프로세서 유닛(프로세서 유닛(104, 106)은 마이크로프로세서 또는 디지털 신호 프로세서(DSP)와 같은 특수 프로세서이지만, 대안으로 임의의 종래 형태의 프로세서, 제어기, 마이크로컨트롤러나 상태 머신일 수도 있다. 일례로, 제 1 프로세서 유닛(104)은 고 전력 마이크로프로세서로서 구현되고, 제 2 프로세서 유닛(106)은 저 전력 DSP로서 구현된다. 모바일 장치(101)는 또한 당업자들에게 공지된 추가 성분들을 포함할 수도 있다.
다중 프로세서 장치(102)는 메모리에 연결되며, 메모리는 프로세서 유닛(104, 106)에 의해 실행되는 소프트웨어 명령들을 보유하는 RAM으로 구현될 수도 있다. 이 실시예에서, 메모리에 저장되는 소프트웨어 명령들은 하나 이상의 애플리케이션(112) 및 운영 시스템(110)을 포함한다. 메모리는 독립형 RAM으로 구현되거나 프로세서 유닛(104, 106)과 함께 다중 프로세서 장치(102)에 통합되어 개선된 효율을 달성할 수 있다는 점을 주지하는 것이 중요하다. 메모리는 스마트미디어 카드와 같은 플래시 메모리나 펌웨어로 구성될 수 있다. 다른 실시예에서, 운영 시스템(110)은 애플리케이션(112)으로부터의 하나 이상의 애플리케이션의 실행에 어느 프로세서 유닛을 사용할지를 운영 시스템(110)이 결정할 수 있게 하는 소프트웨어 명령들을 포함한다.
저장 매체(113)는 단지 몇 개만을 말하면, ROM 메모리, 플래시 메모리 또는 자기 디스크 드라이브와 같은 임의의 비휘발성 메모리로서 구현될 수 있다. 저장 매체(113)는 또한 캐시(RAM) 메모리를 구비한 자기 디스크 드라이브 등과 같이 상기 또는 다른 기술들의 임의의 조합으로서 구현될 수도 있다. 이러한 특정 실시예에서, 저장 매체(113)는 모바일 장치(101)에 전력이 공급될 수 있는 기간 동안 또는 전력 없이 데이터를 저장하는데 사용된다.
통신 모듈(121)은 모바일 장치(101)와 하나 이상의 다른 연산 장치 간의 양 방향 통신을 가능하게 한다. 통신 모듈(121)은 셀룰러폰 네트워크, 블루투스 접속, 무선 근거리 통신망 또는 무선 광대역 통신망과 같이 RF 또는 다른 무선 통신을 가능하게 하는 성분들을 포함할 수 있다. 대안으로, 통신 모듈(121)은 이더넷 접속, 범용 직렬 버스, IEEE 1394(펌웨어) 접속 등과 같이 지선 또는 배선에 의한 네트워크 접속을 가능하게 하는 성분들을 포함할 수도 있다. 이들이 전적인 리스트를 말하는 것은 아니고 많은 다른 대안이 가능하다.
도 2는 발명의 구현들이 특히 적용될 수 있는 시스템 메모리(108)를 약간 더 상세히 설명하는 기능 블록도이다. 상술한 바와 같이, 시스템 메모리(108)는 운영 시스템(210)과 제 1 애플리케이션(240) 및 제 2 애플리케이션(250)과 같은 하나 이상의 애플리케이션을 포함한다. 이러한 각 성분은 여기서 발명과 관련하여 설명될 것이다.
발명의 원리를 설명하기 위해, 제 1 애플리케이션(240)은 멀티미디어 애플리케이션이나 고속 게임과 같은 조건에 맞게 수행하기 위해 더 큰 처리 전력을 필요로 한다. 제 2 애플리케이션(250)은 네이티브 사용자 인터페이스 모듈 등과 같은 조건에 맞게 수행하기 위해 더 적은 처리 전력을 필요로 한다. 각 애플리케이션은 또한 모듈 정보 파일("MIF" 파일)과 같은 관련 메타 정보를 가지며, 이는 아이콘, 제목, 및 동작하기 위해 필요로 하는 특권들의 목록과 같이 애플리케이션에 관한 두드러진 항목들을 포함한다. 따라서 제 1 애플리케이션(240)은 관련 MIF 파일(241)을 갖고, 제 2 애플리케이션(250)은 관련 MIF 파일(251)을 갖는다.
각 개별 MIF 파일은 다수의 프로세서 중 어느 것이 애플리케이션을 실행하는 지를 직접 식별하거나 애플리케이션을 실행할 프로세서를 결정하는데 사용될 수 있는 식별 정보를 포함하는 식별자 또는 속성("proc 속성")을 더 포함한다. 예를 들어, 제 1 애플리케이션(240)은 제 1 애플리케이션(240)이 더 큰 처리 전력을 필요로 한다는 것을 지시하는 proc 속성(242)을 포함하는 MIF 파일(241)을 갖는다. 마찬가지로, 제 2 애플리케이션(250)은 제 2 애플리케이션이 더 적은 처리 전력을 필요로 하며 저 전력 프로세서에서 충분히 기능할 수 있다는 것을 지시하는 proc 속성(252)을 포함하는 MIF 파일(251)을 갖는다. 속성에서 데이터의 실제 형태는 많은 형태를 취할 수 있다는 점에 유의해야 한다. 예를 들어, 일반적으로 프로세서들을 그 연산 성능, 전력 소비 또는 둘 다에 의해 분류하는 프로세서들의 클래스들이 개발될 수 있는 것으로 기대된다. 이런 식으로, proc 속성은 애플리케이션을 실행할 특정 프로세서를 직접 식별하기보다는 간단히 최소 필요 프로세서를 식별할 수 있다.
운영 시스템(O/S)(210)은 모바일 장치의 하드웨어 및 소프트웨어를 조직하고 제어하도록 구성된다. 이러한 특정 실시예에서, 운영 시스템(210)은 스케줄러(232) 및 로더(loader; 235)를 포함한다. 스케줄러(232)는 모바일 장치에서 실행하고 있는 프로세스를 관리하고, 각 프로세스 또는 스레드에 대한 프로세서 시간을 스케줄링한다. 또한, 스케줄러(232)는 애플리케이션의 proc 속성을 참조함으로써 특정 애플리케이션을 실행할 프로세서를 결정하도록 구성된다. 그 때문에, 스케줄러(232)는 애플리케이션과 관련된 MIF 파일로부터 메타 정보를 직접 또는 간접적으로 읽어 애플리케이션을 실행할 프로세서를 결정하도록 구성된다. 로더(235) 는 프로세스에 애플리케이션을 로딩하고 스케줄러(232)의 제어 하에 특정 프로세서를 통해 애플리케이션의 실행을 시작하도록 구성된다. 일 실시예에서, 스케줄러(232) 및 로더(235)는 실행의 커널 모드 또는 보호 모드로 동작한다.
동작시, 운영 시스템(210)은 셸(shell)로부터의 시스템 호출 등을 통해 제 1 애플리케이션(240)을 실행하기 위한 명령을 수신한다. 이 명령은 사용자 인터페이스에서의 사용자 선택 및 아이콘 활성화 등에 의해 초기화될 수 있다. 이러한 특정 구현에서, 운영 시스템(210)은 애플리케이션(240)의 위치를 결정하기 위해 로컬 저장 장치에 문의한다. 운영 시스템(210)은 애플리케이션(240)에 대한 MIF 파일(241)을 읽어, 관련 애플리케이션을 실행할 때 다중 프로세서 환경에 사용될 프로세서와 같이, 애플리케이션(240)에 대한 실행 환경을 식별한다. 운영 시스템(210)은 MIF 파일(241)로부터 proc 속성(242)을 추출하고 이를 애플리케이션(240)을 실행하기 위한 명령과 함께 스케줄러(232)에 전달할 수 있다.
스케줄러는 애플리케이션의 proc 속성에 따라, 시스템 메모리(180)에 로딩되어 특정 프로세서에서 실행될 애플리케이션을 스케줄링한다. 로더는 식별된 메모리 위치에 애플리케이션을 로딩한다. 스케줄러(232) 및 운영 시스템(210)이 애플리케이션과 프로세서를 정합하는 능력은 전체 시스템 전력 이용 효율을 향상시킨다.
다른 실시예에서, 스케줄러(232)가 애플리케이션(예를 들어, 제 1 애플리케이션(240) 및 제 2 애플리케이션(250))으로부터 속성(예를 들어, 각각 속성(242, 252))을 읽을 때, 스케줄러(232)는 애플리케이션을 프로세서에 정합하지 못 할 수 도 있다. 예를 들어, 단일 프로세서 구성에서 스케줄러(232)는 간단히 proc 속성을 무시할 수 있고, 종래의 방식으로 애플리케이션의 실행을 스케줄링할 수 있다. 마찬가지로, 다중 프로세서 구성에서 속성에 의해 식별되는 프로세서가 이용 가능하지 않을 때 스케줄러(232)는 시스템 프로세서의 가장 효율적인 사용과 같은 다른 기준을 기초로 애플리케이션을 스케줄링한다. 또 다른 예로, 다중 프로세서 구성에서 애플리케이션이 바람직한 프로세서를 식별하지 않을 때 스케줄러(232)는 시스템 프로세서의 가장 효율적인 이용과 같이 종래의 방식으로 애플리케이션을 스케줄링할 수 있다.
도 3은 발명에 따라 애플리케이션의 속성을 기초로 2개의 프로세서에서 각각 4개의 애플리케이션 각각의 실행을 스케줄링하는 운영 시스템(310)의 도면 설명이다. 도 3에 나타낸 예시적인 애플리케이션 로딩 시스템(300)은 상술한 모바일 장치(101) 상에 구현될 수 있다. 애플리케이션 로딩 시스템(300)은 내부에서 애플리케이션 로딩 시스템(300)이 동작하는 연산 시스템의 전체 효율을 증가시키는데 사용된다. 이는 운영 시스템(310)에 지정된 프로세서를 통해 애플리케이션을 실행할 것을 지시하는 애플리케이션과 관련된 (도 2에서 상술한) 속성을 식별하여 판독함으로써 이루어진다.
도 3에서, 애플리케이션 로딩 시스템(300)은 제 1 프로세서(304), 제 2 프로세서(306), 운영 시스템(310), 제 1 애플리케이션(320), 제 2 애플리케이션(330), 제 3 애플리케이션(340) 및 제 4 애플리케이션(350)을 포함한다. ASIC 상의 프로세서 코어일 수도 있는 제 1 프로세서(304)는 상대적으로 높은 성능 및 전력 처리 유닛이다. 반면, 제 1 프로세서(304)와 동일한 ASIC 상의 다른 프로세서일 수도 있는 제 2 프로세서(306)는 제 1 프로세서(304)보다 적은 전력을 소비하는 상대적으로 낮은 성능의 처리 유닛이다.
이 예에서, 제 1 애플리케이션(320)은 네이티브 사용자 인터페이스(U/i) 애플리케이션이고, 제 2 애플리케이션(330)은 .mpeg 파일을 보거나 .wav 파일을 재생하기 위한 것과 같은 멀티미디어 애플리케이션이고, 제 3 애플리케이션(340)은 네이티브 셀룰러 송신 및/또는 수신 애플리케이션이며, 제 4 애플리케이션(350)은 게임과 같은 고속 엔터테인먼트 애플리케이션이다. 이에 따라, 제 1 애플리케이션(320) 및 제 3 애플리케이션(340)이 더 낮은 전력의 프로세서를 이용하여 허용 가능한 레벨의 성능을 달성하게 될 것으로 사전에 결정되었다. 반면, 제 2 애플리케이션(330) 및 제 4 애플리케이션(350)은 허용 가능한 성능 레벨을 달성하기 위해 더 높은 전력의 프로세서를 필요로 하는 것으로 결정되었다. 따라서 제 1 애플리케이션(320) 및 제 3 애플리케이션(340) 모두 제 2 프로세서(306)를 상기 애플리케이션들을 실행할 바람직한 프로세서로서 식별하는 속성을 포함한다. 마찬가지로, 제 2 애플리케이션(330) 및 제 4 애플리케이션(350) 모두 제 1 프로세서(304)를 상기 애플리케이션을 실행할 바람직한 프로세서로 식별하는 속성을 포함한다.
추가로, 애플리케이션 내의 속성에 의해 지정된 프로세서가 이용 가능하지 않다면, 운영 시스템(310)은 다른 기준을 기초로 애플리케이션의 실행을 스케줄링한다. 예를 들어, 저 전력 프로세서가 고도로 사용되고 있는 기간 동안 충분한 성능을 달성하기 위해, 운영 시스템(310)은 고 전력 프로세서를 통해 실행할 다른 저 전력 애플리케이션을 스케줄링할 수 있다. 더욱이, 프로세서가 애플리케이션 내의 속성에 의해 지정되지 않을 때, 운영 시스템(310)은 종래의 로드 밸런싱이나 전력 고려와 같은 다른 기준을 기초로 애플리케이션을 스케줄링할 수 있다.
도 4는 다중 프로세서 시스템에서 어떤 프로세서를 실행할지를 지시하기 위한 지원을 애플리케이션에 제공하는 방법(400)을 일반적으로 설명하는 동작 흐름도이다. 일 실시예에서, 방법(400)은 도 1-3의 예시적인 동작 환경의 성분들로 구현된다. 바람직하게, 방법(400)의 하나 이상의 단계는 컴퓨터 판독 가능 코드가 연산 장치상에서 실행될 때 일련의 단계들이 구현되도록 컴퓨터 판독 가능 코드를 포함하는 컴퓨터 판독 가능 매체에 구체화된다. 어떤 구현에서, 방법(400)의 어떤 단계들은 방법(400)의 목적을 벗어나지 않으면서 조합되거나, 동시에 또는 다른 순서로 수행된다.
단계(410)에서, 다중 프로세서 시스템 내의 애플리케이션의 실행을 위한 요청이 운영 시스템에 수신된다. 일 실시예에서, 운영 시스템은 셸로부터의 시스템 호출 등을 통해 애플리케이션을 실행하라는 명령을 수신한다. 일례로, 상기 도 1을 참조하면, 운영 시스템(110)은 미디어 제어 성분(111)을 통해 셸로부터의 시스템 호출과 같은 애플리케이션(112) 내의 애플리케이션을 실행하라는 명령을 수신한다.
단계(420)에서, 애플리케이션과 관련된 속성이 식별된다. 속성은 다중 프로세서 시스템 내에서 어떤 프로세서가 애플리케이션을 실행할지를 결정하는데 사용되는 정보를 제공한다. 일 실시예에서, 애플리케이션과 관련된 속성은 운영 시스 템의 성분에 의해 식별된다. 일례로, 상기 도 2를 참조하면, 운영 시스템(210)은 제 1 애플리케이션(240)과 관련된 제 1 proc 속성을 식별하고, 식별된 속성의 성분들을 스케줄러(232)에 전달한다.
단계(430)에서, 식별된 속성을 기초로 지정된 프로세서를 통한 실행을 위해 애플리케이션 스케줄링된다. 일 실시예에서, 스케줄러는 식별된 프로세서가 현재 애플리케이션의 실행을 지원하기 위해 허용 가능한 이용에서 동작하고 있는지를 판단한다. 일례로, 상기 도 1 및 도 2를 참조하면, (운영 시스템(210, 110) 내의) 스케줄러(232)는 애플리케이션(240)을 실행하기 위한 프로세스를 생성한 다음, 제 1 프로세서(104) 상에서의 실행을 위해 해당 프로세스를 스케줄링한다.
단계(440)에서, 애플리케이션의 스케줄링에 응답하여 애플리케이션 로딩된다. 일 실시예에서, 로딩될 애플리케이션을 스케줄링하는 스케줄러에 응답하여 로더가 애플리케이션을 메모리에 로딩한다. 일례로, 상기 도 1 및 도 2를 참조하면, 로더(235)는 로딩될 애플리케이션(240)을 스케줄링하는 스케줄러(232)에 응답하여 애플리케이션(240)을 메모리(108)에 로딩한다.
단계(450)에서, 지정된 프로세서를 이용하여 애플리케이션이 실행된다. 일 실시예에서, 스케줄러는 미리 식별된 프로세서의 스택 포인터를 애플리케이션의 부분들을 포함하는 메모리 위치로 설정한다.
유리하게, 상술한 시스템 및 기술들은 단일 ASIC 상에 2개의 프로세서 코어를 갖는 모바일 장치를 가능하게 하며, 여기서 한 프로세서 코어는 다른 프로세서 코어보다 낮은 전력 소비 요건을 갖고, 두 프로세서 코어는 RAM 및 운영 시스템 성 분들과 같은 자원들을 공유한다. 또한, 모바일 장치에 설치된 애플리케이션들은 어느 프로세서를 통해 애플리케이션들이 실행되는지를 관리하는 엄격한 규칙보다는, 적절한 전력 및 성능 밸런스를 이루게 하는 프로세서를 통한 실행을 위해 스케줄링될 수 있다. 이러한 시스템 및 기술들은 애플리케이션 이용성을 반드시 희생하지 않고도 배터리 수명을 향상시킨다.
본 발명은 특정 실시예 및 구현을 참조로 설명되었지만, 이들은 예시일 뿐, 발명의 범위는 이들 실시예에 한정되지 않는 것으로 이해되어야 한다. 상술한 실시예들에 대한 많은 변형, 수정, 추가 및 개선이 가능하다. 이들 변형, 수정, 추가 및 개선은 다음 청구범위 내에 열거된 것과 같이 발명의 범위 내에 있다.

Claims (16)

  1. 다중 프로세서 시스템에서 애플리케이션을 실행하는 방법으로서,
    상기 애플리케이션을 실행하기 위한 요청을 수신하는 단계;
    상기 애플리케이션과 관련된 속성을 식별하는 단계 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -;
    상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하는 단계; 및
    상기 지정된 프로세서를 이용하여 상기 애플리케이션을 실행하는 단계를 포함하는, 애플리케이션 실행 방법.
  2. 제 1 항에 있어서,
    상기 다수의 프로세서들은 더 높은 스루풋의 프로세서 및 더 낮은 스루풋의 프로세서를 포함하는 것을 특징으로 하는 애플리케이션 실행 방법.
  3. 제 2 항에 있어서,
    상기 애플리케이션의 스루풋 처리 필요를 기초로 애플리케이션과 관련된 속성을 할당하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 실행 방법.
  4. 다중 프로세서 시스템에서 애플리케이션을 처리하는 방법으로서,
    상기 애플리케이션을 처리하기 위한 요청을 수신하는 단계;
    상기 애플리케이션과 관련된 속성을 식별하는 단계 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 처리에 이용할 프로세서를 지정함 -; 및
    상기 지정된 프로세서를 이용하여 상기 애플리케이션을 처리하는 단계를 포함하는, 애플리케이션 처리 방법.
  5. 제 4 항에 있어서,
    상기 다수의 프로세서들은 더 높은 스루풋의 프로세서 및 더 낮은 스루풋의 프로세서를 포함하는 것을 특징으로 하는 애플리케이션 처리 방법.
  6. 제 4 항에 있어서,
    상기 애플리케이션은 콘텐츠 데이터인 것을 특징으로 하는 애플리케이션 처리 방법.
  7. 모바일 장치로서,
    통신 버스;
    제 1 프로세서;
    제 2 프로세서;
    상기 프로세서들과 통신하는 적어도 하나의 메모리 저장 장치; 및
    상기 프로세서들에 의해 판독 가능한 적어도 하나의 컴퓨터 판독 가능 메모 리 장치를 포함하며, 상기 컴퓨터 판독 가능 메모리 장치는 상기 프로세서들로 하여금:
    운영 시스템에서 애플리케이션을 실행하기 위한 요청을 수신하게 하고;
    상기 애플리케이션과 관련된 속성을 식별하게 하며 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션을 실행할 프로세서를 식별함 -;
    상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하게 하며;
    상기 지정된 프로세서를 통해 상기 애플리케이션을 실행하게 하도록 구성된 일련의 컴퓨터 실행 가능 단계들을 포함하는, 모바일 장치.
  8. 모바일 장치로서,
    통신 버스;
    제 1 프로세서;
    제 2 프로세서;
    상기 프로세서들과 통신하는 적어도 하나의 메모리 저장 장치; 및
    상기 프로세서들에 의해 판독 가능한 적어도 하나의 컴퓨터 판독 가능 메모리 장치를 포함하며, 상기 컴퓨터 판독 가능 메모리 장치는 상기 프로세서들로 하여금:
    운영 시스템에서 애플리케이션을 처리하기 위한 요청을 수신하게 하 고;
    상기 애플리케이션과 관련된 속성을 식별하게 하며 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션을 처리할 프로세서를 식별함 -;
    상기 지정된 프로세서를 통해 상기 애플리케이션을 처리하게 하도록 구성된 일련의 컴퓨터 실행 가능 단계들을 포함하는, 모바일 장치.
  9. 제 8 항에 있어서,
    상기 제 1 프로세서는 상기 제 2 프로세서와 다른 처리 스루풋을 갖는 것을 특징으로 하는 모바일 장치.
  10. 제 8 항에 있어서,
    상기 애플리케이션은 콘텐츠 데이터인 것을 특징으로 하는 모바일 장치.
  11. 다중 프로세서 시스템에서 애플리케이션을 실행하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 매체로서,
    상기 애플리케이션을 실행하기 위한 요청을 수신하기 위한 컴퓨터 판독 가능 코드;
    상기 애플리케이션과 관련된 속성을 식별하기 위한 컴퓨터 판독 가능 코드 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -;
    상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하기 위한 컴퓨터 판독 가능 코드;
    상기 애플리케이션의 스케줄링에 응답하여 상기 애플리케이션을 로딩하기 위한 컴퓨터 판독 가능 코드; 및
    상기 애플리케이션의 로딩에 응답하여 상기 지정된 프로세서를 이용하여 상기 애플리케이션을 실행하기 위한 컴퓨터 판독 가능 코드를 포함하는, 컴퓨터 판독 가능 매체.
  12. 다중 프로세서 시스템에서 애플리케이션을 처리하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 매체로서,
    상기 애플리케이션을 처리하기 위한 요청을 수신하기 위한 컴퓨터 판독 가능 코드;
    상기 애플리케이션과 관련된 속성을 식별하기 위한 컴퓨터 판독 가능 코드 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -; 및
    상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 처리을 위해 상기 애플리케이션을 스케줄링하기 위한 컴퓨터 판독 가능 코드를 포함하는, 컴퓨터 판독 가능 매체.
  13. 제 12 항에 있어서,
    상기 애플리케이션은 콘텐츠 데이터인 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  14. 다중 프로세서 시스템에서 애플리케이션을 실행하는 장치로서,
    상기 애플리케이션을 실행하기 위한 요청을 수신하는 수단;
    상기 애플리케이션과 관련된 속성을 식별하는 수단 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -;
    상기 식별된 속성을 기초로 상기 지정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하는 수단; 및
    상기 지정된 프로세서를 통해 상기 애플리케이션을 실행하는 수단을 포함하는, 애플리케이션 실행 장치.
  15. 다중 프로세서 시스템에서 애플리케이션을 처리하는 장치로서,
    상기 애플리케이션을 처리하기 위한 요청을 수신하는 수단;
    상기 애플리케이션과 관련된 속성을 식별하는 수단 - 상기 속성은 다수의 프로세서들로부터 상기 애플리케이션의 실행에 이용할 프로세서를 지정함 -; 및
    상기 지정된 프로세서를 통해 상기 애플리케이션을 처리하는 수단을 포함하는, 애플리케이션 처리 장치.
  16. 제 15 항에 있어서,
    상기 애플리케이션은 콘텐츠 데이터인 것을 특징으로 하는 애플리케이션 처리 장치.
KR1020087021940A 2006-02-17 2007-02-16 멀티-프로세서 애플리케이션 지원을 위한 시스템 및 방법 KR101131852B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US77493806P 2006-02-17 2006-02-17
US60/774,938 2006-02-17
PCT/US2007/062356 WO2007098424A2 (en) 2006-02-17 2007-02-16 System and method for multi-processor application support

Publications (2)

Publication Number Publication Date
KR20080098416A true KR20080098416A (ko) 2008-11-07
KR101131852B1 KR101131852B1 (ko) 2012-03-30

Family

ID=38330454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087021940A KR101131852B1 (ko) 2006-02-17 2007-02-16 멀티-프로세서 애플리케이션 지원을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20070198981A1 (ko)
EP (1) EP1989623A2 (ko)
JP (1) JP2009527828A (ko)
KR (1) KR101131852B1 (ko)
CN (1) CN101385000A (ko)
WO (1) WO2007098424A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116166A (ko) * 2010-06-08 2013-10-23 어드밴스드 마이크로 디바이시즈, 인코포레이티드 멀티-코어 프로세서용 멀티스레드 애플리케이션-인지 메모리 스케줄링 기법
KR20140111558A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 모바일 시스템의 최적화 방법
KR20160125137A (ko) * 2015-04-21 2016-10-31 삼성전자주식회사 애플리케이션 프로세서와 시스템 온 칩
KR20200140380A (ko) * 2018-04-20 2020-12-15 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914786B2 (en) * 2007-03-23 2014-12-16 Zumobi, Inc. Systems and methods for controlling application updates across a wireless interface
US8286196B2 (en) * 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
EP2135163B1 (en) 2007-04-11 2018-08-08 Apple Inc. Data parallel computing on multiple processors
US8276164B2 (en) 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
US8341611B2 (en) 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US11836506B2 (en) 2007-04-11 2023-12-05 Apple Inc. Parallel runtime execution on multiple processors
GB2452316B (en) * 2007-08-31 2009-08-19 Toshiba Res Europ Ltd Method of Allocating Resources in a Computer.
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
JP2009075827A (ja) * 2007-09-20 2009-04-09 Panasonic Corp プログラム実行装置
EP2071351A1 (en) * 2007-12-11 2009-06-17 Telefonaktiebolaget LM Ericsson (publ) Method and device for providing location services
US20090184866A1 (en) * 2008-01-18 2009-07-23 Simon Lethbridge Method and device for providing location services
EP2141593A1 (en) * 2008-07-02 2010-01-06 Telefonaktiebolaget L M Ericsson (Publ) Requirement dependent allocation of hardware units to applications
JP2011180816A (ja) * 2010-03-01 2011-09-15 Nec Corp 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
JP5345990B2 (ja) * 2010-08-27 2013-11-20 レノボ・シンガポール・プライベート・リミテッド 特定のプロセスを短時間で処理する方法およびコンピュータ
US9268611B2 (en) 2010-09-25 2016-02-23 Intel Corporation Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores
US8516205B2 (en) * 2010-10-29 2013-08-20 Nokia Corporation Method and apparatus for providing efficient context classification
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US9026047B2 (en) 2011-06-29 2015-05-05 Broadcom Corporation Systems and methods for providing NFC secure application support in battery-off mode when no nonvolatile memory write access is available
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US9489067B2 (en) * 2012-08-17 2016-11-08 Qualcomm Incorporated Scalable touchscreen processing with realtime role negotiation among asymmetric processing cores
US9229526B1 (en) * 2012-09-10 2016-01-05 Amazon Technologies, Inc. Dedicated image processor
WO2015089780A1 (zh) * 2013-12-19 2015-06-25 华为技术有限公司 一种应用进程调度方法和装置
CN103885800A (zh) * 2014-03-11 2014-06-25 深圳市道通科技有限公司 嵌入式处理器动态加载执行代码的实现方法及装置
US9419905B2 (en) * 2014-04-04 2016-08-16 International Business Machines Corporation Data streaming scheduler for dual chipset architectures that includes a high performance chipset and a low performance chipset
CN106663217B (zh) * 2014-09-01 2019-11-05 电子监控有限公司 非接触式信息通信终端装置、卡型设备、携带电话机以及可穿戴式设备
CN105487918A (zh) * 2014-10-08 2016-04-13 展讯通信(上海)有限公司 一种信息独立处理系统
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3019317B2 (ja) * 1989-03-13 2000-03-13 株式会社日立製作所 プロセススケジューリング方法
JP2972232B2 (ja) * 1989-08-30 1999-11-08 株式会社日立製作所 計算機ネツトワーク・システムの制御方式
US6513057B1 (en) * 1996-10-28 2003-01-28 Unisys Corporation Heterogeneous symmetric multi-processing system
JP3733402B2 (ja) * 1998-12-16 2006-01-11 富士通株式会社 プロセッサ資源選択方法ならびにそのためのプロセッサ資源選択システムおよびコンピュ−タ読み取り可能なプログラム記録媒体
JP2001022599A (ja) * 1999-07-06 2001-01-26 Fujitsu Ltd フォールトトレラント・システム,フォールトトレラント処理方法およびフォールトトレラント制御用プログラム記録媒体
US6501999B1 (en) * 1999-12-22 2002-12-31 Intel Corporation Multi-processor mobile computer system having one processor integrated with a chipset
JP2002175187A (ja) * 2000-12-05 2002-06-21 Nippon Telegr & Teleph Corp <Ntt> コンテンツカプセルの実行管理方法、コンピュータシステム及びコンテンツカプセルを記録した記録媒体
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
JP2002215597A (ja) * 2001-01-15 2002-08-02 Mitsubishi Electric Corp マルチプロセッサ装置
JP2002288150A (ja) * 2001-03-28 2002-10-04 Matsushita Electric Ind Co Ltd 半導体集積回路装置
JP2002297556A (ja) * 2001-03-29 2002-10-11 Fujitsu Ltd マルチプロセッサシステム,マルチプロセッサ制御方法,マルチプロセッサ制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP2003274010A (ja) * 2002-03-14 2003-09-26 Hitachi Ltd 携帯電話機
US8032891B2 (en) * 2002-05-20 2011-10-04 Texas Instruments Incorporated Energy-aware scheduling of application execution
US20040064829A1 (en) * 2002-09-30 2004-04-01 Kim Pallister Method for identifying processor affinity and improving software execution
JP2004310549A (ja) * 2003-04-08 2004-11-04 Nec Corp マルチプロセッサおよび携帯端末
US20050022173A1 (en) * 2003-05-30 2005-01-27 Codito Technologies Private Limited Method and system for allocation of special purpose computing resources in a multiprocessor system
US7389508B2 (en) * 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US20050097248A1 (en) * 2003-10-29 2005-05-05 Kelley Brian H. System and method for establishing a communication between a peripheral device and a wireless device
JP2005148901A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd ジョブスケジューリングシステム
US20050132239A1 (en) * 2003-12-16 2005-06-16 Athas William C. Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
JP4051462B2 (ja) * 2004-01-22 2008-02-27 日本電信電話株式会社 グリッドシステムにおけるデータ配布方法、グリッドシステム、グリッド仲介装置、グリッド仲介プログラム
US7412411B2 (en) * 2004-04-26 2008-08-12 Qualcomm Inc Methods and apparatus for gifting over a data network
WO2006011189A1 (ja) * 2004-07-26 2006-02-02 Mitsubishi Denki Kabushiki Kaisha 並列計算機
CN100474214C (zh) * 2004-08-05 2009-04-01 松下电器产业株式会社 信息处理装置
US20060294401A1 (en) * 2005-06-24 2006-12-28 Dell Products L.P. Power management of multiple processors

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116166A (ko) * 2010-06-08 2013-10-23 어드밴스드 마이크로 디바이시즈, 인코포레이티드 멀티-코어 프로세서용 멀티스레드 애플리케이션-인지 메모리 스케줄링 기법
KR20140111558A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 모바일 시스템의 최적화 방법
KR20160125137A (ko) * 2015-04-21 2016-10-31 삼성전자주식회사 애플리케이션 프로세서와 시스템 온 칩
US10990153B2 (en) 2015-04-21 2021-04-27 Samsung Electronics Co., Ltd. Application processor and system on chip
US11693466B2 (en) 2015-04-21 2023-07-04 Samsung Electronics Co., Ltd. Application processor and system on chip
KR20200140380A (ko) * 2018-04-20 2020-12-15 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체
US11782756B2 (en) 2018-04-20 2023-10-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and apparatus for scheduling processor core, and storage medium

Also Published As

Publication number Publication date
EP1989623A2 (en) 2008-11-12
US20070198981A1 (en) 2007-08-23
WO2007098424A3 (en) 2007-11-29
JP2009527828A (ja) 2009-07-30
WO2007098424A2 (en) 2007-08-30
CN101385000A (zh) 2009-03-11
KR101131852B1 (ko) 2012-03-30

Similar Documents

Publication Publication Date Title
KR101131852B1 (ko) 멀티-프로세서 애플리케이션 지원을 위한 시스템 및 방법
EP2962198B1 (en) Executing an operating system on processors having different instruction set architectures
US9323547B2 (en) Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores
US9207968B2 (en) Computing system using single operating system to provide normal security services and high security services, and methods thereof
US9298438B2 (en) Profiling application code to identify code portions for FPGA implementation
US8904399B2 (en) System and method of executing threads at a processor
US20110131430A1 (en) Managing accelerators of a computing environment
US20100211769A1 (en) Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
US10402223B1 (en) Scheduling hardware resources for offloading functions in a heterogeneous computing system
EP2864869B1 (en) Api redirection for limited capability operating systems
CN100365576C (zh) 嵌入式操作系统内存镜像启动优化的实现方法
KR20240091183A (ko) 프로세서 코어 상의 작업 배치를 결정하기 위한 시스템, 방법 및 디바이스
US20130061239A1 (en) System and Method for Operating a Processor
CN116360941A (zh) 一种面向多核dsp的并行计算资源自组织调度方法及系统
US20120158651A1 (en) Configuration of asynchronous message processing in dataflow networks
CN116028005A (zh) 音频会话获取方法、装置、设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 8