INNOV.RU | Информационный портал 

Иннов: электронный научный журнал
 

Построение и непрерывная обработка программ с детерминированно-связанными модулями

Construction and continuous processing programs with determined - connected modules



УДК 004.382.2

26.10.16 12:51
2607

Выходные сведения: Брындин Е.Г. Построение и непрерывная обработка программ с детерминированно-связанными модулями // Иннов: электронный научный журнал, 2016. №4 (29). URL: http://www.innov.ru/science/tech/postroenie-i-nepreryvnaya-obrabotka/

Авторы:
Брындин Евгений Григорьевич, директор Исследовательского Центра «ЕСТЕСТВОИНФОРМАТИКА», Новосибирск, Российская Федерация, bryndin@ngs.ru

Authors:
Evgeny Bryndin, Director of Research Centre "NATURAL INFORMATIC", Novosibirsk, Russia, bryndin@ngs.ru

Ключевые слова: упреждающее замещение модулей на виртуальной памяти, непрерывная обработка программ, суперкомпьютер с упреждающим управлением памятью

Keyword: anticipatory replacement of modules on virtual memory, continuous processing of programs, a supercomputer with anticipatory management of memory

Аннотация: Непрерывная обработка больших объемов информации на виртуальной памяти ЭВМ считалась технически не реализуемой. Эта проблема не техническая, а алгоритмическая. В статье рассматривается решение этой проблемы: построение программ с детерминированно-связанными модулями; структура супер-ЭВМ для непрерывной обработки программ с детерминированно-связанными модулями; управление непрерывной автоматизированной обработкой программ с детерминированно-связанными модулями на виртуальной памяти без задержки получения результатов из-за обменов информации между оперативной и внешней памятью.

Подкачка следующей по обработке информации с внешней памяти на оперативную осуществляется заранее в процессе обработки текущей информации на ЭВМ с упреждающим замещением. ЭВМ упреждающе замещает отработанные модули программы на оперативной памяти. ЭВМ с упреждающим замещением непрерывно автоматически обрабатывает программы с детерминированно-связанными модулями на виртуальной памяти.

Для приведения программ с недетерминированными связями модулей к программам с детерминированной тактикой и стратегией поведения разработан формализм операторных схем с естественной интерпретацией. Этот формализм используется для доказательства разрешимости проблемы построения программ с детерминированно-связанными модулями. В предложенной теории операторных схем проблема построения программ с детерминированными обращениями к модулям разрешима. Память для программ с детерминированным обращением к модулям распределяется специальными динамическими методами без использования операторных схем.

Непрерывная обработка программ с детерминированно-связанными модулями на виртуальной памяти универсальной супер-ЭВМ с упреждающим управлением памятью сокращает время ожидания результата экспоненциально при обработке на виртуальной памяти целевой ЭВМ в сравнении с существующими супер-ЭВМ со случайным управлением памятью.


Annotation: Continuous processing of large volumes of information on a virtual computer memory was considered as the technically not realized. This problem not technical, but algorithmic. In article the solution of this problem is considered: creation of programs with the determinate-connected modules; structure of the supercomputer for continuous processing of programs with the determinate-connected modules; management of the continuous automated processing of programs with the determinate-connected modules on virtual memory without delay of receiving results because of exchanges because of exchanges of information between random access and external memory. Pumping following on information processing from external memory on quick is carried out in processing of the current information on the computer with anticipatory replacement in advance. The computer proactively replaces the fulfilled program modules on random access memory. The computer with anticipatory replacement continuously automatically processes programs with the determinate-connected modules on virtual memory.

The formalism of operator schemes with natural interpretation is developed for reduction of programs with nondeterministic communications of modules to programs with the determined tactics and the strategy of behavior. This formalism is used for the proof of resolvability of a problem of creation of programs with the determinate-connected modules. In the offered theory of operator schemes the problem of creation of programs with determinate appeals to modules is solvable. Memory for programs with the determined appeal to modules is distributed by special dynamic methods without use of operator schemes.

Continuous processing of programs with the determinate-connected modules on virtual memory of the universal supercomputer with anticipatory management of memory reduces waiting time of result exponential when processing on virtual memory of the target computer in comparison with the existing supercomputers with casual management of memory.

Построение и непрерывная обработка программ с детерминированно-связанными модулями

Введение

Время обработки больших программ на современных ЭВМ сокращается путем применения специальных методов их обработки с эффективным использованием вычислительной техники и созданием высокоскоростной элементной базы [1-3, 5-6].

