RU2012127578A - Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред - Google Patents
Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред Download PDFInfo
- Publication number
- RU2012127578A RU2012127578A RU2012127578/08A RU2012127578A RU2012127578A RU 2012127578 A RU2012127578 A RU 2012127578A RU 2012127578/08 A RU2012127578/08 A RU 2012127578/08A RU 2012127578 A RU2012127578 A RU 2012127578A RU 2012127578 A RU2012127578 A RU 2012127578A
- Authority
- RU
- Russia
- Prior art keywords
- pmaa
- processor
- software
- software module
- data transfer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3612—Analysis of software for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/314—Parallel programming languages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
1. Машинно-реализуемый способ программирования неоднородной многопроцессорной вычислительной системы для выполнения множества программных модулей, причем каждый программный модуль подлежит выполнению на одном из процессоров, система содержит множество процессоров двух или большего числа различных типов процессоров, при этом способ содержит:(a) выполнение машинно-реализуемой офлайновой обработки с использованием анализатора применимости программного модуля (PMAA) и множества инструментальных средств SBT из инструментального набора построения плана (SBT), причем:PMAA определяет, какие типы процессора какие программные модули способны выполнять; имножество инструментальных средств SBT содержит:(i) средство построения плана, которое выбирает подмножество из одного или нескольких различных решений плана на основании первого набора сценариев использования; и(ii) формирователь исходного кода, который формирует программное обеспечение планирования для выбранного решения плана, причем программное обеспечение планирования подлежит выполнению на одном или нескольких из упомянутых процессоров; и(b) выполнение машинно-реализуемой онлайновой обработки с использованием данных реального времени для тестирования программного обеспечения планирования и выбранного решения плана, при этом:PMAA определяет, способен ли первый процессор первого типа процессора выполнять первый программный модуль, не компилируя первый программный модуль.2. Способ по п.1, в котором:PMAA принимает информацию, соответствующую распределению памяти для первого процессора;PMAA принимает требования к размеру данных для первого программного модуля;PMAA
Claims (10)
1. Машинно-реализуемый способ программирования неоднородной многопроцессорной вычислительной системы для выполнения множества программных модулей, причем каждый программный модуль подлежит выполнению на одном из процессоров, система содержит множество процессоров двух или большего числа различных типов процессоров, при этом способ содержит:
(a) выполнение машинно-реализуемой офлайновой обработки с использованием анализатора применимости программного модуля (PMAA) и множества инструментальных средств SBT из инструментального набора построения плана (SBT), причем:
PMAA определяет, какие типы процессора какие программные модули способны выполнять; и
множество инструментальных средств SBT содержит:
(i) средство построения плана, которое выбирает подмножество из одного или нескольких различных решений плана на основании первого набора сценариев использования; и
(ii) формирователь исходного кода, который формирует программное обеспечение планирования для выбранного решения плана, причем программное обеспечение планирования подлежит выполнению на одном или нескольких из упомянутых процессоров; и
(b) выполнение машинно-реализуемой онлайновой обработки с использованием данных реального времени для тестирования программного обеспечения планирования и выбранного решения плана, при этом:
PMAA определяет, способен ли первый процессор первого типа процессора выполнять первый программный модуль, не компилируя первый программный модуль.
2. Способ по п.1, в котором:
PMAA принимает информацию, соответствующую распределению памяти для первого процессора;
PMAA принимает требования к размеру данных для первого программного модуля;
PMAA вычисляет общее требование к памяти для первого программного модуля на основании требований к размеру данных;
PMAA сравнивает общее требование к памяти для первого программного модуля с распределением памяти для первого процессора; и
PMAA определяет, что первый процессор не может выполнять первый программный модуль, если общее требование к памяти больше распределения памяти.
3. Способ по п.2, в котором:
PMAA принимает информацию, соответствующую характеристикам передачи данных для первого процессора;
PMAA принимает требования к передаче данных для первого программного модуля;
PMAA вычисляет среднее использование передачи данных для первого программного модуля на основании требований к передаче данных;
PMAA сравнивает среднее использование передачи данных для первого программного модуля с характеристиками передачи данных для первого процессора; и
PMAA определяет, что первый процессор не может выполнять первый программный модуль, если среднее использование передачи данных выше характеристик передачи данных.
4. Способ по п.1, в котором:
PMAA принимает информацию, соответствующую характеристикам передачи данных для первого процессора;
PMAA принимает требования к передаче данных для первого программного модуля;
PMAA вычисляет среднее использование передачи данных для первого программного модуля на основании требований к передаче данных;
PMAA сравнивает среднее использование передачи данных для первого программного модуля с характеристиками передачи данных первого процессора; и
PMAA определяет, что первый процессор не может выполнять первый программный модуль, если среднее использование передачи данных выше характеристик передачи данных.
5. Способ по п.1, дополнительно содержащий после этапа (a) и перед этапом (b) этап выполнения моделирования методом «черного ящика», чтобы тестировать программное обеспечение планирования и выбранное решение для плана на втором наборе вариантов использования, более большом, чем первый набор, причем множество инструментальных средств SBT дополнительно содержит формирователь кода профилирования и моделирования, который генерирует программное обеспечение для моделирования методом «черного ящика».
6. Способ по п.1, в котором множество процессоров содержит, по меньшей мере, N1 процессоров первого типа процессора и N2 процессоров второго типа процессора, отличающегося от первого типа процессора, причем по меньшей мере одно значение из N1 и N2 больше 1.
7. Способ по п.6, в котором и N1, и N2 больше 1.
8. Способ по п.1, в котором, по меньшей мере, часть офлайновой обработки по этапу (a) повторяется после выполнения онлайновой обработки по этапу (b), чтобы модифицировать одно или оба из программного обеспечения планирования и выбранного решения для плана.
9. Способ по п.1, в котором PMAA является одним из множества инструментальных средств SIET из инструментального набора средств извлечения информации планирования (SIET), причем:
множество инструментальных средств SIET дополнительно содержит одно или несколько из:
(i) анализатора циклов, который определяет требования к временной диаграмме для каждого программного модуля, исполняющегося на каждом допустимом типе процессора;
(ii) анализатор зависимостей, который определяет зависимости по вводу и выводу данных между различными программными модулями, выполняющимися на допустимых типах процессора; и
(iii) анализатор обмена данными, который определяет требования к передаче данных между различными программными модулями, выполняющимися на допустимых типах процессора.
10. Способ по п.1, в котором инструментальные средства SBT дополнительно содержат одно средство или несколько из:
(i) оптимизатора соединений, который сравнивает различные решения для плана, соответствующие различным возможным назначениям программных модулей на процессоры; и
(ii) оптимизатор синхронизации, который разрабатывает схему синхронизации для подмножества решений плана.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2012127578/08A RU2012127578A (ru) | 2012-07-02 | 2012-07-02 | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред |
| US13/747,602 US9043770B2 (en) | 2012-07-02 | 2013-01-23 | Program module applicability analyzer for software development and testing for multi-processor environments |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2012127578/08A RU2012127578A (ru) | 2012-07-02 | 2012-07-02 | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2012127578A true RU2012127578A (ru) | 2014-01-10 |
Family
ID=49779662
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2012127578/08A RU2012127578A (ru) | 2012-07-02 | 2012-07-02 | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9043770B2 (ru) |
| RU (1) | RU2012127578A (ru) |
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9280442B1 (en) | 2011-01-27 | 2016-03-08 | Trimble Navigation Limited | System and method for generating coverage reports for software unit tests |
| US9043759B1 (en) * | 2011-01-27 | 2015-05-26 | Trimble Navigation Limited | System and method for generating software unit tests simultaneously with API documentation |
| US9268665B2 (en) | 2011-07-26 | 2016-02-23 | Trimble Navigation Limited | System and method for identifying fault prone computer code files |
| RU2012127578A (ru) * | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред |
| GB2506596A (en) * | 2012-10-02 | 2014-04-09 | Ibm | Managing a set of software modules in a runtime environment |
| KR101438979B1 (ko) * | 2012-12-31 | 2014-09-11 | 현대자동차주식회사 | 소프트웨어 검사 방법 및 시스템 |
| CN104010356B (zh) * | 2014-05-29 | 2017-06-16 | 东南大学 | 一种用于异构网络的集中式动态关闭小小区方法 |
| JP6500626B2 (ja) * | 2015-06-16 | 2019-04-17 | 富士通株式会社 | 計算機、コンパイラプログラム、リンクプログラムおよびコンパイル方法 |
| US11099965B2 (en) * | 2016-02-24 | 2021-08-24 | Nec Corporation | Management system, test method and recording medium |
| US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
| US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
| US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
| US10474557B2 (en) * | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
| US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
| US11977484B2 (en) | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
| US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
| US10698732B2 (en) | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
| US10152243B2 (en) | 2016-09-15 | 2018-12-11 | Qualcomm Incorporated | Managing data flow in heterogeneous computing |
| US10216615B2 (en) * | 2017-06-30 | 2019-02-26 | Sap Se | Debuggable instance code in a cloud-based instance platform environment |
| US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
| US12260316B2 (en) * | 2017-09-20 | 2025-03-25 | International Business Machines Corporation | Automatic timing resolution among neural network components |
| CN111480150B (zh) * | 2017-11-02 | 2024-07-16 | 芯力能简易股份公司 | 用于控制引擎调试、测试、校准和调节的软件环境 |
| CN109960647A (zh) * | 2017-12-26 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 一种软件测试方法及装置、计算设备和存储介质 |
| CN111770722B (zh) * | 2018-02-27 | 2024-01-02 | 罗伯特·博世有限公司 | 具有心脏振动描记信号的自动参考的可穿戴健康设备系统 |
| US11075954B2 (en) | 2018-09-28 | 2021-07-27 | International Business Machines Corporation | Identifying systems where a policy as a code is applicable |
| US20200387802A1 (en) * | 2019-06-08 | 2020-12-10 | Trustarc Inc | Dynamically adaptable rules and communication system for managing process controls |
| US12373257B2 (en) * | 2019-12-18 | 2025-07-29 | Deep Vision Inc. | Method for static scheduling of artificial neural networks for a processor |
| CN111881634B (zh) * | 2020-06-19 | 2023-09-08 | 成都天奥测控技术有限公司 | 一种电子系统行为级仿真验证方法 |
| JP2023084609A (ja) * | 2021-12-07 | 2023-06-19 | 富士通株式会社 | 変換プログラムおよび変換方法 |
| US12449987B2 (en) | 2022-01-04 | 2025-10-21 | Bank Of America Corporation | System and method for improving memory resource allocations in database blocks using blockchain |
| US11934255B2 (en) | 2022-01-04 | 2024-03-19 | Bank Of America Corporation | System and method for improving memory resource allocations in database blocks for executing tasks |
| US12561122B2 (en) * | 2022-03-24 | 2026-02-24 | International Business Machines Corporation | Software package update handling |
| US11960436B2 (en) | 2022-04-29 | 2024-04-16 | Microsoft Technology Licensing, Llc | Multi-processor synchronization |
| US12505007B2 (en) | 2024-05-10 | 2025-12-23 | International Business Machines Corporation | Updating computing error analysis windows |
| CN120806199B (zh) * | 2025-09-12 | 2025-11-21 | 上海壁仞科技股份有限公司 | 模型性能预估方法、装置和计算机设备 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06266683A (ja) * | 1993-03-12 | 1994-09-22 | Toshiba Corp | 並列処理装置 |
| US7367023B2 (en) * | 2003-07-10 | 2008-04-29 | International Business Machines Corporation | Method and apparatus for generating computer programming code selectively optimized for execution performance and not optimized for serviceability |
| JP4592367B2 (ja) * | 2004-09-09 | 2010-12-01 | 富士通セミコンダクター株式会社 | プログラムセクションレイアウト方法およびレイアウト処理プログラム |
| US7984445B2 (en) * | 2005-02-25 | 2011-07-19 | International Business Machines Corporation | Method and system for scheduling jobs based on predefined, re-usable profiles |
| JP4082706B2 (ja) | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
| US8028299B2 (en) * | 2005-04-21 | 2011-09-27 | Waratek Pty, Ltd. | Computer architecture and method of operation for multi-computer distributed processing with finalization of objects |
| US7930565B2 (en) * | 2006-09-11 | 2011-04-19 | Texas Instruments Incorporated | Power-optimizing memory analyzer, method of operating the analyzer and system employing the same |
| US20080140762A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Job scheduling amongst multiple computers |
| GB2443277B (en) | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
| WO2008060948A2 (en) * | 2006-11-10 | 2008-05-22 | Sandbridge Technologies, Inc. | Method and system for parallelization of pipelined computations |
| US7984431B2 (en) * | 2007-03-31 | 2011-07-19 | Intel Corporation | Method and apparatus for exploiting thread-level parallelism |
| FI20070344A0 (fi) | 2007-05-02 | 2007-05-02 | Codenomicon Oy | Testitapausten suorittamisen optimointimenetelmä ja -järjestelmä |
| ES2399683T3 (es) | 2008-11-24 | 2013-04-02 | Barcelona Supercomputing Center - Centro Nacional De Supercomputacion | Procedimiento, mecanismo y producto de programa informático para ejecutar varias tareas en un procesador multihilo y para proporcionar estimaciones del peor tiempo de ejecución |
| JP2013025403A (ja) * | 2011-07-15 | 2013-02-04 | Toshiba Corp | プログラム生成装置 |
| US9201690B2 (en) * | 2011-10-21 | 2015-12-01 | International Business Machines Corporation | Resource aware scheduling in a distributed computing environment |
| RU2012127578A (ru) * | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред |
-
2012
- 2012-07-02 RU RU2012127578/08A patent/RU2012127578A/ru not_active Application Discontinuation
-
2013
- 2013-01-23 US US13/747,602 patent/US9043770B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US9043770B2 (en) | 2015-05-26 |
| US20140007043A1 (en) | 2014-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2012127578A (ru) | Анализатор применимости программного модуля для разработки и тестирования программного обеспечения для многопроцессорных сред | |
| RU2012127581A (ru) | Генератор исходного кода для разработки и тестирования программного обеспечения для многопроцессорных сред | |
| Hamadi et al. | Seven challenges in parallel SAT solving | |
| US9239734B2 (en) | Scheduling method and system, computing grid, and corresponding computer-program product | |
| US11205134B2 (en) | Numerical quantum experimentation | |
| US20130339972A1 (en) | Determining an allocation of resources to a program having concurrent jobs | |
| RU2012127580A (ru) | Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред | |
| Ma et al. | HW/SW partitioning for region-based dynamic partial reconfigurable FPGAs | |
| Chen et al. | Variation-aware evaluation of MPSoC task allocation and scheduling strategies using statistical model checking | |
| TWI776212B (zh) | 用於積體電路加速器之系統、方法及電腦儲存媒體 | |
| Emeretlis et al. | A logic-based benders decomposition approach for mapping applications on heterogeneous multicore platforms | |
| CN106155799B (zh) | 基于遗传算法的Codelet调度方法 | |
| Adefemi | What every computer scientist needs to know about parallelization | |
| Herrmann et al. | Memory-aware list scheduling for hybrid platforms | |
| Eggenberger et al. | Scalable parallel simulation of networks on chip | |
| CN119512712A (zh) | 计算设备调度方法、计算机可读存储介质及电子设备 | |
| Deniziak et al. | Synthesis of self-adaptable energy aware software for heterogeneous multicore embedded systems | |
| Scanniello et al. | Using the gpu to green an intensive and massive computation system | |
| Wajid et al. | Optimizing energy efficiency in the cloud using service composition and runtime adaptation techniques | |
| Janjic et al. | Granularity-aware work-stealing for computationally-uniform Grids | |
| Fonseca et al. | Overcoming the no free lunch theorem in cut-off algorithms for fork-join programs | |
| Frid et al. | Memory-aware multiobjective design space exploration of heteregeneous MPSoC | |
| Ramírez et al. | Differences of energetic consumption between Java and JNI Android apps | |
| Meade et al. | Data decomposition for code parallelization in practice: what do the experts need? | |
| Choudhury et al. | Balancing thread-level and task-level parallelism for data-intensive workloads on clusters and clouds |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FA93 | Acknowledgement of application withdrawn (no request for examination) |
Effective date: 20150703 |