Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (1186026), страница 40
Текст из файла (страница 40)
Известно, что каждое нервное волокно может пропускать неболее 103 импульсов в секунду. По проводникам же нынешних ЭВМпередается порядка 109 импульсов в секунду. Следовательно, ЭВМпревосходит мозг человека в смысле скорости работы решающих элементов в 109 : 103 = 106 раз. И тем не менее, мозг, благодаря параллельному принципу действия, способен решать неизмеримо более сложныезадачи, чем самые мощные современные вычислительные машины спрограммным управлением. Это обусловлено тем, что мозг человекаимеет в своем составе около 1015 решающих элементов (в роли которых принимаются синапсы – стыки между окончаниями нервных волокон), и все они, как свидетельствуют нейрофизиологические данные,работают одновременно.
В ЭВМ же последовательного действия в любой момент времени параллельно действует лишь небольшое числоэлементов.197В Харьковском национальном университете радиоэлектроники напротяжении последних 40 лет разрабатывается научное направление –теория интеллекта [1]. Суть подхода состоит в том, что интеллектчеловека рассматривается как логика в действии, как некоторое материальное воплощение механизма логики. Был разработан специальныйматематический аппарат для формульного представления отношений идействий над ними, которые называются алгебро-логическими структурами.
Отношения интерпретируются как мысли интеллекта, а действия над ними – как мышление. Схемная реализация формул, описывающих алгебро-логические структуры, приводит к характерным инженерным сетям (не использовавшимся ранее), которые называютсялогическими сетями. Главное в данном методе – это движение сверхувниз: от общих системных соображений к алгебро-логическим структурам, а от них – к логическим сетям, которые затем отождествляютсяс биологическими нейронными структурами.
Т.о., принципы построения мозгоподобных ЭВМ существенно отличаются от всего того, чтодо сих пор использовалось при распараллеливании обработки информации, в частности – при создании ЭВМ параллельного действия. Логическая сеть предназначена для выполнения действий над отношениями. Она есть как раз то устройство мозгоподобной ЭВМ, с помощью которого она будет мыслить.Отношения и предикатыПроизвольно выберем какое-нибудь непустое множество U, элементы которого будем называть предметами.
Само множество U называется универсумом предметов. Оно может быть как конечным, таки бесконечным. Произвольно выберем m каких-нибудь непустых необязательно различных подмножеств A1, A2, …, Am универсума U. Декартово произведение S = A1⊗A2⊗ … ⊗ Am множеств A1, A2, …, Amназывается предметным пространством S с координатными осями A1,A2, …, Am над универсумом U. Введем множество V = {x1, x2, …, xm}различных переменных x1, x2, …, xm, которые называются предметными переменными пространства S. Множество V называется универсумом переменных пространства S. Значениями переменной xi (i = 1, m)служат элементы множества Ai, так что x1 ∈ A1, x2 ∈ A2, , …, xm ∈ Am.Каждой переменой xi (i = 1, m) ставится в соответствие какая-то фиксированная область задания Ai.
Пространство S можно рассматриватькак совокупность всех векторов вида (x1, x2, …, xm), каждый из кото198рых удовлетворяет условию x1 ∈ A1, x2 ∈ A2, , …, xm ∈ Am. Любое подмножество P пространства S называется отношением, образованным в(или иначе: заданным на) пространстве S.Предикатом, заданным на декартовом произведении S, называетсялюбая функция P(x1, x2, …, xm) = ξ, отображающая декартово произведение A1⊗A2⊗ … ⊗Am множеств A1, A2, …, Am во множество Σ = {0, 1}.Символы 0 и 1 называются булевыми элементами, Σ – множество всехбулевых элементов.
Переменная ξ ∈ {0, 1}, являющаяся значениемпредиката P, называется булевой. Между отношениями и предикатамисуществует взаимно однозначное соответствие.Пусть L – множество всех отношений на S, M – множество всехпредикатов на S. Отношение P из L и предикат P из M называются соответствующими друг другу, если при любых x1 ∈ A1, x2 ∈ A2, , …,xm ∈ Am,⎧1, если ( x1 , x2 ,..., xm ) ∈ P;P( x1 , x2 ,..., xm ) = ⎨⎩0, если ( x1 , x2 ,..., xm ) ∉ P.(1)Предикат P(x1, x2, …, xm), в отличие от соответствующего ему отношения P, есть функция, поэтому появляется надежда, что его удастсявыразить в виде формулы.Алгебра предикатовДля построения формул нам понадобятся базисные предикаты, играющие роль исходных строительных блоков, и базисные операции,обеспечивающие соединение блоков в единую конструкцию, каковойявляется искомая формула.
В роли базисных предикатов используемпредикаты 0, 1, а также специальные предикаты, называемые предикатами узнавания предмета a по переменной xi (i = 1, m, a ∈ Ai ) и записываемые в виде xia.Предикат xia «узнает» произвольно выбранный из множества Aiпредмет xi, сравнивая его с предметом a.⎧1, если xi = a,xia = ⎨(2)⎩0, если xi ≠ a.Указание предмета a и значения индекса i полностью определяетпредикат вида (2). В роли способов соединения выбранных намистроительных блоков: предикатов 0, 1 и предикатов вида xia – исполь199зуем операции дизъюнкции, конъюнкции и отрицания предикатов.
Врезультате получаем так называемую алгебру предикатов.Язык алгебры предикатов универсален, на нем можно формальноописать структуру произвольных объектов. Предшественниками данной алгебры являются алгебра булевых функций (алгебра логики), созданная Дж. Булем в ХІХ веке, и многозначная логика (первая четвертьХХ ст., Пост). Функции алгебры логики принимают те же значения,что и предикаты. Однако аргументы функции алгебры логики двоичны,а предикатов буквенные. Аргументы функции многозначной логикипринимают те же значения, что и аргументы предикатов. Однако значения функций многозначной логики буквенные, а у предикатов онидвоичны.Как видим операции ∨ , ∧ , ¬ в сочетании с предикатами 0, 1 ивсевозможными предикатами узнавания предмета образуют достаточный ассортимент выразительных средств для формульной записи любого предиката произвольного типа, а значит – и любого соответствующего ему отношения. Учитывая, что отношения – это универсальное средство описания любых объектов, мы можем заключить, что наязык формул алгебры предикатов можно перевести любые зависимости, известные в науке.На универсальном языке (а именно таким языком является алгебрапредикатов) можно записать любой закон природы, любую программудля ЭВМ, любое математическое соотношение, вообще – любуюмысль, абсолютно все, что только можно наблюдать вокруг и внутринас.Модель логической сетиКаждая логическая сеть представляет собой соединение полюсов иветвей, т.е.
описывается парой 〈X, P〉, где X – конечное непустое множество предметных переменных (вершины), P – совокупность двуместных предикатов (ребра), определенных на множестве X (рис. 1) [2]. Влюбой логической сети каждый полюс характеризуется своей предметной переменной и ее областью задания, а каждая ветвь – своим двуместным предикатом, который зависит от переменных, указанных на концах этой ветви. В зависимости от сложности решаемой задачи, сетьсодержит то или иное число полюсов. Соответственно чем сложнеезадача, тем больше полюсов в логической сети. В узлах сети описаниепредметных переменных происходит на языке алгебры предикатов,когда же происходит процесс обработки информации в ветвях логической сети, здесь приходит на помощь алгебра предикатных операций.200X1КонтекстX2ZпX3RZ2ZZлX4Z1ОкончаниеZ3SX5Z0S1S2S3Основа словаРис.
1. Логическая сеть анализа полных имен прилагательныхрусского языкаМодель процесса проектированияМодель процесса проектирования показана на рис. 2. Здесь входное описание – отношения, записанные на языке алгебры предикатов.На этапе компиляции входное описание преобразуется во внутренниеструктуры данных – логическую сеть. На этапе логического синтезапроисходит трансформация логической сети в системы булевых уравнений, пригодных для реализации в аппаратуре. На выходе получаетсямодель на языке VHDL в виде списка межсоединений логических иRTL элементов.PredicatesCompilationLogic Net ModelUser ApplicationGUI, OLE, ActiveXLogicNetAPIDRVDevice DriverPCI BusLogic SynthesisPCIControllerHDL ModelLogic Net ProcessorРис. 2.
Модель процессаПроектированияРис. 3. Взаимодействие прикладногоПО с логической сетью201Использование логической сети, расширяющее интеллектуальныевозможности персонального компьютера, показано на рис. 3. Взаимодействие осуществляется следующим образом: процессор логическойсети имеет высокоуровневый доступ к шине посредством PCI контроллера. С другой стороны, драйвер устройства имеет программный интерфейс пользовательских приложений (LogicNetAPI), например, компоненты в текстовом процессоре, системе автоматического перевода,распознавания текста или речи.Экспериментальные результатыДля анализа эффективности аппаратной реализации разработана ипротестирована программа моделирования логической сети на компьютере Intel Pentium IV 2,4 GHz, 256MB DDR RAM.
Результат моделирования составляет в среднем 4000 слов в секунду.В таблице ниже показаны характеристики аппаратной реализациилогической сети в различных семействах перепрограммируемых кристаллов Xilinx.ТаблицаХарактеристики аппаратной реализацииI/OBs,%Freq, MHzxc2s100-6-fg256PartSlices, % Luts, %24226847xcv50-6-fg256xcv100-6-fg256xcv200-6-fg256xc2v250-6-fg256xc2v500-6-fg256xc2v8000-5-ff1152xc2vp2-5-fg256xc2vp4-5-fg256xc2vp7-5-fg456372412189<12095342211178<11885686868717114878749454341636543715758Цикл моделирования одного слова в FPGA составляет от трех досеми тактов (включая загрузку начальных значений и генерацию сигнала ready). В самом худшем случае (f = 43 MHz) скорость моделирования составляет 43⋅106/7 ≈ 6⋅106 слов в секунду, что в 6⋅106/4000 ≈≈ 1500 раз быстрее, чем программная реализация.202ВыводыМодель любого механизма языка и мышления описывается с помощью системы отношений, каждое из которых выражается некоторойформулой алгебры предикатов.