2015 Электротехника, информационные технологии, системы управления № 13 УДК 004.382.2
Е.Г. Брындин
Исследовательский центр «Естествоинформатика», Новосибирск, Россия
Национальная Суперкомпьютерная Технологическая Платформа
РЕШЕНИЕ ПРОБЛЕМЫ НЕПРЕРЫВНОЙ ОБРАБОТКОЙ ПРОГРАММ НА ВИРТУАЛЬНОЙ ПАМЯТИ
В статье рассматривается решение проблемы управления непрерывной автоматизированной обработкой больших объемов информации на виртуальной памяти без задержки получения результатов из-за обменов. Непрерывная обработка больших объемов информации на виртуальной памяти считалась технически нереализуемой.
Цель данного исследования показать, что проблема не техническая, а алгоритмическая. Задачи исследования: показать универсальное решение проблемы, определить архитектуру целевой оптоэлектронной супер-ЭВМ, определить структуру рабочих программ.
Ключевые слова: упреждающее замещение модулей на виртуальной памяти, непрерывная обработка программ, суперкомпьютер с упреждающим управлением памятью.
E.G. Bryndin
Research center "Estestvoinformatika", Novosibirsk, Russian Federation National Supercomputer Technological Platform
SOLUTION CONTINUOUS PROCESSING PROGRAMS ON VIRTUAL MEMORY
In article the solution of the problem of management of the continuous automated processing of large volumes of information on virtual memory without delay of receiving results because of exchanges is considered. Continuous processing of large volumes of information on virtual memory was considered as the technically not realized.
Objective of this research to show that a problem not technical, but algorithmic. Research problems: to show a universal solution, to define architecture of the target optoelectronic supercomputer, to define structure of working programs.
Keywords: anticipatory replacement of modules on virtual memory, continuous processing of programs, a supercomputer with anticipatory management of memory.
1. Непрерывная обработка на виртуальной памяти программ с детерминированно-связанными модулями. Рассмотрим вычислительные процессы с упреждающим управлением виртуальной памятью. Вычислительные процессы с упреждающим управлением виртуальной памятью обрабатывают программы с детерминированно-связанными модулями [1, 2].
Упреждающий метод управления памятью использует:
- детерминированный, динамический метод распределения ресурсов оперативной памяти;
- упреждающие акты анализа связности модулей программы;
- упреждающий запрос, упреждающий метод параллельного замещения обработанных модулей программы;
- потоковое упреждающее перемещение значений общих данных между модулями на оперативных сегментах памяти.
Программы с детерминированно-связанными модулями допускают упреждающие анализ цепочек связей, поиск модулей, перемещение модулей и значений общих данных глубины т по текущим данным, где т - число сегментов оперативной памяти. Упреждающий метод управления позволяет обрабатывать непрерывно программу с детерминированно-связанными модулями на виртуальной памяти. Модули программы обрабатываются последовательно, обработка каждого модуля параллельная.
Критерий непрерывной обработки. Вычислительные процессы с упреждающим методом управления памятью непрерывно обрабатывают программу с детерминированно-связанными модулями, если время обработки каждой последовательности из т связных модулей больше времени анализа связей, перемещения общих данных и параллельного замещения т модулей на 2 т сегментах оперативной памяти.
Метод замещения модулей программ с детерминированно-связанными модулями на оперативной памяти, упреждающий их обработку, позволяет обеспечить непрерывность обработки на виртуальной памяти по критерию непрерывности, в отличие от всех используемых методов замещения модулей программ со случайными обращениями к модулям. Вычислительные процессы с упреждающим методом управления памятью - это новое направление в информатике автоматизированной обработки больших программ с детерминированно-связанными модулями.
2. Программы с детерминированно-связанными модулями. Пусть задана модульно-связанная программа Р, где Р = [Р1]], ] = 1,...,п, Р1 - либо операционный модуль, либо модуль данных программы, либо
модуль ввода-вывода. PIj = {Ш^ ODj, LDj, Pj, SPPj, SPIj}, где Ш/ -управляющая информация, ODj - общие данные, LDj - локальные данные, Р, - программа обработки, SPPj - связь по поиску модуля следующего по исполнению, SPIj - алгоритмическая связь модулей по передаче исполнения.
Определение 1. Последовательность модулей PI1...PIj...PIk, связанных через программы поиска SPP1.SPPj.SPPk, назовем модульным исполнением РР1 программы Р, если последовательность программ обработки P1.Pj.Pk определяет результат программы P по ее данным, где I = 1 .т.
Определение 2. Структура связей по поиску модулей программы Р детерминирована, если по ее данным можно выполнить последовательности {(SPP1...SPp/...SPPk)1} программ поиска модулей для всех модульных исполнений {РР11} программы Р.
Определение 3. Модульно-связанная программа Р с определенным размером всех модулей называется программой с детерминиро-ванно-связанными модулями, если структура связей по поиску ее модулей детерминирована.
2.1. Операторные схемы для создания программ с детермини-рованно-связанными модулями. Разработана теория операторных схем с естественной интерпретацией для преобразования любой программы в программу с детерминированно-связанными модулями.
Определение 4. Ориентированный граф G(X,Г,U), в котором операторы программы P представлены вершинами X = {01,02,..,0„} графа, а информационные связи - по данным заданы функцией Г: X® У, а функцией и: X ® У - связи по исполнению между операторами заданы, назовем операторной схемой программы Р.
Определение 5. Оператор О/ альтернативно управляется по исполнению, если он имеет несколько входов по исполнению.
Определение 6. Оператор О/ альтернативно управляет исполнением, если он имеет несколько выходов по исполнению.
Определение 7. Оператор О/ называется полисемантическим, если он обладает различными семантиками исполнения.
Определение 8. Оператор Оназывается полиинформационным, если он имеет несколько информационных связей по передаче результата в качестве операндов (аргументов) другим операторам.
2.2. Типы операторных схем
Определение 9. Операторная схема G(X,Г,U) называется линейной по исполнению, если все операторы в схеме однозначно управляются по исполнению и однозначно управляют исполнением.
Определение 10. Операторную схему G(X,Г,U), состоящую из независимых линейных операторных подсхем, назовем линейно-образной по исполнению операторной схемой.
Определение 11. Операторная подсхема G(X',Г,Г), имеющая один оператор входа через связи по исполнению, альтернативно управляющий двумя или более операторами подсхемы, и один оператор выхода из подсхемы через связи по исполнению, альтернативно управляемый двумя и более операторами подсхемы, причем операторы входа и выхода различные, называется гамакообразной по исполнению операторной подсхемой.
Определение 12. Операторная подсхема G((X0 с X), Г,Ц), у которой операторы Х0 ={О/} образуют одну замкнутую цепочку (О)1, О)2,...,О)п) через связи по исполнению и:Х0®Х0, называется несцеп-ленной операторной подсхемой с возвратом по исполнению.
Определение 13. Операторные подсхемы G((Xl с X), Г,и) и G((X2 с Х),Г,и) с возвратом по исполнению называются сцепленными, если подсхемы X1 п X2 = 0 имеют общие операторы.
Определение 14. Нелинейно образную операторную схему G(X,Г,U) без гамакообразных подсхем по исполнению и без подсхем с возвратом по исполнению назовем линейно перекрестной операторной схемой по исполнению.
Определение 15. Исполнение О11,О12,.. ,,О1п операторной схемы G1(X1,Г1,U1) и исполнение О)1,О)2,. ,.,О)п операторной схемы G2(X2,Г2,U2) называются равносильными, если для одинаковых входных данных приводят к одинаковым результатам.
Определение 16. Операторные схемы G1(X1,Г1,U1j и G2(X2,Г2,U2) называются равносильными, если множества их исполнений равносильные.
Определение 17. Программы P1 и P2, имеющие равносильные операторные схемы, называются равносильными.
Определение 18. Преобразование операторной схемы программы Р1 в операторную схему равносильной программы Р2 называется преобразованием операторных схем по алгоритмическому базису.
Определение 19. Преобразование операторной схемы G(X,Г,U), при котором из подсхемы 0^1,Г,Ц) операторной схемы G(X,Г,U) получается полисемантический полиинформационный оператор с сохранением всех информационных связей и связей по передаче исполнения с операторной схемой О^Г, V), назовем синтезом.
Определение 20. Преобразование операторной подсхемы в несколько независимых подсхем с сохранением всех информационных связей и связей по передаче управления с операторной схемой назовем расщеплением.
Определение 21. Подсхема операторной схемы, обрабатывающая группу входных данных независимо от дополнительной подсхемы, называется автономной по входным данным.
Теорема 1. В операторной схеме О^Г,^ можно выделить все гамакообразные операторные подсхемы по исполнению.
Теорема 2. В операторной схеме О^Г,^ можно выделить все сцепленные и несцепленные операторные подсхемы с возвратом.
Теорема 3. В линейно перекрестной операторной схеме О^Г^ можно выделить все линейные подсхемы.
Определение 19. Преобразование операторной схемы О^Г,^, при котором из подсхемы 0(X1,Г,U) операторной схемы О^Г,^ получается полисемантический полиинформационный оператор с сохранением всех информационных связей и связей по передаче исполнения с операторной схемой О^Г, V), назовем синтезом.
Определение 20. Преобразование операторной подсхемы в несколько независимых подсхем с сохранением всех информационных связей и связей по передаче управления с операторной схемой назовем расщеплением
Определение 21. Подсхема операторной схемы, обрабатывающая группу входных данных независимо от дополнительной подсхемы, называется автономной по входным данным.
Теорема 1. В операторной схеме О^Г,^ можно выделить все гамакообразные операторные подсхемы по исполнению.
Теорема 2. В операторной схеме О^Г,^ можно выделить все сцепленные и несцепленные операторные подсхемы с возвратом.
Теорема 3. В линейно-перекрестной операторной схеме G(X,Г,U) можно выделить все линейные подсхемы.
2.3. Примеры программ с детерминированно-связанными модулями. Рассмотрим несколько программ с детерминированно-связанными модулями [3, 4].
Сортировка данных. Пусть имеются данные а1,...,ат. Эти данные нужно пересортировать в неубывающей последовательности. Разместим последовательно исходные данные в к модулях. Программа сортировки перебором сравнений исходных данных следующая: I := 0;) := 0; Н := 1; 12 := 1;
цикл пока Ь = к цикл пока) Ф с цикл пока 12 Ф к цикл пока I Фс установить < (аг1г- , а^+О; г:= г+1 конец сохранить (12); t2 : = t2 + 1; 1 := 0 конец ) : =) + 1; ¿2 := Ь ; I :=) конец сохранить ); tl : = tl + 1; t2 : = tl ; I := 0; ) := 0; I :=) конец сохранить t := t + 1; t ;= t ; I := 0;) :+ 0 конец t1, t2 - счетчики модулей.
Оператор установить < (а11л, аt2,г■+1) размещает значения указанной пары согласно отношению <. По адресу аа^ размещается меньшее значение, а по адресу ай,/+1 - большее значение.
Оператор сохранить отказывается от модуля с номером t1 с сохранением его.
Структура программы с детерминированно-связанными модулями, определяющая использование операционного модуля и модулей данных, изображена на рис. 1.
Структура связи модуля Р1к+1 с остальными модулями
Структура связи модуля Р1к+1 с остальными модулями
Р11 Р12 Р1к+1
Рис. 1. Структура программы сортировки
Вывод модулей данных назначается в операционном модуле. Программа сортировки размещается в первом модуле, в остальных модулях размещаются данные. Модули модульной канонически связной
программы связаны по номерам, кроме модуля с номером к + 1. Структура связи модуля к + 1 с остальными модулями с возвратами. Она определяется программой SPPk+1: если t1 = 1 то PI2 если t1 = 2 то PI3 ... если t1 = (к - 2) то Р1к-1.
Номера связи модуля и адрес программы связи модуля к + 1 хранятся в управляющей информации.
На четыре часа обработки процессорами программы сортировки со случайными обращениями к модулям на современной ЭВМ замещение модулей на оперативной памяти занимает 20 ч. Результаты пользователь получает через 24 ч. При непрерывной обработке программ с детерминированно-связанными модулями на ЭВМ с упреждающим управлением памяти, пользователь получит результат через 16 ч.
Обработка банков данных. Пусть в банке данных имеются анкеты пяти миллиардов людей, в которых сообщены следующие данные: вес, рост, возраст, национальность, пол, социальное положение, специальность, должность, адрес и т.д. Нужно из пяти миллиардов людей выбрать всех, кто отвечает по своим анкетным данным эталону. Анкетные данные последовательно размещены в к модулях. В каждом модуле размещается q анкет. Программа выбора анкет по эталону следующая:
i := 0; ; t1 : = POD j := 0; t2 := 1; n := 0; t3 := к + 1; цикл пока t #к M: цикл пока i #q сравнить (эталон, анкета (t2 , i)), если да то записать (ty, 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.
Структура программы с детерминированно-связанными модулями, определяющая использование первого операционного модуля, к модулей анкет и с к + 2 по к + p модулей эталонов, изображена на рис. 2.
Модули исходных анкет
Р12 Р1ш
Р1к+2 РД+3 Р1к+р
Модули эталонных данных
Рис. 2. Структура программы обработки банков данных
Программа обработки хранится в первом модуле. Далее идет последовательность модулей с анкетами. В модулях Р12,.. ,Р1к+1 хранятся исходные анкеты. В модулях Р1к+2,...Р1к+Р хранятся эталонные анкеты. Модули связаны по номерам. Номера модулей хранятся в управляющей информации. В резидентном модуле общих данных накапливаются текущие исходные анкеты, совпадающие с эталоном.
Программа синтаксического разбора выражений. Нужно провести синтаксический контроль правильности записи выражения, находящегося в к модулях вводных данных, если понятие выражения определяется следующими синтаксическими правилами:
ВЫРАЖЕНИЕ ::= ТЕРМ I ТЕРМ + ВЫРАЖЕНИЕ ТЕРМ ::= МНОЖИТЕЛЬ I МНОЖИТЕЛЬ * ТЕРМ МНОЖИТЕЛЬ ::= ИМЯ I ЧИСЛО I В СКОБКАХ ИМЯ БУКВА I < ИМЯ > < БУКВА > I <ИМЯ><ЦИФРА> ЧИСЛО ::= ЦИФРА I <ЦИФРА>ЧИСЛО В СКОБКАХ ::= (ВЫРАЖЕНИЕ)
Программа контроля синтаксической правильности выражения составляется из подпрограмм: В СКОБКАХ, ЧИСЛО, ИМЯ, МНОЖИТЕЛЬ, ТЕРМ, ВЫРАЖЕНИЕ.
Эти подпрограммы определяют правильность выражения соответствующей его части. Синтаксически правильные понятия выделяются из текста последовательно. Подпрограммы дают результат «да», если текст состоит из синтаксически правильных понятий. Анализ ведется до тех пор, когда счетчик модулей, будет удовлетворять условию I = к + 1.
При анализе используется модуль общих данных.
Синтаксическому анализу легко поддаются тексты за один проход. Структура программы с детерминированно-связанными модулями, определяющая использование первого операционного модуля и остальных текстовых модулей, изображена на рис. 3.
Р11 Р12 Р1+
ЬД1 Р1 тх БРР1 ш2 дг БРР2 и1+1 Дм SPPk+l
Рис. 3. Структура программы синтаксического разбора выражений.
Программа анализа располагается в первом модуле. Далее располагаются модули с входным текстом. Модули в последовательности связаны линейно по номерам. Номера модулей хранятся в управляющей информации.
3. Супер-ЭВМ с упреждающим управлением виртуальной памятью. Супер-ЭВМ с упреждающим управлением памятью реализуют параллельно-асинхронное взаимодействие актов использования ресурсов ЭВМ под управлением программ с детерминированно-связанными модулями. Супер-ЭВМ содержит новые устройства: процессор анализа связей между модулями программы, счетчики использования сегментов оперативной памяти модулями, процессор перемещения модулей по виртуальной памяти, процессор перемещения общих данных модулей (рис. 4). Процессор анализа проводит упреждающий анализ связей модулей программ с детерминированно-связанными модулями. Процессор анализа реализует процесс вычисления номера внешнего модуля перемещения на оперативную память по программе связи модуля, процесс корректировки значения счетчика использования сегментов оперативной памяти модулями программы, процесс запуска процессора перемещения модулей программы с внешней памяти на сегменты оперативной памяти. Процессор перемещения модулей реализует процессы перемещения модулей между устройствами внешней и оперативной памяти, обеспечивая наличие необходимых модулей на оперативной памяти по заявке процессора анализа связей. Процессор перемещения модулей реализует: процесс коммутации сегментов оперативной памяти с сегментами накопителя, процессы передачи
и контроля информации модулей программы, процессы прерываний по передаче информации. Процессор перемещения общих данных реализует перемещение общих данных между модулями. Общие переменные имеют последовательности адресов перемещения их текущих значений. По последовательности адресов перемещения организуются потоки значений общих данных с доставкой их на место использования в модулях на оперативных сегментах. Обращение к модулям происходит по их номерам. Для модулей внешней памяти значения общих переменных переносятся в резидент общих данных. При замещении модуля, содержащего общие данные и их значения, переносятся из резидента. Активизация устройств ЭВМ осуществляется процессором управления по оттранслированной программе пользователя с детерми-нированно-связанными модулями.
Рис. 4. Супер-ЭВМ с упреждающим управлением виртуальной памятью
Непрерывный вычислительный процесс начинается с загрузки начальных модулей программы с внешней памяти на сегменты оперативной памяти с перемещения значений общих данных и анализа связей между модулями. При загрузке модулей устанавливаются значения на счетчиках использования оперативных сегментов модулями. Для модулей данных, ввода, вывода значение счетчика равно единице. При загрузке модуля на сегмент оперативной памяти в управляющую информацию предшествующего по поиску модуля заносится номер опе-
ративного сегмента. Затем процессор управления запускает процессоры обработки на обработку первого модуля. После выхода из каждого операционного модуля из значения соответствующего счетчика использования памяти вычитается единица и проверяется его значение на нуль. Для модулей данных значение счетчика обнуляется из операционного модуля по команде «обнулить счетчик».
Когда значение счетчика становится равным нулю и определен указатель на внешний модуль, тогда инициируется процессор перемещения модулей для замещения использованного модуля на оперативной памяти внешним модулем по указателю. После замещения указатель на внешний модуль обнуляется. Если в модуль на оперативной памяти не было записи, то он не переносится на внешнюю память. Процессор перемещения общих данных по адресным последовательностям переносит накопившиеся значения общих данных с резидента общих данных в заместивший модуль. Процессор анализа корректирует счетчик использования оперативной памяти заместившим модулем и определяет по программе связи заместившего модуля указатель на внешний модуль.
Процессор управления организует обработку, перемещение общих данных, анализ связей и замещение модулей. Он совмещает работу устройств над одним модулем за разные циклы обращений к оперативному сегменту.
Количество оперативных сегментов для непрерывной обработки программы с детерминированно-связанными модулями определяется в процессе ее трансляции или компиляции.
При технической реализации непрерывное присутствие текущих модулей в оперативной памяти достигается путем баланса скорости упреждающего обработку многоканального параллельного перемещения модулей с внешней памяти в оперативную со скоростью обработки информации из оперативной памяти.
ЭВМ с упреждающим управлением памятью обеспечивает непрерывный процесс обработки программы с детерминированно-связанными модулями упреждающим параллельным перемещением общих данных модулей и упреждающим параллельным замещением модулей на оперативной памяти через многоканальный обмен.
3.1. Поток значений общих данных. Готовые к последующей обработке значения общих данных перемещаются по модулям программы,
находящимся в оперативной памяти. Для каждого значения общего данного d определяются последовательность использующих его модулей, места использования их в этих модулях и относительные моменты использования значений d в модулях. По множеству модулей использования d составляется дополнительное множество модулей, через которые перемещаются значения данного d.
Значения общих данных перемещаются по модулям, находящимся на сегментах оперативной памяти, динамически образуя поток данных.
Общие данные модулей, находящихся не на оперативной памяти, перемещаются в резидентные модули ROD. В резидентном модуле общих данных значения хранятся вместе с указателями перемещения. Значения, перемещаемые в один модуль, располагаются подряд. В начале последовательности указывается их количество. После записи новых значений в модуль общих данных перемещается его указатель свободного места (записи), если счетчик модуля общих данных не превышает допустимое число значений.
Значения снабжаются признаками перевычисления. Если признак принимает состояние неизменяемости, то значение перемещается во все используемые модули.
Значения помещаются в модуль общих данных в порядке их перемещения в модули, поступающие с внешней памяти на оперативную память. В модуле общих данных значения могут снабжаться несколькими указателями. После перемещения всех значений в модуль программы в нем устанавливается признак «перемещено», который указывает, что модуль готов к обработке.
Пусть имеется к модулей последовательности исполнения и п сегментов оперативной памяти. Пусть первый модуль имеет переменные. Для каждой переменной выпишем номера последующих модулей, в которых она используется. Для второго модуля выпишем все переменные, которых нет в первом модуле. Для каждой переменной выпишем номера последующих модулей, в которых она используется. Для последующих модулей аналогично выпишем последовательности использования переменных, которые не указаны в предыдущих модулях.
Для каждой переменной определим внешние модули. Выпишем последовательности номеров внешних использующих модулей. Переменные будут храниться в резидентном модуле общих данных
согласно последовательной нумерации внешних модулей, использующих переменные.
3.2. Замещение модулей программы на оперативной памяти.
Для хранения модулей программ используется внешняя память. Пусть каждый модуль размещается на отдельном сегменте. И пусть размеры сегмента и модуля определяются максимальной порцией обмена информацией между устройствами внешней памяти и оперативной памяти.
Сегмент оперативной памяти является локальным адресным пространством для модуля. Областью действия команд модуля, кроме команд процессора перемещения данных, является адресное пространство оперативного сегмента, на котором находится соответствующий модуль. Соответствие между сегментами оперативной памяти и модулями, находящимися на оперативных сегментах, устанавливается через ассоциативные регистры аппаратуры коммутации.
Если используются два сегмента оперативной памяти, то на одном сегменте хранится обрабатываемый модуль, на другом модуль готовится к обработке. Если используются три оперативных сегмента, то на одном сегменте происходит замещение обработанного модуля на модуль по внешней ссылке, на другом хранится обрабатываемый модуль, на третьем модуль готовится к обработке.
Замещение модулей на сегментах оперативной памяти определяется состоянием счетчиков использования сегментов модулями программы Р и указателем внешнего модуля аппаратуры контроля перемещения модулей.
Разделение оперативной памяти на независимые сегменты делается для упреждающей подкачки модулей с внешней памяти на оперативную. Перемещаться между устройствами внешней и оперативной памяти одновременно могут несколько модулей.
Аппаратная реализация замещения модулей на оперативной памяти сводит практически время управления этим процессом к нулю в сравнении с временем их замещения и обработки.
Реализация полисемантических полиинформационных операторов (ППО) программы с детерминированно-связанными модулями осуществляется либо на ПЛИС-структурах, либо на сетевых ГРИД-системах с перестраиваемыми схемами. Для исполнения нескольких подряд ППО требуются две ПЛИС-структуры либо сетевые ГРИД-системы с перестраиваемыми схемами для непрерывной обработки программ.
Последовательность исполнения ППО на сетевых изменяемых структурах определяется после трансляции по последовательности исполнения детерминировано-связанных модулей программы.
Тело ППО хранится на внешней памяти отдельно от программы. Процедура загрузки тела ППО на сетевые структуры запускается механизмом упреждающей подкачки.
4. Конкурентные преимущества. Непрерывную обработку больших программ со случайными обращениями к модулям на существующих суперкомпьютерах реализуют путем увеличения оперативной памяти, построения ГРИД-систем, а также создания супер-ЭВМ с упреждающим управлением памятью.
1. Использование супер-ЭВМ с большой оперативной памятью для непрерывной обработки программ со случайным обращением к модулям является неэффективным из-за снижения производительности усложнением коммутации «процессоры-память». Такой подход является экономически невыгодным из-за существенного увеличения стоимости оперативной памяти.
2. Распределённые ГРИД-системы, состоящие из разновидности параллельных компьютеров со стандартными процессорами, устройствами хранения данных, блоками питания и т.д., подключенными к сети (локальной или глобальной) при помощи обычных протоколов, также не могут обеспечить непрерывную обработку больших программ со случайными обращениями к модулям. Таким образом, получаем практически те же вычислительные мощности для обработки больших программ, что и на современных суперкомпьютерах, работающих под управлением программ со случайными обращениями к их модулям. Как и в первом случае, обработка больших программ неэффективна и затратна.
3. Непрерывная обработка программ с детерминированно-связанными модулями на виртуальной памяти универсальной суперЭВМ с упреждающим управлением памятью сокращает время ожидания результата экспоненциально при обработке на виртуальной памяти целевой ЭВМ в сравнении с существующими супер-ЭВМ со случайным управлением памятью. Для исполняющихся за несколько суток больших программ, а также для обработки большого количества данных на виртуальной памяти в режиме реального времени это самый эффективный и экономически оптимальный метод. Время ожидания
результата сокращается за счет упреждающего перемещения модулей программы по виртуальной памяти, упреждающего перемещения данных по модулям программы, многопроцессорной параллельной обработки данных, готовых для вычислений.
5. Модельный вариант. Работоспособность целевой супер-ЭВМ проверена в режиме моделирования на интерпретаторе под модернизированную систему команд ЭВМ «Эльбрус». Интерпретатор для окончательной версии системы команд супер-ЭВМ «Эльбрус» был модернизирован в интерпретатор супер-ЭВМ с упреждающим замещением и непрерывной обработкой программ с детерминированно-связанными модулями на виртуальной памяти. Процедурный механизм системы команд супер-ЭВМ «Эльбрус» был модернизирован в механизм использования страниц оперативной памяти модулями программы. Упреждающая замена отработанных текущих модулей на страницах оперативной памяти на требуемые осуществлялась экстракодами обмена инструментальной ЭВМ БЭСМ-6.
Время получения результата на интерпретаторе целевой ЭВМ с упреждающим замещением сократилось на Т = I х К, где I - время одного обмена, К - количество замещений модулей на оперативной памяти. На 4 ч обработки программы сортировки со случайными обращениями к модулям на ЭВМ БЭСМ-6 замещение модулей на оперативной памяти заняло 20 ч. Результаты пользователь получал через 24 ч. При непрерывной обработке программ с детерминированно-связанными модулями пользователь получал результат через 4 ч.
6. Стратегия реализации супер-ЭВМ с упреждающим управлением памятью. Супер-ЭВМ с упреждающим управлением памятью можно реализовать модификацией отечественного суперкомпьютера «Ломоносов». Ее целесообразно провести с разработчиками компании Т-платформы. Суперкомпьютер «Ломоносов» производительностью 1 петафлопс, имеющий порядка 280 терабайт оперативной памяти и порядка 20 петабайт дискового пространства, нужно предварительно исследовать на эффективную модификацию в целевую супер-ЭВМ с упреждающим управлением памятью и многоканальным обменом виртуальной памяти.
Проект можно реализовать модификацией суперкомпьютера «Тяньхэ2». Ее целесообразно провести с китайскими разработчиками через государственный холдинг «Росэлектроника», в котором есть
научно-исследовательское, опытно-конструкторское, производственное и маркетинговое подразделения. После превращения целевого суперкомпьютера в рыночный холдинг может создать международное акционерное общество с сохранением инфраструктуры для развития полученного инновационного рыночного продукта и реализации спроса на него.
Проект можно реализовать созданием консорциума в рамках национальной суперкомпьютерной технологической платформы, объединяющего фундаментальную исследовательскую деятельность, образовательную деятельность для подготовки кадров, прикладные научно-исследовательские и опытно-конструкторские работы и корпорации серийного производства целевой супер-ЭВМ с упреждающим управлением памятью и многоканальным обменом виртуальной памяти.
Библиографический список
1. Брындин Е.Г. Теоретические аспекты непрерывной обработки на виртуальной памяти // Информационные технологии. - М., 2009. -№ 9. - С. 33-39.
2. Брындин Е.Г. Теоретические основы имитации мышления и непрерывной обработки на виртуальной памяти. - Новосибирск: Изд-во ИЦЕ; Томск: Изд-во ТПУ, 2011. - 235 с.
3. Брындин Е. Основы имитации мышления и непрерывной обработки программ. - Germany: LAP LAMBERT Academic Publishing, 2012. - 197 с.
4. Брындин Е.Г. Управление непрерывной обработкой программ на виртуальной памяти // Суперкомпьютеры. - 2014. - № 3. - С. 50-52.
References
1. Bryndin E.G. Teoreticheskie aspekty nepreryvnoi obrabotki na virtual'noi pamiati [Theoretical aspects of the continuous processing on the virtual storage]. Informatsionnye tekhnologii. Moscow, 2009, no. 9, pp. 33-39.
2. Bryndin E.G. Teoreticheskie osnovy imitatsii myshleniia i nepreryvnoi obrabotki na virtual'noi pamiati [Theoretical bases of simulation of thinking and the continuous processing on the virtual storage]. Novosibirsk: Izdatel'stvo Tomskogo politekhnicheskogo universiteta, 2011. 235 p.
3. Bryndin E. Osnovy imitatsii myshleniia i nepreryvnoi obrabotki program [Bases of simulation of thinking and the continuous processing of programs]. Germany: LAP LAMBERT Academic Publishing, 201. 197 p.
4. Bryndin E.G. Upravlenie nepreryvnoi obrabotkoi programm na virtual'noi pamiati [Control of the continuous processing of programs on the virtual storage]. Superkomp'iutery, 2014, no. 3, pp. 50-52.
Сведения об авторе
Брындин Евгений Григорьевич (Новосибирск, Россия) - директор НКО Исследовательского центра «Естествоинформагика» (630090, Новосибирск, ул. Терешковой, 10, офис. 15, e-mail: [email protected]; bryndin 15 @yandex.ru).
About the author
Bryndin Yevgeny Grigoryevich (Novosibirsk, Russian Federation) -the Director of the NKO Research Center "Estestvoinformatika" (630090, Russia, Novosibirsk, Tereshkova str., 10, Office 15, e-mail: [email protected]; bryndin 15 @yandex.ru).
Получено 20.02.2015