РЕШЕНИЕ ПРОБЛЕМЫ РАСПАРАЛЛЕЛИВАНИЯ ВЫЧИСЛЕНИЙ В КОМПЬЮТЕРЕ

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

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

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

Решение рассматриваемой проблемы распараллеливания предлагается в реализации такого языка высокого уровня, который, с одной стороны,  приближен к естественному языку пользователя, а, с другой, операции его используются в качестве машинных команд создаваемой машины. То есть, реализованы аппаратурными средствами, однако, при этом, создаваемая вычислительная машина должна удовлетворять требованиям универсальности. Только таким способом может быть разрешена извечная в вычислительной технике проблема распараллеливания обработки информации. Известно, что пользователь современных средств ВТ при решении вычислительных задач, далеко не всегда, исходит из того, что вычислительный процесс уже задан в арифметике. Очень часто алгоритм решения приходит из предметной области в данных и операциях аппарата алгебры более сложной, нежели, алгебра действительных чисел. В частности, такая ситуация имеет место в весьма популярной обработке информации для специальных и весьма актуальных задач, связанных с обнаружением и поражением цели в военном деле. В этих задачах пользователь имеет дело с действиями над данными, представляющими элементы: алгебры комплексных чисел, алгебры рядов Фурье (преобразование Фурье), алгебры векторов евклидова пространства [1]. Известна необходимость обработки информации в физике, при исследовании прохождения света через кристалл [2], и тогда весьма полезной оказывается организация в машине вычислительного процесса в операциях алгебры рядов Фурье.

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

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

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

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

 

Литература

 

1.          В.А. Вышинский. О реализации алгебры многомерных векторов, евклидова пространства в ЭВМ// Кибернетика. – 1997. – №5. – С.170-175.

2.          В.А. Вышинский, Е.В. Винецкая, А.П. Петров. Возможность применения матричных алгебр к решению многочисленных задач в физике твердого тела// Физика, № 26. –К: Вища школа. – 1985. – С.76-80.

 

3.          В.А. Вышинский. Электронные вычислительные машины на основе алгебр с регулярным матричным представлением// рукопись диссертации на соискание ученой степени д.т.н. Киев – 2002

Работает на Drupal, система с открытым исходным кодом.