Эффективность обработки больших программ зависит от стратегии перемещения их модулей по виртуальной памяти.  Существующие стратегии совмещения обработки модулей программ и перемещения их по виртуальной памяти имеет непроизводительные затраты по обмену модулей. Количество обменов между внешними и оперативными устройствами памяти находится в зависимости от связей между модулями, подвергаемых обмену. Стремление уменьшить непроизводительные затраты привели к решению задачи минимального замещения, которая заключается в отыскании такого разбиения программы на модули заданного размера, при котором число замещений сводится до минимума.

Проблема устранения непроизводительных затрат при обменах решена в систолических ЭВМ для одной программы.

Вести обработку разнообразных больших программ  без потери производительности обработки  из-за обменов можно, если упреждающе замещать использованные модули в оперативной памяти очередными модулями по обработке, находящимися на внешней памяти. Для этого потребовалось решить проблему построения программ с детерминировано-связанными модулями и разработать структуру ЭВМ с упреждающим замещением.

1. Программы с детерминированно-связанными модулями. Пусть задана модульно-связанная программа Р, где Р = {PIj}, j = 1,…,n, PIj  – либо операционный модуль, либо модуль данных программы, либо модуль ввода-вывода. PIj = { UIj , ODj , LDj , Pj , SPPj , SPIj }, где UIj – управляющая информация, ODj – общие данные, LDj – локальные данные, Pj – программа обработки, SPPj – связь по поиску модуля следующего по исполнению, SPIj – алгоритмическая связь модулей по передаче исполнения.

Определение 1. Последовательность модулей PI1…PIjPIk, связанных через программы поиска SPP1…SPPjSPPk, назовем модульным исполнением PPI программы P, если последовательность программ обработки P1…PjPk определяет результат программы P по ее данным, где l = 1…m.

Определение 2. Структура связей по поиску модулей программы Р детерминирована, если по ее данным можно выполнить последовательности {(SPP1…SPPj…SPPk)l} программ поиска модулей для всех модульных исполнений {PPIl} программы P.

Определение 3. Модульно-связанная программа Р с определенным размером всех модулей называется программой с детерминированно-связанными модулями, если структура связей по поиску ее модулей детерминирована.

 

1.1. Операторные схемы для создания программ с детерминированно-связанными модулями. Разработана теория операторных схем с естественной интерпретацией для преобразования любой программы в программу с детерминированно-связанными модулями.

Определение 4. Ориентированный граф G(X,Г,U), в котором операторы программы P представлены вершинами X = {O1,O2,….,On} графа, а информационные связи – по данным заданы функцией Г: Y

а функцией U: Y – связи по исполнению между операторами заданы, назовем операторной схемой программы Р.

Определение 5. Оператор Oj альтернативно управляется по исполнению, если он имеет несколько входов по исполнению.

Определение 6. Оператор Oj альтернативно управляет исполнением, если он имеет несколько выходов по исполнению.

Определение 7. Оператор Oj называется полисемантическим, если он обладает различными семантиками исполнения.

Определение 8. Оператор Oj называется полиинформационным, если он имеет несколько информационных связей по передаче результата в качестве операндов (аргументов) другим операторам.

 

1.2. Типы операторных схем

Определение 9. Операторная схема G(X,Г,U) называется линейной по исполнению, если все операторы в схеме однозначно управляются по исполнению и однозначно управляют исполнением.

Определение 10. Операторную схему G(X,Г,U), состоящую из независимых линейных операторных подсхем, назовем линейно образной по исполнению операторной схемой.

Определение 11. Операторная подсхема G(Xi,Г,Г), имеющая один оператор входа через связи по исполнению, альтернативно управляющий двумя или более операторами подсхемы, и один оператор выхода из подсхемы через связи по исполнению, альтернативно управляемый двумя и более операторами подсхемы, причем операторы входа и выхода различные, называется гамакообразной по исполнению операторной подсхемой.

Определение 12. Операторная подсхема G((X0 ⊂ X), Г,U), у которой операторы X0 ={Oj} образуют одну замкнутую цепочку (Oj1, Oj2,…,Ojn) через связи по исполнению U:X0→X0, называется несцепленной операторной подсхемой с возвратом по исполнению.

Определение 13. Операторные подсхемы G((X1 ⊂ X), Г,U)
и G((X2  X),Г,U) с возвратом по исполнению называются сцепленными, если подсхемы X1 ∩ X2 = Ø имеют общие операторы.

