WO2006085281A2 - Procede destine a predire des ressources necessaires dans une plate-forme de traitement de donnees encastree - Google Patents

Procede destine a predire des ressources necessaires dans une plate-forme de traitement de donnees encastree Download PDF

Info

Publication number
WO2006085281A2
WO2006085281A2 PCT/IB2006/050433 IB2006050433W WO2006085281A2 WO 2006085281 A2 WO2006085281 A2 WO 2006085281A2 IB 2006050433 W IB2006050433 W IB 2006050433W WO 2006085281 A2 WO2006085281 A2 WO 2006085281A2
Authority
WO
WIPO (PCT)
Prior art keywords
platform
task
processing
signature
resources
Prior art date
Application number
PCT/IB2006/050433
Other languages
English (en)
Other versions
WO2006085281A3 (fr
Inventor
Liza Jo
Bijo Thomas
Original Assignee
Koninklijke Philips Electronics N.V.
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 Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of WO2006085281A2 publication Critical patent/WO2006085281A2/fr
Publication of WO2006085281A3 publication Critical patent/WO2006085281A3/fr

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Definitions

  • the invention relates to a method for predicting resource requirements in an embedded data processing platform for processing at least one application, a method for designing an embedded data processing platform, an embedded data processing system, and an embedded electronic device.
  • US 6,230,303 describes a co-synthesis approach and algorithm as well as a power distribution architecture derivation phase, following the synthesis phase.
  • the co- synthesis technique includes partitioning, allocating, scheduling and performance estimation as well as power estimation representing different stages in a generic hardware/software co- design approach.
  • US 6,112,023 describes a co-synthesis algorithm highlighting task scheduling and clustering approaches to check whether the real time constraints are met or not.
  • US 6,110,220 describes a concurrent co-synthesis approach of aperiodic and periodic specifications, in particular scheduling of embedded systems.
  • the above-mentioned prior art documents describe the co-synthesis, i.e. the process of partitioning of embedded system specification into hardware or software tasks or modules, scheduling them and evaluating the performance thereof based on predefined criteria.
  • An accurate prediction of speed and reliability is essential while launching a platform for commercial applications.
  • Performance modeling facilitates the cost-effective design and development of efficient systems.
  • Fig. 3 shows a simplified design flow diagram for embedded system design.
  • Step 11 deals with an initial description of the embedded system, i.e. a system level description SLD of the embedded system.
  • a first level simulation SIM is performed in step 12.
  • the synthesis of the hardware and software parts and their partitioning PART is performed as part of step 13.
  • the synthesis starts with the system specification and results in an architecture consisting of hardware and software modules. Synthesis of hardware and software can be performed either separately or by co-synthesis
  • the Hardware- Software co-synthesis involves partitioning, mapping, scheduling and performance estimation. Even though a first level performance estimation is executed at step 13 of Fig. 3, a detailed performance evaluation is needed for the effective design space exploration DSE and to determine a system with optimal performance.
  • the development life cycles of hardware and software may be different for hardware and software modules. Such a scenario arises when the design follows a platform approach with a platform template being used for many applications and many software workloads.
  • Fig. 4 shows the steps to be preformed during a performance analysis (step 14) of Fig. 3.
  • a system SYS can be considered as a collection of resources RES (functional elements like CPU, communication elements like bus, storage elements like memory and cache) processing a work load WL.
  • the workload WL corresponding to an application can be considered as a collection of tasks.
  • Performance analysis is the process to determine the performance of the system SYS.
  • the first step in performance analysis is to make or create a performance model PerMod of the system SYS and the next step is to predict the performance PP (resource usage) using this model PM.
  • the performance model PM is an abstract representation of the behavior of the system SYS.
  • the predicted output, i.e. predicted resource usage PRU is a set of performance numbers corresponding to the resource usage.
  • This object is solved by a method for predicting resource requirements according to claim 1, a method for designing an embedded data processing platform according to claim 7, an embedded data processing system according to claim 8, and an embedded electronic device according to claim 9.
  • a method for predicting resource requirements in an embedded data processing platform for processing at least one application is provided.
  • a predefined platform signature is associated to the embedded data processing platform.
  • the platform signature represents the processing resources provided by the platform as well as fundamental characteristics thereof.
  • the processing of the application is performed by at least one predefined task.
  • the task signature also includes the processing resource required by the task.
  • the task signatures are evaluated in view of the platform signature to determine whether the processing resource requirements of the task can be provided by the platform resources.
  • the allocation of resources among the tasks of an application running on an embedded system can be dependent on the signature of the tasks, into which the components of the application can be subdivided.
  • Platform signatures characterize the fundamental aspects of a platform independent of the applications executing on it.
  • a task signature may include a measure of the communication resources needed by the task such as the required computation bandwidth and the required input/output, the required communication, synchronization and memory resources, when running on a specific platform.
  • a task signature is associated to each of the tasks.
  • Task signature characterizes the fundamental aspects of a task/application independent of the platform where it executes.
  • processing resources provided by the platform are re-allocated if the processing resource requirements of the tasks cannot be provided by the platform resources. Accordingly, the processing resources can be allocated to the actual requirements of the applications.
  • a convolution of the task signatures to the platform signature is performed.
  • the architecture of the data processing platform is reconfigured, if the processing resource requirements of the tasks cannot be provided by the platform resources.
  • the resource prediction is performed at run-time such that the processing resources can be allocated to the actual requirements of the applications at run-time .
  • the invention also relates to a method for designing an embedded data processing platform for processing at least one application.
  • a design space exploration is preformed at a performance analysis stage.
  • a pre-defined platform signature is associated to the embedded data processing platform.
  • the platform signature represents the processing resources provided by the platform as well as fundamental characteristics of the platform.
  • the processing of an application is performed by at least one pre-defined task; wherein a pre- defined task signature is associated to each of the tasks, and the task signature represents the processing resources required by the task as well as fundamental characteristics of the task.
  • the task signatures is evaluated in view of the platform signature to determine whether the processing resource requirements of the tasks can be provided by the platform resources.
  • the invention further relates to an embedded data processing system.
  • a pre- defined platform signature is associated to the embedded data processing system.
  • the platform signature represents the processing resources provided by the data processing system as well as fundamental characteristics of the system.
  • At least one processing unit is provided for processing at least one application, wherein the processing of the application is performed by at least one pre-defined task.
  • a pre-defined task signature is associated to each of the tasks, and the task signature represents the processing resources required by the task as well as fundamental characteristics of the task.
  • a signature storing unit is provided for storing the pre-defined platform signature and the pre-defined task signatures.
  • a requirement prediction unit is provided for evaluating the task signatures in view of the platform signature to determine whether the processing resource requirements of the tasks can be provided by the platform resources.
  • the invention also relates to an embedded electronic device.
  • a pre-defined platform signature is associated to the embedded electronic device.
  • the platform signature represents the processing resources provided by the electronic device as well as fundamental characteristics of the device.
  • At least one processing unit is provided for processing at least one application, wherein the processing of the application is performed by at least one predefined task.
  • a pre-defined task signature is associated to each of the tasks, and the task signature represents the processing resources required by the task as well as fundamental characteristics of the task.
  • a signature storing unit is provided for storing the pre-defined platform signature and the pre-defined task signatures.
  • a requirement prediction unit is provided for evaluating the task signatures in view of the platform signature to determine whether the processing resource requirements of the tasks can be provided by the platform resources.
  • the invention is based on the idea to provide a characterization of a multi-media application, independent of the specific embedded platform on which it is executed, resulting in detailed summaries of the performed fundamental operations.
  • Many different application features may be included in these signatures, such as the ratio of memory references to arithmetic/logical operations, memory reference patterns, synchronization points, instruction level parallelism, thread level parallelism, data dependencies, DSP instructions, I/O characteristics, etc. Extracting the signature of an application facilitates the understanding of the performance bottlenecks of an existing design and to suggest performance improvements at the design stage itself. With such signatures a precise prediction of the resource requirements of another embedded platform to run a similar application can be performed.
  • the proposed invention provides a methodology to predict the performance of a software work load for embedded platforms. Using this methodology, the performance
  • Fig. 1 shows a flowchart of a method for predicting the resource requirement according to a first embodiment
  • Fig. 2 shows a block diagram of an architecture of an embedded platform according to a second embodiment
  • Fig. 3 shows a simplified design flow diagram for embedded system design
  • Fig. 4 shows the steps to be preformed during a performance analysis (step 14) of Fig. 3
  • a first embodiment is related to the resource requirement prediction for a multi core embedded platform (e.g. Nexperia/Viper2, OMAP) and applications like audio/video decoding.
  • a multi core embedded platform e.g. Nexperia/Viper2, OMAP
  • P 1 (Aj) P 1 (Aj,k), meets for all k
  • C 1 , C 2 ,..., C N are the application components forming the streaming application graph Gi.
  • P 1 (Aj ,k) corresponds to the predicted value of the performance of the application on platform architecture Aj for a resource k.
  • S i (C 1 ) corresponds to a signature of the application component Ci.
  • ® j , k represents an operator corresponding to platform Aj and resource k depending on some criteria/heuristics.
  • ⁇ j , k represents weight age factors of platform Aj and resource k with values depending on some criteria/heuristics.
  • the feasibility of running the application, on the embedded platform architecture Aj, meeting the required performance for the resource k can be determined.
  • the type of the operator ⁇ j,k and the value of the weight age factor ⁇ ])k are dependent on the platform instance Aj on which the application is to be executed as well as on the resource type k.
  • the values are dependent on the resources in the system such as bandwidth of the bus, memory size, cache size etc in the platform instance Aj.
  • the estimated performance P 1 (Aj,k) can be accurate or can be a reasonable approximation within the band of acceptable inaccuracy in the prediction. Such predictions will enable a system designer to perform an effective design space exploration in the design of complex systems.
  • Fig. 1 shows a flowchart of a method for predicting resource requirements in an embedded system according to a first embodiment.
  • the performance of the various application graphs Gi is predicted for the target platform instances Aj.
  • the performance parameters (resources) for the performance predicted can be CPU cycles, bus bandwidth, memory footprint etc.
  • Step 1 selects the application graph for which the performance on the platform architecture is to be predicted.
  • the signatures of the individual components corresponding to the selected Gi are loaded in step 2. These signatures can be computed offline and stored in some memory and are loaded in step 2 from the memory.
  • the embedded platform instances Aj are selected one by one (step 3). For each selected Aj the prediction is carried out for the resources k (CPU cycles, bus bandwidth, memory usage, etc).
  • the resources k are selected one by one in step 4.
  • the platform instance specific values of ⁇ j,k and ® j,k for each resource is loaded in step 5. These values are also calculated and stored offline, i.e. they can be pre-defined.
  • the prediction of the performance Pi (Aj ,k) for the selected resource k for a particular platform instance Aj is calculated in step 7.
  • Step 9 checks whether the performance criteria (output of the prediction is compared with the maximum allowed resource usage) are met for all the resource types for the selected platform. If met, a SUCCESS is recorded in step 10.
  • a SUCCESS means the application graph Gi can be run on the platform instance Aj meeting performance requirements, based on the prediction. This process is repeated for all the platform instances and the application graphs (ref: steps 12, 13, 14, 15) for which the performance need to be predicted.
  • Fig. 2 shows a basic architecture of an embedded system according to a second embodiment.
  • the architecture comprises a first and second processing unit Pl, P2, a memory M as well as a bus B for connecting the processing units as well as the memory.
  • a requirement predicting unit RPU is provided for performing the resource requirement prediction.
  • a signature storing unit SSU is also provided for storing the signatures of the architecture and the tasks/application.
  • the storing unit is provided in the requirement prediction unit RPU.
  • the application graph Gi of an audio processing chain is shown, where the application components are implemented as Input, ADec, AProc and Output, i.e. mapped to the processing units Pl, P2.
  • the application signature i.e. the task signature
  • the communication (load/store) of the components in the application is to be mapped onto the bus B in the platform architecture of Fig. 2.
  • the information regarding these values can be fixed by doing simulation studies on the platform.
  • the predicted bandwidth load on the platform corresponds to:
  • the prediction unit RPU can be adapted to perform the resource prediction at run-time or at the start of an application such that the resource allocation can be adapted or modified accordingly.
  • the present invention is related to a performance prediction of embedded platforms, using signatures of applications and the architecture platform and is useful for quick and effective design space exploration.
  • the prevailing methods for performance analysis and prediction all revolve around the high-end computers or distributed platforms, where resource crunch for running streaming applications is never an issue, due to the size and redundancy of resources of the platforms.
  • embedded systems present an entirely different scenario, where the size limitations are of utmost importance and hence effective resource utilization is the rule.
  • the above described embodiments relates to a method and apparatus for the resource requirements prediction of embedded platform using characterized information of application and architecture.
  • the main application of the invention is at the SoC design tool level. Being able to predict the resource requirements of embedded platforms during the design is very much needed in the present and future scenarios of the high cost- high complexity of embedded platforms being launched.
  • SoC design space exploration and performance prediction
  • the future embedded systems will be highly complex such that SoC designers have to look for design tools that support performance prediction for embedded platforms for various applications.
  • Future design tools must support performance prediction to tackle the complexity of system designs.
  • An accurate prediction of the resource usage could make substantial savings by a) not having redundant resources on the platform and b) having enough resources on the platform to cater to future applications as well, thereby extending the life time of a platform.
  • SoC designers have to depend on tools, which support resource requirements prediction. Since this will be definitely a mandatory addition to the SoC design tools, the tools manufacturers will have to support this.

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé destiné à prédire des ressources nécessaires dans une plate-forme de traitement de données encastrée afin de traiter au moins une application. Une signature de plate-forme prédéfinie est associée à la plate-forme de traitement de données encastrée. La signature de plate-forme représente les ressources de traitement fournies par la plate-forme ainsi que des caractéristiques fondamentales de celle-ci. Le traitement de l'application est réalisé par au moins une tâche prédéfinie. La signature de tâche comprend également la ressource de traitement requise par la tâche. Les signatures de tâche sont évaluées en vue de la signature de plate-forme afin de déterminer si les ressources nécessaires de traitement de la tâche peuvent ou non être fournies par les ressources de plate-forme.
PCT/IB2006/050433 2005-02-14 2006-02-09 Procede destine a predire des ressources necessaires dans une plate-forme de traitement de donnees encastree WO2006085281A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05101067 2005-02-14
EP05101067.6 2005-02-14

