RU2191425C2 - Способ оптимизации параллельной обработки информации для минимизации ее времени - Google Patents
Способ оптимизации параллельной обработки информации для минимизации ее времени Download PDFInfo
- Publication number
- RU2191425C2 RU2191425C2 RU2000108257A RU2000108257A RU2191425C2 RU 2191425 C2 RU2191425 C2 RU 2191425C2 RU 2000108257 A RU2000108257 A RU 2000108257A RU 2000108257 A RU2000108257 A RU 2000108257A RU 2191425 C2 RU2191425 C2 RU 2191425C2
- Authority
- RU
- Russia
- Prior art keywords
- workstations
- time
- information
- processes
- data processing
- Prior art date
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Изобретение относится к системам параллельной обработки информации. Его использование в локальных вычислительных сетях позволяет получить технический результат в виде минимизации времени обработки информации. Способ предназначен для использования в локальных вычислительных сетях, содержащих рабочие станции, среди которых имеется одна главная рабочая станция, и удаленные рабочие станции, между которыми главная рабочая станция распределяет отдельные вычислительные процессы, на которые разбивают решаемую задачу, включающий в себя определение оптимального количества параллельно выполняемых на рабочих станциях процессов обработки информации. Технический результат достигается благодаря тому, что распределение отдельных вычислительных процессов осуществляют на удаленные рабочие станции с наименьшей загрузкой в плане использования процессорного времени выполняющимися на них задачами, а определение оптимального количества параллельно выполняемых процессов осуществляют на главной рабочей станции согласно заранее заданным условиям. 2 ил.
Description
Изобретение относится к вычислительной технике, в частности к системам параллельной обработки информации, и может быть использовано в локальных вычислительных сетях (ЛВС).
Известен способ функционирования объектной модели, включающий размещение на рабочих станциях сети серверных и клиентских компонентов (см. Френк Хэйес. Distributed Component Object Model. Computerworld, Россия, 24, 1999, с. 30).
Недостатком такого способа является невозможность минимизации времени обработки информации при учете ряда ограничений.
Наиболее близким к заявленному способу является способ оптимального формирования визуального изображения, включающий определение оптимального числа процессоров, используемых для обработки визуальной информации (см. патент РФ 2045095, МПК 6 G 06 T 1/20, опубл. 27.09.95 г., БИ 27).
Недостатком данного способа является то, что он распространен только на обработку визуальной информации и его невозможно использовать при параллельном решении любых задач.
Задачей технического решения является создание способа оптимальной параллельной обработки информации (СОПОИ), для минимизации времени обработки информации.
Технический результат заключается в том, что наиболее полно используются ресурсы ЛВС сети при возможности снижения времени обработки информации, при условии ограничения на стоимость вычислений за счет использования оптимального числа рабочих станций (PC).
Этот технический результат достигается тем, что в известном способе обработки информации, включающем определение оптимального количества процессов, используемых для обработки информации, согласно изобретению, оптимальное количество процессов определяют согласно условиям:
где Т - время решения задачи;
S - максимальная стоимость решения задачи;
Р - количество PC в комплексе;
k - коэффициент пропорциональности;
а - стоимость одной PC;
b - стоимость коллективно используемых ресурсов: каналов связи (КС), общих устройств ввода информации (ОУВ), общих устройств памяти (ОУП) и общих устройств вывода информации (ОУВв);
с - время, затрачиваемое на подготовку вычислений;
d - время решения задачи одной PC.
где Т - время решения задачи;
S - максимальная стоимость решения задачи;
Р - количество PC в комплексе;
k - коэффициент пропорциональности;
а - стоимость одной PC;
b - стоимость коллективно используемых ресурсов: каналов связи (КС), общих устройств ввода информации (ОУВ), общих устройств памяти (ОУП) и общих устройств вывода информации (ОУВв);
с - время, затрачиваемое на подготовку вычислений;
d - время решения задачи одной PC.
Данный способ позволит достичь более высокого быстродействия при использовании локальных вычислительных сетей с более "слабыми" и, следовательно, более дешевыми станциями, что снизит в целом стоимость параллельной обработки информации при решении поставленной задачи.
Сущность способа поясняется чертежами, где на фиг.1 изображен аппаратно-программный комплекс на базе локальной вычислительной сети, на фиг.2 - рабочая станция.
Аппаратно-программный комплекс (см. фиг.1) состоит из рабочих станции (PC1), (PC2),...(PCn) - персональных компьютеров, каналов связи (КС) - проводные, беспроводные и оптические каналы связи, которые обеспечивают передачу цифровой информации между рабочими станциями (PC1), (PC2),...(PCn), а также общими устройствами ввода информации (ОУВ), общими устройствами памяти (ОУП) и общими устройствами вывода информации (ОУВв).
Рабочие станции (РС1), (РС2), . ..(РСn), входящие в состав комплекса, состоят из следующих устройств (см. фиг.2): блока управления (БУ) - один или несколько центральных процессоров, контролеры памяти, магнитных дисков, устройств ввода/вывода и т.п.; запоминающих устройств (ЗУ), постоянно запоминающих устройств (ПЗУ), оперативно запоминающих устройств (ОЗУ), накопителей информации на магнитных дисках и лентах, на оптических дисках и т.п.; устройств ввода информации (УВ); устройств вывода информации (УВв); устройства подключения и передачи информации по КС (УПКС).
К общим устройствам комплекса по КС имеют неограниченный доступ все PC.
PC соединяют между собой КС по типу: "кольцо", "звезда", "общая шина", "матрица" и т.п.
Входящие в структуру комплекса устройства выполняют стандартные функции и реализуются с использованием стандартной элементной базы. Новых средств для своего осуществления заявленный способ не требует.
Пример конкретного выполнения способа.
При решении отдельной задачи, например вычисления определенного интеграла, в вычислительном комплексе из всех PC выбирается одна главная PC (ГРС), которая будет отвечать за решение задачи в целом. На остальных, удаленных рабочих станциях (УРС) в ходе решения задачи выполняются параллельные процессы.
ГРС выполняет следующие действия:
1. С помощью устройств УВ в ЗУ вводятся исходные данные задачи и информация об оптимизации: минимизации времени решения задачи.
1. С помощью устройств УВ в ЗУ вводятся исходные данные задачи и информация об оптимизации: минимизации времени решения задачи.
2. БУ ГРС анализирует введенную и хранящуюся в ЗУ исходную информацию, разбивает решение задачи на отдельные вычислительные процессы и начинает решение задачи. Исходные данные, которые будут использоваться несколькими параллельными процессами, сохраняются БУ в ОУП. При разбиении задачи используется информация о распараллеливании вычислений. БУ первоначально создает число параллельных процессов, удовлетворяющее условиям:
где Т - время решения задачи;
S - максимальная стоимость решения задачи;
Р - количество PC в комплексе;
k - коэффициент пропорциональности;
а - стоимость одной PC;
b - стоимость коллективно используемых ресурсов: каналов связи (КС), общих устройств ввода информации (ОУВ), общих устройств памяти (ОУП) и общих устройств вывода информации (ОУВв);
с - время, затрачиваемое на подготовку вычислений;
d - время решения задачи одной PC.
где Т - время решения задачи;
S - максимальная стоимость решения задачи;
Р - количество PC в комплексе;
k - коэффициент пропорциональности;
а - стоимость одной PC;
b - стоимость коллективно используемых ресурсов: каналов связи (КС), общих устройств ввода информации (ОУВ), общих устройств памяти (ОУП) и общих устройств вывода информации (ОУВв);
с - время, затрачиваемое на подготовку вычислений;
d - время решения задачи одной PC.
Так, при следующих значениях: Р=10; k=0,001; а=700; b=1000; с=1; d=30, S= 31,5, оптимальное число параллельных процессов составляет 8, а время решения задачи Т равно 4,75, что в 6,53 раза меньше, чем при однопроцессной обработке.
3. Выполнение каждого параллельного процесса протекает по следующей схеме:
- БУ ГРС выбирает наименее загруженную УРС в плане использования процессорного времени выполняющимися на ней задачами;
- с помощью УПКС через КС БУ передает выбранной УРС исходные данные параллельного процесса и сигнал "выполнить";
- БУ ГРС переходит в состояние приема через КС и УПКС сигнала "выполнено" от выбранной УРС;
- получив сигнал "выполнено", БУ ГРС принимает через КС и УПКС результирующую информацию или считывает ее с ОУП и сохраняет полученные данные в ЗУ.
- БУ ГРС выбирает наименее загруженную УРС в плане использования процессорного времени выполняющимися на ней задачами;
- с помощью УПКС через КС БУ передает выбранной УРС исходные данные параллельного процесса и сигнал "выполнить";
- БУ ГРС переходит в состояние приема через КС и УПКС сигнала "выполнено" от выбранной УРС;
- получив сигнал "выполнено", БУ ГРС принимает через КС и УПКС результирующую информацию или считывает ее с ОУП и сохраняет полученные данные в ЗУ.
4. После получения от всех УРС результатов ГРС обрабатывает их и выводит на УВв или ОУВв. На этом решение задачи закончено.
Работа УРС при получении сигнала "выполнить" заключается в следующем:
- через КС и УПКС от ГРС принимается входная информация для параллельного процесса и сохраняется БУ в ЗУ;
- БУ УРС анализирует принятую информацию и при необходимости загружает в ЗУ дополнительную информацию с УВ, ОУВ или ОУП;
- после определения всей исходной информации, необходимой для начала решения, БУ УРС переходит к решению задачи;
- в ходе решения промежуточные результаты выводятся БУ на УВв, ОУВв, ОУП или передаются ГРС. Дополнительные исходные данные БУ загружает в ЗУ с УВ, ОУВ или ОУП;
- после решения задачи в целом БУ УРС, подготовив в ЗУ результирующую информацию, посылает ее в месте с сигналом "выполнено" на ГРС.
- через КС и УПКС от ГРС принимается входная информация для параллельного процесса и сохраняется БУ в ЗУ;
- БУ УРС анализирует принятую информацию и при необходимости загружает в ЗУ дополнительную информацию с УВ, ОУВ или ОУП;
- после определения всей исходной информации, необходимой для начала решения, БУ УРС переходит к решению задачи;
- в ходе решения промежуточные результаты выводятся БУ на УВв, ОУВв, ОУП или передаются ГРС. Дополнительные исходные данные БУ загружает в ЗУ с УВ, ОУВ или ОУП;
- после решения задачи в целом БУ УРС, подготовив в ЗУ результирующую информацию, посылает ее в месте с сигналом "выполнено" на ГРС.
Каждая PC, входящая в состав комплекса, выполняет дополнительные действия:
- БУ через определенные кванты времени посылает другим PC сигнал "проверка" и в течение определенного времени ожидает ответный сигнал "проверка" от каждой PC;
- если сигнал "проверка" не поступает в БУ с УРС, то БУ инициирует сигнал "ошибка" с данной УРС;
- если БУ по каким-либо причинам не может выполнить задачу или параллельный процесс, то всем PC рассылается сигнал "ошибка";
- если сигнал "ошибка" получен от PC, которая является ГРС по отношению к выполняемым БУ параллельным процессам, то соответствующие задачи снимаются БУ с решения;
- если сигнал "ошибка" получен ГРС от УРС, на которой выполнялись параллельные процессы, то БУ передает исходную информацию потерянных процессов и сигнал "выполнить" другим PC;
- при потере параллельных процессов БУ ГРС может пересмотреть план их распараллеливания для достижения минимального времени решения задачи.
- БУ через определенные кванты времени посылает другим PC сигнал "проверка" и в течение определенного времени ожидает ответный сигнал "проверка" от каждой PC;
- если сигнал "проверка" не поступает в БУ с УРС, то БУ инициирует сигнал "ошибка" с данной УРС;
- если БУ по каким-либо причинам не может выполнить задачу или параллельный процесс, то всем PC рассылается сигнал "ошибка";
- если сигнал "ошибка" получен от PC, которая является ГРС по отношению к выполняемым БУ параллельным процессам, то соответствующие задачи снимаются БУ с решения;
- если сигнал "ошибка" получен ГРС от УРС, на которой выполнялись параллельные процессы, то БУ передает исходную информацию потерянных процессов и сигнал "выполнить" другим PC;
- при потере параллельных процессов БУ ГРС может пересмотреть план их распараллеливания для достижения минимального времени решения задачи.
Использование предложенного способа позволит, по сравнению с прототипом, снизить время параллельной обработки информации при решении выбранной задачи, а также повысить быстродействие даже при использовании локальной вычислительной сети с более "слабыми", но дешевыми рабочими станциями.
Claims (1)
- Способ минимизации времени параллельной обработки информации, предназначенный для использования в локальных вычислительных сетях, содержащих рабочие станции (PC), среди которых имеется одна главная рабочая станция и удаленные рабочие станции, между которыми главная рабочая станция распределяет отдельные вычислительные процессы, на которые разбивают решаемую задачу, включающий в себя определение оптимального количества параллельно выполняемых на рабочих станциях процессов обработки информации, отличающийся тем, что распределение отдельных вычислительных процессов осуществляют на удаленные рабочие станции с наименьшей загрузкой в плане использования процессорного времени выполняющимися на них задачами, а определение оптимального количества параллельно выполняемых процессов осуществляют на главной рабочей станции согласно условиям
где Т - время решения задачи;
S - максимальная стоимость решения задачи;
Р - количество PC в комплексе;
k - коэффициент пропорциональности;
а - стоимость одной PC;
b - стоимость коллективно используемых ресурсов: каналов связи (КС), общих устройств ввода информации (ОУВ), общих устройств памяти (ОУП) и общих устройств вывода информации (ОУВв);
с - время, затрачиваемое на подготовку вычислений;
d - время решения задачи одной PC.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2000108257A RU2191425C2 (ru) | 2000-04-03 | 2000-04-03 | Способ оптимизации параллельной обработки информации для минимизации ее времени |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2000108257A RU2191425C2 (ru) | 2000-04-03 | 2000-04-03 | Способ оптимизации параллельной обработки информации для минимизации ее времени |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2000108257A RU2000108257A (ru) | 2002-04-10 |
RU2191425C2 true RU2191425C2 (ru) | 2002-10-20 |
Family
ID=20232784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2000108257A RU2191425C2 (ru) | 2000-04-03 | 2000-04-03 | Способ оптимизации параллельной обработки информации для минимизации ее времени |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2191425C2 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010092483A1 (en) * | 2009-02-13 | 2010-08-19 | Alexey Raevsky | Devices and methods for optimizing data-parallel processing in multi-core computing systems |
RU2445688C2 (ru) * | 2005-12-29 | 2012-03-20 | Майкрософт Корпорейшн | Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса |
-
2000
- 2000-04-03 RU RU2000108257A patent/RU2191425C2/ru active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2445688C2 (ru) * | 2005-12-29 | 2012-03-20 | Майкрософт Корпорейшн | Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса |
WO2010092483A1 (en) * | 2009-02-13 | 2010-08-19 | Alexey Raevsky | Devices and methods for optimizing data-parallel processing in multi-core computing systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570034B2 (en) | Cluster computing | |
EP2176773B1 (en) | Data packet processing method for a multi core processor | |
US5357632A (en) | Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors | |
US4980824A (en) | Event driven executive | |
Tan et al. | Coupling task progress for mapreduce resource-aware scheduling | |
US9122529B2 (en) | Dynamic job processing based on estimated completion time and specified tolerance time | |
CN100449497C (zh) | 并行计算机和定位并行计算机中硬件故障的方法 | |
EP0352490A2 (en) | A technique for parallel synchronization | |
US9723070B2 (en) | System to improve cluster machine processing and associated methods | |
US11347546B2 (en) | Task scheduling method and device, and computer storage medium | |
US11941528B2 (en) | Neural network training in a distributed system | |
US20030028640A1 (en) | Peer-to-peer distributed mechanism | |
US20040093477A1 (en) | Scalable parallel processing on shared memory computers | |
RU2191425C2 (ru) | Способ оптимизации параллельной обработки информации для минимизации ее времени | |
CN111489279A (zh) | Gpu加速优化方法、装置及计算机存储介质 | |
EP0274339B1 (en) | Event driven executive | |
CN115775199B (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
RU2191424C2 (ru) | Способ оптимизации параллельной обработки информации для минимизации ее стоимости | |
CN115080207A (zh) | 基于容器集群的任务处理方法及装置 | |
Sajjapongse et al. | A flexible scheduling framework for heterogeneous CPU-GPU clusters | |
Gezer | A Modular and Scalable Software Reference Architecture For Decentralized Real-Time Execution on Edge Computing | |
US20040246910A1 (en) | Group synchronization by subgroups | |
JPH02245864A (ja) | 多重プロセッサシステム | |
EP4236125A1 (en) | Method for implementing collective communication, computer device, and communication system | |
Lee et al. | An Optimal Network-Aware Scheduling Technique for Distributed Deep Learning in Distributed HPC Platforms. Electronics 2023, 12, 3021 |