Определение 14. Нелинейно образную операторную схему G(X,Г,U) без гамакообразных подсхем по исполнению и без подсхем с возвратом по исполнению назовем линейно перекрестной операторной схемой по исполнению.

Определение 15. Исполнение Oi1,Oi2,…,Oin операторной схемы G1(X1,Г1,U1) и исполнение Oj1,Oj2,…,Ojn операторной схемы G2(X2,Г2,U2) называются равносильными, если для одинаковых входных данных приводят к одинаковым результатам.

Определение 16. Операторные схемы G1(X1,Г1,U1) и G2(X2,Г2,U2) называются равносильными, если множества их исполнений равносильные.

Определение 17. Программы P1 и P2, имеющие равносильные операторные схемы, называются равносильными.

Определение 18. Преобразование операторной схемы программы Р1 в операторную схему равносильной программы Р2, называется преобразованием операторных схем по алгоритмическому базису.

Определение 19. Преобразование операторной схемы G(X,Г,U), при котором из подсхемы G(X1,Г,U) операторной схемы G(X,Г,U) получается полисемантический полиинформационный оператор с сохранением всех информационных связей и связей по передаче исполнения с операторной схемой G(X,Г,U), назовем синтезом.

Определение 20. Преобразование операторной подсхемы в несколько независимых подсхем с сохранением всех информационных связей и связей по передаче управления с операторной схемой назовем расщеплением.

Определение 21. Подсхема операторной схемы, обрабатывающая группу входных данных независимо от дополнительной подсхемы, называется автономной по входным данным. 

Теорема 1. В операторной схеме G(X,Г,U) можно выделить все гамакообразные операторные подсхемы по исполнению.

Теорема 2. В операторной схеме G(X,Г,U) можно выделить все сцепленные и не сцепленные операторные подсхемы с возвратом.

Теорема 3. В линейно перекрестной операторной схеме G(X,Г,U) можно выделить все линейные подсхемы.

Определение 22. Преобразование операторной схемы G(X,Г,U), при котором из подсхемы G(X1,Г,U) операторной схемы G(X,Г,U) получается полисемантический полиинформационный оператор с сохранением всех информационных связей и связей по передаче исполнения с операторной схемой G(X,Г,U), назовем синтезом.

Определение 23. Преобразование операторной подсхемы в несколько независимых подсхем с сохранением всех информационных связей и связей по передаче управления с операторной схемой назовем расщеплением

Определение 24. Подсхема операторной схемы, обрабатывающая группу входных данных независимо от дополнительной подсхемы, называется автономной по входным данным.

Теорема 1. В операторной схеме G(X,Г,U) можно выделить все гамакообразные операторные подсхемы по исполнению.

Теорема 2. В операторной схеме G(X,Г,U) можно выделить все сцепленные и не сцепленные операторные подсхемы с возвратом.

Теорема 3. В линейно перекрестной операторной схеме G(X,Г,U) можно выделить все линейные подсхемы.

 

1.3. Примеры программ с детерминированно-связанными модулями. Рассмотрим несколько программ с детерминированно-связанными модулями.

Сортировка данных. Пусть имеются данные а1,…,аm. Эти данные нужно пересортировать в неубывающей последовательности. Разместим последовательно исходные данные в k модулях. Программа сортировки перебором сравнений исходных данных следующая:

i := 0; j := 0; t1 := 1; t2 := 1;

цикл пока t1 = k цикл пока ≠ c цикл пока  t2 ≠ k

цикл пока  c установить ≤ (аt1,i , аt2,i+1); i:= i+1 конец

сохранить  (t2); t2 := t2  + 1; i := 0  конец  j := j + 1; t2 := t1 ;

i := j конец сохранить (t1 );  t1 := t1  + 1; t2 := t1  ; i := 0;  j := 0;

i := j  конец сохранить (t1); t  := t  + 1; t  ;= t  ; i := 0; j :+ 0 конец

t1, t2 – счетчики модулей.

Оператор установить £ (аt1,i, аt2,i+1) размещает значения указанной пары согласно отношению £. По адресу аt1,i размещается меньшее значение, а по адресу аt2,i+1 большее значение.

Оператор сохранить (t1) отказывается от модуля с номером t1
с сохранением его.

Структура программы с детерминированно-связанными модулями, определяющая использование операционного модуля и модулей данных изображена на рис. 1.


Рис. 1. Структура программы сортировки