Publications (2)

Publication Number Publication Date
WO2006085281A2 true WO2006085281A2 (fr) 2006-08-17
WO2006085281A3 WO2006085281A3 (fr) 2006-10-26

Family

ID=36668425

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/050433 WO2006085281A2 (fr) 2005-02-14 2006-02-09 Procede destine a predire des ressources necessaires dans une plate-forme de traitement de donnees encastree

Country Status (1)

Country Link
WO (1) WO2006085281A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015077597A1 (fr) * 2013-11-21 2015-05-28 Apple Inc. Système et procédé pour un mécanisme de gestion de fonctions de commande de politique

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BECK J ET AL: "Automated processor specification and task allocation for embedded multicomputer systems: The packing-based approaches" PARALLEL AND DISTRIBUTED PROCESSING, 1995. PROCEEDINGS. SEVENTH IEEE SYMPOSIUM ON SAN ANTONIO, TX, USA 25-28 OCT. 1995, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 25 October 1995 (1995-10-25), pages 44-51, XP010196179 ISBN: 0-8186-7195-5 *
J. SCOTT ET AL: "A HW/SW Co-design Tool for Modern FPGA's with FPGA-Embedded Processors" 2004 MAPLD, [Online] 8 September 2004 (2004-09-08), - 10 September 2004 (2004-09-10) pages 1-10, XP002391582 Washington, D.C, USA Retrieved from the Internet: URL:http://www.isis.vanderbilt.edu/publica tions/archive/Scott_JM_9_11_2004_A_HW_SW_C o.pdf Scott_JM_9_11_2004_A_HW_SW_Co.pdf (application/pdf Object)> [retrieved on 2006-07-19] *
JAMES E BECK ET AL: "Automatic Configuration of Embedded Multicomputer Systems" IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 17, no. 2, February 1998 (1998-02), XP011007528 ISSN: 0278-0070 *
KANG ET AL: "A software synthesis tool for distributed embedded system design" PROCEEDINGS OF THE ACM SIGPLAN 1999 WORKSHOP ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, [Online] 1999, pages 87-95, XP002391580 Atlanta, USA Retrieved from the Internet: URL:http://www.east.isi.edu/~dkang/papers/ lctes99.pdf> [retrieved on 2006-07-19] *
L. THIELE ET AL: "Design space exploration of network processor architectures" IN FIRST WORKSHOP ON NETWORK PROCESSORS AT THE 8TH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE (HPCA8), [Online] February 2002 (2002-02), pages 1-12, XP002391581 Cambridge MA, USA Retrieved from the Internet: URL:http://citeseer.ifi.unizh.ch/cache/pap ers/cs/25668/http:zSzzSzwww.tik.ee.ethz.ch zSz~samarjitzSzpsfileszSznparch.pdf/thiele 02design.pdf thiele02design.pdf (application/pdf Object)> [retrieved on 2006-07-20] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015077597A1 (fr) * 2013-11-21 2015-05-28 Apple Inc. Système et procédé pour un mécanisme de gestion de fonctions de commande de politique
TWI558232B (zh) * 2013-11-21 2016-11-11 蘋果公司 用於原則控制功能管理機制的系統與方法
US9763081B2 (en) 2013-11-21 2017-09-12 Apple Inc. System and method for policy control functions management mechanism
KR101793527B1 (ko) * 2013-11-21 2017-11-06 애플 인크. 정책 제어 기능 관리 메커니즘에 대한 시스템 및 방법
KR20170125113A (ko) * 2013-11-21 2017-11-13 애플 인크. 정책 제어 기능 관리 메커니즘에 대한 시스템 및 방법
KR101881717B1 (ko) * 2013-11-21 2018-07-24 애플 인크. 정책 제어 기능 관리 메커니즘에 대한 시스템 및 방법

