RU2012127580A - Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред - Google Patents

Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред Download PDF

Info

Publication number
RU2012127580A
RU2012127580A RU2012127580/08A RU2012127580A RU2012127580A RU 2012127580 A RU2012127580 A RU 2012127580A RU 2012127580/08 A RU2012127580/08 A RU 2012127580/08A RU 2012127580 A RU2012127580 A RU 2012127580A RU 2012127580 A RU2012127580 A RU 2012127580A
Authority
RU
Russia
Prior art keywords
task
availability
software
processors
run
Prior art date
Application number
RU2012127580/08A
Other languages
English (en)
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 ЭлЭсАй Корпорейшн
Priority to RU2012127580/08A priority Critical patent/RU2012127580A/ru
Priority to US13/749,068 priority patent/US20140006751A1/en
Publication of RU2012127580A publication Critical patent/RU2012127580A/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

1. Неоднородная многопроцессорная вычислительная система, содержащая:множество специализированных процессоров (DP), причем каждый DP сконфигурирован для реализации одного или более программных модулей в течение операций времени выполнения;множество управляющих процессоров (CP), причем каждый CP сконфигурирован для выполнения программного обеспечения планирования для управления операциями времени выполнения соответствующим подмножеством DP; иодну или более шин, соединяющих между собой DP и CP, причем:каждый CP сконфигурирован для изменения временной диаграммы реализации программных модулей для соответствующего подмножества DP на основании доступности ресурсов; икаждый CP сконфигурирован для изменения временной диаграммы передач данных соответствующим подмножеством DP на основании доступности ресурсов.2. Система по п.1, в которой доступность ресурсов содержит одно или более из доступности процессора, доступности памяти и доступности шины.3. Система по п.1, в которой операции времени выполнения для неоднородной многопроцессорной -вычислительной системы реализуются в течение фазы онлайновой обработки в схеме разработки программного обеспечения, которая дополнительно содержит фазу офлайновой обработки, которая формирует программное обеспечение планирования для неоднородной многопроцессорной вычислительной системы.4. Система по п.3, в которой фаза офлайновой обработки отображает каждый программный модуль на DP.5. Система по п.1, в которой первый CP сконфигурирован с возможностью:(a) принимать сообщение "задача выполнена" от первого DP, указывающее, что первый DP завершил первую задачу;(b) определять, имеются ли какие

Claims (13)