Вывод модулей данных назначается в операционном модуле. Программа сортировки размещается в первом модуле, в остальных модулях размещаются данные. Модули модульной канонически связной программы связаны по номерам, кроме модуля с номером k + 1. Структура связи модуля k + 1 с остальными модулями с возвратами. Она определяется программой SPPk+1: если t1 = 1 то PI2 если t1 = 2 то PI3 … если t1 = (k – 2) то PIk–1.

Номера связи модуля и адрес программы связи модуля k + 1 хранятся в управляющей информации.

На четыре часа обработки процессорами программы сортировки со случайными обращениями к модулям на современной ЭВМ замещение модулей на оперативной памяти занимает 20 часов. Результаты пользователь получает через 24 часа. При непрерывной обработке программ с детерминированно-связанными модулями на ЭВМ с упреждающим управлением памяти, пользователь получит результат через 16 часов.

 

Обработка банков данных. Пусть в банке данных имеются анкеты пяти миллиардов людей, в которых сообщены следующие данные: вес, рост, возраст, национальность, пол, социальное положение, специальность, должность, адрес и т.д. Нужно из пяти миллиардов людей выбрать всех, кто отвечает по своим анкетным данным эталону. Анкетные данные последовательно размещены в k модулях. В каждом модуле размещается q анкет. Программа выбора анкет по эталону следующая:

i := 0; ; t1 := POD j := 0; t2 := 1; n := 0; t3 := k + 1;

цикл пока  k  M: цикл пока   q  сравнить (эталон, анкета (t2 , i)) если да то записать (t1,j , t2,i ); j := j + 1

если  j  >  q то сохранить (t1 , t3 ); t3 := t3 + 1; n := n +1

если  n = 2 то t1 := t1 - 2  иначе  t1  := t1  + 1; j := 0 на М

иначе i := i + 1 конец освободить (t2 ); t2 := t2  + 1 конец все

 t1, t2, t3  - счетчики модулей.