Also Published As

Publication number Publication date
WO2006085281A3 (fr) 2006-10-26

Similar Documents

Publication Publication Date Title
US10963292B2 (en) Techniques to manage virtual classes for statistical tests
US9189273B2 (en) Performance-aware job scheduling under power constraints
US7870443B2 (en) Method to isolate crash of an embedded multi-threaded application to a shared library call without core dump files or debugger
US20130318538A1 (en) Estimating a performance characteristic of a job using a performance model
Kipp et al. Green metrics for energy-aware IT systems
US9619288B2 (en) Deploying software in a multi-instance node
US20110016455A1 (en) Power Profiling for Embedded System Design
Quan et al. A hierarchical run-time adaptive resource allocation framework for large-scale MPSoC systems
CN113157379A (zh) 集群节点资源调度方法及装置
CN110750312A (zh) 硬件资源配置方法、装置、云侧设备和存储介质
CN110750359B (zh) 硬件资源配置方法、装置、云侧设备和存储介质
Boroujerdian et al. FARSI: An early-stage design space exploration framework to tame the domain-specific system-on-chip complexity
EP4040295A1 (fr) Attribution de bande passante de mémoire pour infrastructures partagées en nuage fpga
CN109634714B (zh) 一种智能调度的方法及装置
Bei et al. MEST: A model-driven efficient searching approach for MapReduce self-tuning
US20210374319A1 (en) Dynamic allocation of computing resources for electronic design automation operations
WO2022026044A1 (fr) Partage de ressources de calcul entre le réseau d'accès radio virtualisé (vran) et d'autres charges de travail
US11579680B2 (en) Methods and devices for power management based on synthetic machine learning benchmarks
WO2006085281A2 (fr) Procede destine a predire des ressources necessaires dans une plate-forme de traitement de donnees encastree
US9772877B2 (en) Managing I/O operations in a shared file system
Yang et al. Tear Up the Bubble Boom: Lessons Learned From a Deep Learning Research and Development Cluster
Walter Identifying the cause of detected errors
KR101669567B1 (ko) 가상 머신의 배치를 관리하는 방법
US20230409379A1 (en) Information processing device and job scheduling method
US20220365817A1 (en) Method and system for managing electronic design automation on cloud

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06710869

Country of ref document: EP

Kind code of ref document: A2

WWW Wipo information: withdrawn in national office

Ref document number: 6710869

Country of ref document: EP