1. Неоднородная многопроцессорная вычислительная система, содержащая:
множество специализированных процессоров (DP), причем каждый DP сконфигурирован для реализации одного или более программных модулей в течение операций времени выполнения;
множество управляющих процессоров (CP), причем каждый CP сконфигурирован для выполнения программного обеспечения планирования для управления операциями времени выполнения соответствующим подмножеством DP; и
одну или более шин, соединяющих между собой DP и CP, причем:
каждый CP сконфигурирован для изменения временной диаграммы реализации программных модулей для соответствующего подмножества DP на основании доступности ресурсов; и
каждый CP сконфигурирован для изменения временной диаграммы передач данных соответствующим подмножеством DP на основании доступности ресурсов.
2. Система по п.1, в которой доступность ресурсов содержит одно или более из доступности процессора, доступности памяти и доступности шины.
3. Система по п.1, в которой операции времени выполнения для неоднородной многопроцессорной -вычислительной системы реализуются в течение фазы онлайновой обработки в схеме разработки программного обеспечения, которая дополнительно содержит фазу офлайновой обработки, которая формирует программное обеспечение планирования для неоднородной многопроцессорной вычислительной системы.
4. Система по п.3, в которой фаза офлайновой обработки отображает каждый программный модуль на DP.
5. Система по п.1, в которой первый CP сконфигурирован с возможностью:
(a) принимать сообщение "задача выполнена" от первого DP, указывающее, что первый DP завершил первую задачу;
(b) определять, имеются ли какие-либо задержанные задачи для первого DP и, если это так, передавать сообщение "запустить задачу" на первый DP, чтобы выдать указание первому DP запустить задержанную задачу; и
(c) определять, имеются ли какие-либо зависимые задачи для первой задачи и, если это так, определять DP и отправлять сообщение "запустить задачу" на определенный DP, по меньшей мере, для одной зависимой задачи.
6. Система по п.1, в которой первый DP сконфигурирован с возможностью:
(a) принимать сообщение "запустить задачу" от первого CP, указывающее, что первый DP должен запустить первую задачу; и
(b) запускать первую задачу.
7. Система по п.1, в которой первый DP сконфигурирован с возможностью:
(a) принимать сообщение "передача входная" от первого CP, указывающее, что первый DP должен уменьшить счетчик зависимостей задачи; и
(b) исполнять функцию run, если первый DP определяет, что счетчик зависимостей задачи достиг нуля.
8. Система по п.1, в которой первый DP сконфигурирован с возможностью:
(a) принимать сообщение "передача выходная" от первого CP, указывающее, что первый DP должен пометить соответствующий буфер в качестве доступного; и
(b) использовать соответствующий буфер для другой цели.
9. Система по п.1, в которой специализированные процессоры и управляющие процессоры содержат, по меньшей мере, N1 процессоров первого типа процессора и N2 процессоров второго типа процессора, отличающегося от первого типа процессора, причем, по меньшей мере, одно значение из N1 и N2 больше 1.
10. Система по п.9, в которой и N1, и N2 больше 1.
11. Система по п.1, в которой система содержит множество процессорных кластеров, соединенных между собой магистральной шиной, причем каждый процессорный кластер содержит CP и соответствующий набор DP, соединенных между собой шиной обмена.
12. Система по п.11, в которой:
каждый DP имеет локальную память; и
каждый кластер дополнительно содержит один или более процессоров DMA, обеспечивающих доступ к локальной памяти каждого DP в соответствующем наборе DP посредством шины обмена.
13. Система по п.12, в которой каждый кластер дополнительно содержит совместно используемую память с возможностью доступа каждым DP из соответствующего набора DP через шину обмена.
RU2012127580/08A 2012-07-02 2012-07-02 Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред RU2012127580A (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2012127580/08A RU2012127580A (ru) 2012-07-02 2012-07-02 Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред
US13/749,068 US20140006751A1 (en) 2012-07-02 2013-01-24 Source Code Level Multistage Scheduling Approach for Software Development and Testing for Multi-Processor Environments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012127580/08A RU2012127580A (ru) 2012-07-02 2012-07-02 Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред

Publications (1)

Publication Number Publication Date
RU2012127580A true RU2012127580A (ru) 2014-01-10

Family

ID=49779473

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012127580/08A RU2012127580A (ru) 2012-07-02 2012-07-02 Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред

Country Status (2)

Country Link
US (1) US20140006751A1 (ru)
RU (1) RU2012127580A (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559336A (zh) * 2020-12-09 2021-03-26 成都海光集成电路设计有限公司 自适应调试异构计算芯片的方法、装置、系统及主板芯片

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612857B2 (en) 2014-04-24 2017-04-04 International Business Machines Corporation Administering virtual machines in a distributed computing environment
US9864622B2 (en) 2014-04-24 2018-01-09 International Business Machines Corporation Administering virtual machines in a distributed computing environment
US9503514B2 (en) 2014-04-24 2016-11-22 International Business Machines Corporation Administering virtual machines in a distributed computing environment
US9703587B2 (en) 2014-04-24 2017-07-11 International Business Machines Corporation Administering virtual machines in a distributed computing environment
US9612856B2 (en) 2014-04-24 2017-04-04 International Business Machines Corporation Administering virtual machines in a distributed computing environment
US11144504B1 (en) 2015-03-31 2021-10-12 EMC IP Holding Company LLC Eliminating redundant file system operations
US11294862B1 (en) * 2015-03-31 2022-04-05 EMC IP Holding Company LLC Compounding file system metadata operations via buffering
US11151082B1 (en) 2015-03-31 2021-10-19 EMC IP Holding Company LLC File system operation cancellation
US10061611B2 (en) * 2015-08-28 2018-08-28 Vmware, Inc. Virtual machine migration within a hybrid cloud system
CN105426296B (zh) * 2015-11-24 2018-04-10 无锡江南计算技术研究所 基于插装标签的核间协同多线程pmu事件监测方法
CN106445674A (zh) * 2016-10-14 2017-02-22 上海微小卫星工程中心 具有自主运行管理功能的卫星架构
US10498742B2 (en) * 2017-06-01 2019-12-03 Samsung Electronics Co., Ltd. Secure access with trusted proximity device
US10747690B2 (en) 2018-04-03 2020-08-18 Xilinx, Inc. Device with data processing engine array
US10866753B2 (en) 2018-04-03 2020-12-15 Xilinx, Inc. Data processing engine arrangement in a device
US11379389B1 (en) 2018-04-03 2022-07-05 Xilinx, Inc. Communicating between data processing engines using shared memory
US11263114B2 (en) 2019-09-24 2022-03-01 International Business Machines Corporation Method and technique to find timing window problems
CN111124901B (zh) * 2019-12-12 2024-03-15 常州大学 一种基于Android资源表的资源泄露检测方法
US11443091B1 (en) 2020-07-31 2022-09-13 Xilinx, Inc. Data processing engines with cascade connected cores
US11288222B1 (en) 2020-09-28 2022-03-29 Xilinx, Inc. Multi-die integrated circuit with data processing engine array
US11520717B1 (en) 2021-03-09 2022-12-06 Xilinx, Inc. Memory tiles in data processing engine array
US11336287B1 (en) 2021-03-09 2022-05-17 Xilinx, Inc. Data processing engine array architecture with memory tiles
US11656854B2 (en) * 2021-08-30 2023-05-23 Huawei Technologies Co., Ltd. Methods and devices for computing a memory size for software optimization
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
US11848670B2 (en) 2022-04-15 2023-12-19 Xilinx, Inc. Multiple partitions in a data processing array

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701482A (en) * 1993-09-03 1997-12-23 Hughes Aircraft Company Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes
KR101703328B1 (ko) * 2010-11-23 2017-02-07 삼성전자 주식회사 이종 멀티 프로세서 환경에서의 데이터 처리 최적화 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559336A (zh) * 2020-12-09 2021-03-26 成都海光集成电路设计有限公司 自适应调试异构计算芯片的方法、装置、系统及主板芯片
CN112559336B (zh) * 2020-12-09 2023-05-19 成都海光集成电路设计有限公司 自适应调试异构计算芯片的方法、装置、系统及主板芯片

Also Published As

Publication number Publication date
US20140006751A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
RU2012127580A (ru) Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред
CN110119311B (zh) 一种基于fpga的分布式流计算系统加速方法
US20210194748A1 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
US10768989B2 (en) Virtual vector processing
US7685347B2 (en) Interrupt controller for invoking service routines with associated priorities
US9146777B2 (en) Parallel processing with solidarity cells by proactively retrieving from a task pool a matching task for the solidarity cell to process
KR101400286B1 (ko) 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치
CN102918501B (zh) 用于分析多线程应用的性能的方法和系统
US20130231912A1 (en) Method, system, and scheduler for simulating multiple processors in parallel
US9471387B2 (en) Scheduling in job execution
CN109254836B (zh) 面向云计算系统优先依赖任务的期限约束成本优化调度方法
EP2977898A1 (en) Task allocation in a computing environment
CN103870350A (zh) 一种基于watchdog的微处理器多核加固方法
US9678792B2 (en) Shared resources in a docked mobile environment
Galante et al. Constructing elastic scientific applications using elasticity primitives
EP2672388A1 (en) Multi-processor parallel simulation method, system and scheduler
CN115775199A (zh) 数据处理方法和装置、电子设备和计算机可读存储介质
TW200941238A (en) Kernel processor grouping
Khan et al. Static Approach for Efficient Task Allocation in Distributed Environment
EP3495960A1 (en) Program, apparatus, and method for communicating data between parallel processor cores
JP2019126034A (ja) 仮想割り込みサービスプロバイダのためのサービス要求割り込みルータ
CN102467406B (zh) 多处理器结构的模拟方法及模拟器
Jun et al. GPGPU enabled HPC cloud platform based on OpenStack
US10097618B2 (en) Cluster system and communication method in cluster system
Heulot et al. Demonstrating a Dataflow-based RTOS for Heterogeneous MPSoC by means of a Stereo Matching Application

Legal Events

Date Code Title Description
FA93 Acknowledgement of application withdrawn (no request for examination)

Effective date: 20150703