Подпрограмма сравнить (эталон, анкета (t2,i) сравнивает анкету i из модуля t2   с эталоном.

Подпрограмма записать (t1,j , t)   записывает анкету i из модуля t1    в модуль t2   по месту j.

Структура программы с детерминированно-связанными модулями, определяющая использование первого операционного модуля, k модулей анкет и с k+2 по k+p модулей эталонов, изображена на рис. 2.


Рис. 2. Структура программы обработки банков данных

Программа обработки хранится в первом модуле. Далее идет последовательность модулей с анкетами. В модулях PI2,…PIk+1 хранятся исходные анкеты. В модулях PIk+2,…PIk+p хранятся эталонные анкеты. Модули связаны по номерам. Номера модулей хранятся в управляющей информации. В резидентном модуле общих данных накапливаются текущие исходные анкеты, совпадающие с эталоном.

Программа синтаксического разбора выражений. Нужно провести синтаксический контроль правильности записи выражения, находящегося в k модулях вводных данных, если понятие выражения определяется следующими синтаксическими правилами:

ВЫРАЖЕНИЕ ::= ТЕРМ I ТЕРМ + ВЫРАЖЕНИЕ

ТЕРМ ::= МНОЖИТЕЛЬ I МНОЖИТЕЛЬ * ТЕРМ

МНОЖИТЕЛЬ ::= ИМЯ I ЧИСЛО I ВСКОБКАХ

ИМЯ  БУКВА I <ИМЯ><БУКВА> I <ИМЯ><ЦИФРА>

ЧИСЛО ::= ЦИФРА I <ЦИФРА>ЧИСЛО

ВСКОБКАХ ::= (ВЫРАЖЕНИЕ)

Программа контроля синтаксической правильности выражения составляется из подпрограмм: ВСКОБКАХ, ЧИСЛО, ИМЯ, МНОЖИТЕЛЬ, ТЕРМ, ВЫРАЖЕНИЕ.

Эти подпрограммы определяют правильность выражения соответствующей его части. Синтаксически правильные понятия выделяются из текста последовательно. Подпрограммы дают результат да, если текст состоит из синтаксически правильных понятий. Анализ ведется до тех пор, когда счетчик модулей будет удовлетворять условию t = k + 1.

При анализе используется модуль общих данных.

Синтаксическому анализу легко поддаются тексты за один проход. Структура программы с детерминированно-связанными модулями, определяющая использование первого операционного модуля
и остальных текстовых модулей изображена на рис. 3.

 

Рис. 3. Структура программы синтаксического разбора выражений.

Программа анализа располагается в первом модуле. Далее располагаются модули с входным текстом. Модули в последовательности связаны линейно по номерам. Номера модулей хранятся в управляющей информации.


2. Непрерывная обработка на виртуальной памяти программ с детерминировано-связанными модулями. Рассмотрим вычислительные процессы с упреждающим управлением виртуальной памятью. Вычислительные процессы с упреждающим управлением виртуальной памятью обрабатывают программы с детерминированно-связанными модулями.

Упреждающий метод управления памятью использует:

– детерминированный, динамический метод распределения ресурсов оперативной памяти;

– упреждающие акты анализа связности модулей программы;

– упреждающий запрос, упреждающий метод параллельного замещения обработанных модулей программы;

– потоковое упреждающее перемещение значений общих данных между модулями на оперативных сегментах памяти.

Программы с детерминированно-связанными модулями допускают упреждающие анализ цепочек связей, поиск модулей, перемещение модулей и значений общих данных глубины m по текущим данным, где m – число сегментов оперативной памяти. Упреждающий метод управления позволяет обрабатывать непрерывно программу с детерминированно-связанными модулями на виртуальной памяти. Модули программы обрабатываются последовательно, обработка каждого модуля параллельная.

Критерий непрерывной обработки. Вычислительные процессы
с упреждающим методом управления памятью непрерывно обрабатывают программу с детерминированно-связанными модулями, если время обработки каждой последовательности из m связных модулей больше времени анализа связей, перемещения общих данных и параллельного замещения m модулей на 2 m сегментах оперативной памяти.

Метод замещения модулей программ с детерминированно-связанными модулями на оперативной памяти, упреждающий их обработку, позволяет обеспечить непрерывность обработки на виртуальной памяти по критерию непрерывности, в отличие от всех используемых методов замещения модулей программ со случайными обращениями к модулям. Вычислительные процессы с упреждающим методом управления памятью – это новое направление в информатике автоматизированной обработки больших программ с детерминированно-связанными модулями.

 

3. Супер-ЭВМ с упреждающим управлением виртуальной памятью. Супер-ЭВМ с упреждающим управлением памятью реализуют параллельно-асинхронное взаимодействие актов использования ресурсов ЭВМ под управлением программ с детерминированно-связанными модулями. Супер-ЭВМ содержит новые устройства: процессор анализа связей между модулями программы, счетчики использования сегментов оперативной памяти модулями, процессор перемещения модулей по виртуальной памяти, процессор перемещения общих данных модулей (рис. 4). Процессор анализа проводит упреждающий анализ связей модулей программ с детерминированно-связанными модулями. Процессор анализа реализует процесс вычисления номера внешнего модуля перемещения на оперативную память по программе связи модуля, процесс корректировки значения счетчика использования сегментов оперативной памяти модулями программы, процесс запуска процессора перемещения модулей программы с внешней памяти на сегменты оперативной памяти. Процессор перемещения модулей реализует процессы перемещения модулей между устройствами внешней и оперативной памяти, обеспечивая наличие необходимых модулей на оперативной памяти по заявке процессора анализа связей.


Рис. 4. Супер-ЭВМ с упреждающим управлением виртуальной памятью

Процессор перемещения модулей реализует: процесс коммутации сегментов оперативной памяти с сегментами накопителя, процессы передачи и контроля информации модулей программы, процессы прерываний по передаче информации. Процессор перемещения общих данных реализует перемещение общих данных между модулями. Общие переменные имеют последовательности адресов перемещения их текущих значений. По последовательности адресов перемещения организуются потоки значений общих данных с доставкой их на место использования в модулях на оперативных сегментах. Обращение к модулям происходит по их номерам. Для модулей внешней памяти значения общих переменных переносятся в резидент общих данных. При замещении модуля, содержащего общие данные и их значения, переносятся из резидента. Активизация устройств ЭВМ осуществляется процессором управления по оттранслированной программе пользователя с детерминированно-связанными модулями.

Непрерывный вычислительный процесс начинается с загрузки начальных модулей программы с внешней памяти на сегменты оперативной памяти с перемещения значений общих данных  и анализа связей между модулями.  При загрузке модулей устанавливаются значения на счетчиках использования оперативных сегментов модулями. Для модулей данных, ввода, вывода значение счетчика равно единице. При загрузке модуля на сегмент оперативной памяти в управляющую информацию предшествующего по поиску модуля заносится номер оперативного сегмента. Затем процессор управления запускает процессоры обработки на обработку первого модуля. После выхода из каждого операционного модуля из значения соответствующего счетчика использования памяти вычитается единица и проверяется его значение на нуль. Для модулей данных значение счетчика обнуляется из операционного модуля по команде «обнулить счетчик».

Когда значение счетчика становится равным нулю и определен указатель на внешний модуль, тогда инициируется процессор перемещения модулей для замещения использованного модуля на оперативной памяти внешним модулем по указателю. После замещения указатель на внешний модуль обнуляется. Если в модуль на оперативной памяти не было записи, то он не переносится на внешнюю память. Процессор перемещения общих данных по адресным последовательностям переносит накопившиеся значения общих данных с резидента общих данных в заместивший модуль. Процессор анализа корректирует счетчик использования оперативной памяти заместившим модулем и определяет по программе связи заместившего модуля указатель на внешний модуль.

Процессор управления организует обработку, перемещение общих данных, анализ связей и замещение модулей. Он совмещает работу устройств над одним модулем за разные циклы обращений к оперативному сегменту.

Количество оперативных сегментов для непрерывной обработки программы с детерминированно-связанными модулями определяется
в процессе ее трансляции или компиляции.

При технической реализации непрерывное присутствие текущих модулей в оперативной памяти достигается путем баланса скорости упреждающего обработку многоканального параллельного перемещения модулей с внешней памяти в оперативную со скоростью обработки информации из оперативной памяти.

ЭВМ с упреждающим управлением памятью обеспечивает непрерывный процесс обработки  программы с детерминированно-связанными модулями упреждающим параллельным перемещением общих данных модулей и упреждающим параллельным замещением модулей на оперативной памяти через многоканальный обмен.

3.1. Поток значений общих данных. Готовые к последующей обработке значения общих данных перемещаются по модулям программы, находящимся в оперативной памяти. Для каждого значения общего данного d определяются последовательность использующих его модулей, места использования их в этих модулях и относительные моменты использования значений d в модулях. По множеству модулей использования d составляется дополнительное множество модулей, через которые перемещаются значения данного d.

Значения общих данных перемещаются по модулям, нахо­дящихся на сегментах оперативной памяти, динамически образуя поток данных.

Общие данные модулей, находящихся не на оперативной памяти перемещаются в резидентные модули ROD. В резидентном модуле общих данных значения хранятся вместе с указателями перемещения. Значения, перемещаемые в один модуль, располагаются подряд. В начале последовательности указывается их количество. После записи новых значений в модуль общих данных перемещается его указатель свободного места (записи), если счетчик модуля общих данных не превышает допустимое число значений.

Значения снабжаются признаками перевычисления. Если признак принимает состояние неизменяемости, то значение перемещается во все используемые модули.

Значения помещаются в модуль общих данных в порядке их перемещения в модули, поступающие с внешней памяти на оперативную память. В модуле общих данных значения могут снабжаться несколькими указателями. После перемещения всех значений в модуль программы в нем устанавливается признак «перемещено», который указывает, что модуль готов к обработке.

Пусть имеется k модулей последовательности исполнения и п сегментов оперативной памяти. Пусть первый модуль имеет переменные. Для каждой переменной выпишем номера последующих модулей, в которых она используется. Для второго модуля выпишем все переменные, которых нет в первом модуле. Для каждой переменной выпишем номера последующих модулей, в которых она используется. Для последующих модулей аналогично выпишем последовательности использования переменных, которые не указаны в предыдущих модулях.

Для каждой переменной определим внешние модули. Выпишем последовательности номеров внешних использующих модулей. Переменные будут храниться в резидентном модуле общих данных соглас­но последовательной нумерации внешних модулей, использующих переменные.

3.2. Замещение модулей программы на оперативной памяти. Для хранения модулей программ используется внешняя память. Пусть каждый модуль размещается на отдельном сегменте. И пусть размеры сегмента и модуля определяются максимальной порцией обмена информации между устройствами внешней памяти и оперативной памяти.

Сегмент оперативной памяти является локальным адресным пространством для модуля. Областью действия команд модуля, кроме команд процессора перемещения данных, является адресное пространство оперативного сегмента, на котором находится соответствующий модуль. Соответствие между сегментами оперативной памяти и модулями, находящимися на оперативных сегментах, устанавливается через ассоциативные регистры аппаратуры коммутации.

Если используются два сегмента оперативной памяти, то на одном сегменте хранится обрабатываемый модуль, на другом модуль готовится к обработке. Если используются три оперативных сегмента, то на одном сегменте происходит замещение обработанного модуля на модуль по внешней ссылке, на другом хранится обрабатываемый модуль, на третьем модуль готовится к обработке.

Замещение модулей на сегментах оперативной памяти опре­деляется состоянием счетчиков использования сегментов модулями программы Р и указателем внешнего модуля аппаратуры контроля перемещения модулей.

Разделение оперативной памяти на независимые сегменты делается для упреждающей подкачки модулей с внешней памяти на оперативную. Перемещаться между устройствами внешней и оперативной памяти одновременно могут несколько модулей.

Аппаратная реализация замещения модулей на оперативной памяти сводит практически время управления этим процессом к нулю
в сравнении с временем их замещения и обработки.

Реализация полисемантических полиинформационных операторов (ППО) программы с детерминированно-связанными модулями осуществляется либо на ПЛИС-структурах, либо на сетевых ГРИД-системах с перестраиваемыми схемами. Для исполнения нескольких подряд ППО требуются две ПЛИС-структуры либо сетевые ГРИД-системы с перестраиваемыми схемами для непрерывной обработки программ. Последовательность исполнения ППО на сетевых изменяемых структурах определяется после трансляции по последовательности исполнения детерминировано-связанных модулей программы.  

Тело ППО хранится на внешней памяти отдельно от программы. Процедура загрузки тела ППО на сетевые структуры запускается механизмом упреждающей подкачки.

4. Конкурентные преимущества. Непрерывную обработку больших программ со случайными обращениями к модулям на существующих суперкомпьютерах реализуют путем увеличения оперативной памяти, построения грид-систем, а также создания супер-ЭВМ с упреждающим управлением памятью.

4.1. Использование супер-ЭВМ с большой оперативной памятью для непрерывной обработки программ со случайным обращением
к модулям является неэффективным из-за снижения производительности из-за усложнения коммутации «процессоры–память». Такой подход является экономически невыгодным из-за существенного увеличения стоимости оперативной памяти.

4.2. Распределённые грид-системы, состоящие из разновидности параллельных компьютеров со стандартными процессорами, устройствами хранения данных, блоками питания и т.д., подключенными к сети (локальной или глобальной) при помощи обычных протоколов, также не могут обеспечить непрерывную обработку больших программ со случайными обращениями к модулям. Таким образом, получаем практически те же вычислительные мощности для обработки больших программ, что и на современных суперкомпьютерах, работающих под управлением программ со случайными обращениями к их модулям. Как и в первом случае, обработка больших программ неэффективная и затратная.

4.3. Непрерывная обработка программ с детерминированно-связанными модулями на виртуальной памяти универсальной супер-ЭВМ с упреждающим управлением памятью сокращает время ожидания результата экспоненциально при обработке на виртуальной памяти целевой ЭВМ в сравнении с существующими супер-ЭВМ со случайным управлением памятью. Для исполняющихся за несколько суток больших программ, а также для обработки большого количества данных на виртуальной памяти в режиме реального времени это самый эффективный и экономически оптимальный метод. Время ожидания результата сокращается за счет упреждающего перемещения модулей программы по виртуальной памяти, упреждающего перемещения данных по модулям программы, многопроцессорной параллельной обработки данных, готовых для вычислений.

5. Стратегия реализации супер-ЭВМ с упреждающим управлением памятью. Супер-ЭВМ с упреждающим управлением памятью можно реализовать модификацией отечественного суперкомпьютера «Ломоносов». Ее целесообразно провести с разработчиками компании Т-платформы. Суперкомпьютер «Ломоносов» производительностью 1 петафлопс, имеющий порядка 280 терабайт оперативной памяти и порядка 20 петабайт дискового пространства, нужно предварительно исследовать на эффективную модификацию в целевую супер-ЭВМ с упреждающим управлением памятью и многоканальным обменом виртуальной памяти.

Проект можно реализовать модификацией суперкомпьютера «Тяньхэ2». Ее целесообразно провести с китайскими разработчиками через государственный холдинг «Росэлектроника», в котором есть научно-исследовательское, конструкторское, производственное и маркетинговое подразделения. После превращения целевого суперкомпьютера в рыночный холдинг может создать международное акционерное общество с сохранением инфраструктуры для развития полученного инновационного рыночного продукта и реализации спроса на него.

Проект можно реализовать созданием консорциума в рамках национальной суперкомпьютерной технологической платформы, объединяющего фундаментальную исследовательскую деятельность, обра­зовательную деятельность для подготовки кадров, прикладные научно-исследовательские и опытно-конструкторские работы и корпорации серийного производства целевой супер-ЭВМ с упреждающим управлением памятью и многоканальным обменом виртуальной памяти.



Библиографический список


1. Э. Хант, Д. Томас. Программист-прагматик. М: Издательский дом: Лори. 2004. 250 с.
2. Харольд Абельсон, Джеральд Джей Сассман. Структура и Интерпретация Компьютерных Программ. Издательство: Добросвет. 2004. 596 с.
3. Д. Кнут «Искусство программирования». Т. 1-4. Massachusetts: Addison-Wesley. 2001-2008.
4. Брындин Е.Г. Теоретические аспекты непрерывной обработки на виртуальной памяти. Информационные технологии. – М., 2009. – № 9. С. 33–39.
5. Стив Макконнелл. Совершенный код. Издательство: Русская редакция. 2010. 896 с.
6. Джордж Риз. Cloud Application Architectures. БХВ-Петербург. 2011. 288 с.
7. Брындин Е.Г. Теоретические основы имитации мышления и непрерывной обработки на виртуальной памяти. – Томск: Изд-во ТПУ, 2011. – 235 с.
8. Евгений Брындин. Основы имитации мышления и непрерывной обработки программ. – Germany: LAP LAMBERT Academic Publishing, 2012. – 197 с.
9. Брындин Е.Г. Управление непрерывной обработкой программ на виртуальной памяти. /СУПЕРКОМПЬЮТЕРЫ, № 3. 2014. С. 50-52
10. Е.Г. Брындин. Технологические платформы шестого уклада. //Репутациология № 3. –М. - 2014 – С. 56-64.
11. Брындин Е.Г. Непрерывная обработка программ суперЭВМ с упреждающим управлением памятью. Всерос. Науч.-практ. конф. «Многоядерные процессоры, параллельное программирование, ПЛИС, системы обработки сигналов (МППОС – 2015)». Барнаул: БГУ. 2015. С. 20-27.
12. Брындин Е.Г. Решение проблемы непрерывной обработки программ на виртуальной памяти. "Вестник ПНИПУ: Электротехника, Информационные технологии, Системы управления", № 13. Пермь: ПНИПУ. 2015. С. 91-107


References


1. E. Khant, D. Tomas. Programmist-pragmatik. M: Izdatel'skii dom: Lori. 2004. 250 s.
2. Kharol'd Abel'son, Dzheral'd Dzhei Sassman. Struktura i Interpretatsiya Komp'yuternykh Programm. Izdatel'stvo: Dobrosvet. 2004. 596 s.
3. D. Knut «Iskusstvo programmirovaniya». T. 1-4. Massachusetts: Addison-Wesley. 2001-2008.
4. Bryndin E.G. Teoreticheskie aspekty nepreryvnoi obrabotki na virtual'noi pamyati. Informatsionnye tekhnologii. – M., 2009. – № 9. S. 33–39.
5. Stiv Makkonnell. Sovershennyi kod. Izdatel'stvo: Russkaya redaktsiya. 2010. 896 s.
6. Dzhordzh Riz. Cloud Application Architectures. BKhV-Peterburg. 2011. 288 s.
7. Bryndin E.G. Teoreticheskie osnovy imitatsii myshleniya i nepreryvnoi obrabotki na virtual'noi pamyati. – Tomsk: Izd-vo TPU, 2011. – 235 s.
8. Evgenii Bryndin. Osnovy imitatsii myshleniya i nepreryvnoi obrabotki programm. – Germany: LAP LAMBERT Academic Publishing, 2012. – 197 s.
9. Bryndin E.G. Upravlenie nepreryvnoi obrabotkoi programm na virtual'noi pamyati. /SUPERKOMP''YuTERY, № 3. 2014. S. 50-52
10. E.G. Bryndin. Tekhnologicheskie platformy shestogo uklada. //Reputatsiologiya № 3. –M. - 2014 – S. 56-64.
11. Bryndin E.G. Nepreryvnaya obrabotka programm superEVM s uprezhdayushchim upravleniem pamyat'yu. Vseros. Nauch.-prakt. konf. «Mnogoyadernye protsessory, parallel'noe programmirovanie, PLIS, sistemy obrabotki signalov (MPPOS – 2015)». Barnaul: BGU. 2015. S. 20-27.
12. Bryndin E.G. Reshenie problemy nepreryvnoi obrabotki programm na virtual'noi pamyati. "Vestnik PNIPU: Elektrotekhnika, Informatsionnye tekhnologii, Sistemy upravleniya", № 13. Perm': PNIPU. 2015. S. 91-107


  Яндекс.ВиджетINNOV

архив: 2013  2012  2011  1999-2011 новости ИТ гость портала 2013 тема недели 2013 поздравления