Проблема трассировки и параллельно-последовательные D-алгоритмы на платформе механизма гипермассового параллелизма.

Д.т.н. Е.И. Артамонов, к.т.н. П.А. Правильщиков.

 

   Почти всегда исчисления, алгоритмы вычислений и обработки информации, например, в виде перебора или выбора различных вариантов (вариантов путей или маршрутов, вариантов стоимости проекта или вариантов кодов для шифрования и дешифрования и т.п.) зависят от тех технических средств, которым располагает человек. Чтобы проиллюстрировать это сделаем короткий экскурс в историю вычислительной техники и напомним, что исчисление ― это совокупность правил оперирования с некоторым знаками (набором символов), позволяющая дать исчерпывающе точное описание некоторого класса задач, а для некоторых подклассов этого класса и описание алгоритмов их решения. Напомним также, что исчисление по-латыни звучит как «calculus», что в переводе означает «камешки». Почему? Оказывается, в качестве средств вычисления пастухи древнего Рима использовали  при подсчёте овец камешки. У ворот овчарни было две лунки: левая и правая. При выгоне овец на пастбище, при выходе каждой овцы из ворот камешек из левой ямки перекладывался в правую. При загоне овец камешки из правой ямки перекладывались в левую. Если овца отсутствовала, то в правой ямке оставались камешки. По ним узнавали о пропаже.

    Позднее была создана десятичная система исчисления и арифметика, после чего были изобретены счёты. Способы вычисления на счётах отличаются от вычислений с помощью ка-мешков. Ещё позднее были разработаны механические калькуляторы, способы вычислений на которых совсем не похожи на способы вычислений на счётах и камешках. Британский учёный и изобретатель Ч. Бэббидж (1791 - 1871) одним из первых разработал проект универсальной механической вычислительной машины, в которой можно было использовать программы. Но создать такую машину в XIX веке Бэббиджу не удалось. Однако потребности в сложных вычислениях постоянно росли. Поэтому в XX веке для инженеров были созданы логарифмические линейки, для бухгалтеров электрические, а затем и электронные калькуляторы. Наконец, в 1945-46 годах XX века были созданы громоздкие ЭВМ (мейнфреймы), которые работали, последовательно выполняя команды той или иной программы. Но развитие средств и способов вычислений не остановилось: в начале 80-х годов мейнфреймы стали вытесняться настольными, а затем и мобильными ПК с одним процессором.  ПК получили массовое распространение[1].
   Однако «эра, казалось бы, неограниченного роста производительности  процессоров завершена: архитектуры на одном чипе не могут далее преодолевать ограничения на производительность, которые накладываются той энергией, которую они рассеивают и  теплом, которое они выделяют. Сегодня
Intel и другие полупроводниковые фирмы отказываются от модели с единственным быстрым  процессором  в пользу многоядерных микропроцессоров ― чипов,  которые содержат два и более процессоров в одном корпусе» [1]. Так, постепенно начинается массовый переход на параллельные вычисления. Стремясь удовлетворить растущие аппетиты покупателей её продукции, корпорация Intel стала выпускать уже не двуядерные, а четырёхядерные процессоры[2].
    Переход на параллельные вычисления ведёт к революции в области вычислительной техники и математики. Эта революция не только сопоставима с той революцией, которая произо-шла при переходе от больших мейнфреймов к ПК, но может оказаться значительно глубже. Она может потребовать перестройки оснований математики и завершить окончательный переход от анализа бесконечно малых к дискретному анализу. В процессе этого перехода произойдёт окончательный отход от антропоморфных методов к новым «компьютероморфным» параллельно-последовательным алгоритмам вычислений: понадобятся исчисления, позволяющие «выжать» максимальное быстродействие из параллельных систем.

    В наши дни известны три механизма параллелизма: механизм общего параллелизма (не более 512 элементарных вычислительных модуля[3]), механизм массового параллелизма (от 1000 до 1 млн. элементарных вычислительных модулей) и механизм гипермассового параллелизма (более 1 млн.). В качестве элементарного вычислительного модуля в механизме общего и массового параллелизма выступает процессор, например, Pentium IV. Так, кластер Blue Gene, созданный IBM, состоит из 65 000 узлов, каждый из которых содержит два процессора (всего ― 130 тысяч процессоров). Наконец, стали коммерчески доступны системы с механизмом гипермассового параллелизма. В наши дни компания Olimpus Optical выпускает ДНК-компьютер. Он имеет молекулярную и электронную составляющую. В трёх см3 молекулярной составляющей такого компьютера содержится около 100 триллионов молекул ДНК, каждая из которых является элементарным вычислительным модулем. Ещё большее число элементарных вычислительных модулей в виде отдельных атомов содержат квантовые компьютеры. В нескольких кубических сантиметрах их число достигает 1018. С помощью таких суперкомпьютеров уже удалось решить многие практические задачи, среди которых и одна из NP-полных задач ― задача о коммивояжёре. Эта задача решена с помощью ДНК-компьютера. Для авиакомпаний[4], чьи самолёты летают в сотни городов мира, эта задача имеет большое практическое значение, позволяя экономить горючее.  
   При использовании таких экзотических суперкомпьютеров их сторонники часто говорят о производительности, о нанотехнологиях и их преимуществах, и увлекаясь, забывают об их недостатках[5]. Забывают они и о кремниевой интегральной технологии, достигшей высокой степени совершенства. Сегодня  кремниевые технологии переходят к изготовлению БИС с технологической нормой в 65 нм. Недавно, инженеры Intel доказали, что кремниевая технология может создавать чипы, в которых технологические нормы не превышают 5 нм [2]. Возможно, в недалёком будущем технологические нормы кремниевых технологий удастся уменьшить до такой степени, что они окажутся вполне сопоставимыми по размерам и по быстродействию с легендарными углеродными нанотрубками [3]. Кремниевые технологии уже сейчас позволяют создавать системы с механизмом гипермассового параллелизма. Так, в [4] была предложена архитектура сопроцессора для ПК с механизмом гипермассового параллелизма. В качестве элементарного вычислительного модуля в таком сопроцессоре выступает блок пересечений. Число NБП   таких блоков для 64 МБ активной оперативной памяти равно 512.  Каждый блок реализует элементарную операцию a пересечения. Операция a является базовой операцией в исчисления кубических комплексов (ИКК) [5], которое используется при построении тестов в технической диагностике (ТД).
    Сразу же отметим, что в последнее время математические формализмы, разработанные и отработанные в рамках одной отрасли знаний часто переносятся в другую область науки, иногда достаточно далёкую от исходной. Так методы и алгоритмы ТД находят применение в других отраслях знания, например, в ихтиологии, в логистике  и даже в физике [6-9]. Здесь же сделана попытка применения для решения проблемы трассировки печатных плат и БИС (в том числе и трёхмерных [10]) одного из таких формализмов: уже упомянутого ИКК.  
   На основе этого исчисления строятся известные D-алгорит-мы [5]. Предлагаемое здесь решение проблемы трассировки является параллельно-последовательным решением и предлагаемые здесь D-алгоритмы являются параллельно-последова-тельными алгоритмами [4]. Эти алгоритмы «подогнаны» или, как иногда говорят, «заточены» под механизм гипермассового параллелизма на основе кремниевых технологий. Такие «заточенные» D-алгоритмы используются здесь не для построения тестов, как в [4], а для поиска оптимального (минимального по длине) маршрута  от точки A до точки B в процессе трассировки печатной платы или БИС. 

  Постановка задачи трассировки хорошо известна (см., напри-мер, [11]–[13]). Для двумерного пространства (плоскости) тра-диционной планарной БИС или платы (например, квадратной платы с размерами l´s = 10´10 см ― рис. 1, а) требуется найти минимальный маршрут (или трассу)  из точки A до точки B. Границы этой платы (или плоскости) образуют границы области трассировки. Если маршрут  будет построен, то используя ту или иную технологий можно превратить  в некоторый проводник. Задача затруднена тем, что в процессе построения маршрута могут встретиться препятствия ― тупики, связанные с областью запрета [12, стр. 152]. К ним относятся проведённые ранее проводники, размещённые активные, либо пассивные элементы и др. Например, на рис. 1,а показан уже проведённый проводник, пересекающий прямой отрезок, идущий из точки A в точку B. Но могут существовать и уже созданные проводники, которые  должны быть включены в строящийся маршрут  (см. рис. 1, где такой проводник показан розовым цветом)[6].  
Для решения нашей задачи обычно используется сетка трассировки[7]. Но в нашем случае вся область трассировки разбивается на множество M  дискретных площадок di,j  (çM ç = m), показанных на рис. 1,б. Площадки di,j будем называть из дискретами. Здесь индексы i и j дискрета di,j обозначают номера строк и столбцов соответственно по вертикали и по горизонтали (в системе координат  XOY).  Размеры дискрета di,j подбирают инженеры-технологи с учётом доступной технологии. Инженер-технолог выбирает размер di,j так, что в каждом дискрете может быть проложен проводник с соответствующим зазором для изоляции от соседнего проводника.    
    Рассмотрим, например, квадратную плату l´s  = 10´10 см. Пусть нам доступна такая технология изготовления проводников на плате, когда дискрет с размером 1´1 мм оказывается вполне достаточным, чтобы в нём оказалось возможным «уло-жить» фрагмент проводника с учётом изолирующих расстояний от соседних проводников. Такой фрагмент проводника в одном дискрете позволяет осуществить трассировку маршрута, по которому будет проложен проводник с учётом изолирующих расстояний между соседними проводниками. Тогда можно подсчитать общее число m  дискретов: m = 100´100 = 10000. В связи с таким, достаточно большим числом m  здесь необходимо сделать важное замечание, касающееся примеров, которые будут приведены далее в статье. На рис. 1,б показано разбиение платы 10´10 см на 100 дискретов. Таким образом, один дискрет на этом рисунке составляет 1 см2, а не один мм, как было сказано выше. В дальнейшем в целях иллюстрации предлагаемых нами параллельно-последовательных D-алго-ритмов для трассировки мы будем рассматривать плату, состоящую только из 100 дискретов (m = 100). Каждый дискрет может иметь площадь равную 1 см2 или же 1 мм2 или же ещё меньшую площадь. Для предлагаемых здесь параллельно-по-следовательных D-алгоритмов это не имеет значения. Важно лишь то, что объект трассировки (например, плоскость пла-ты) разбита на множество M (çM ç=m дискретов). Итак, нам удалось переформулировать «непрерывную» задачу в дискрет-ную. Теперь для решения нашей дискретной задачи следует перейти к созданию математической модели области трассировки. В качестве такой модели мы выберем логическую сеть [14]. С учётом особенностей проблемы трассировки специфика данной логической сети Cx, состоит в том, что Cx построена из множества K логических элементов типа «повтори-тель» (элемент «П») с одним входом и выходом. Любой проводник логической сети можно представить неограниченно большим множеством таких элементов «П». Активный элемент повторитель с атрибутом усиления действительно вставляют в длинные проводники в реальных БИС [10]. Здесь элемент «повторитель» используется только для того, чтобы заменить строящийся непрерывный маршрут для проводника некоторым дискретным маршрутом   в логической сети. Этот маршрут будет строиться точно так, как строится по шагам виртуальным существенный путь в логической сети [4, 5].

 В табл. 1 представлена таблица истинности элемента «П» с одним входом и одним выходом (рис. 2,б).  Рядом в табл.2 приводится таблица D-кубов [9-12] этого элемента.

Таблица 1

 

 

 

Таблица 2

1

2

 

 

 

1

2

1

0

0

 

 

 

1

D

D

2

1

1

 

 

 

2

D’

D’

 

Теперь можно показать логическую сеть, состоящую из элементов «П», применительно к фрагменту дискретной платы (рис. 1,б) в окрестности точки A. Дискрет с точкой А окружают 8 дискретов. Следовательно, в данном случае логическая сеть имеет вид, показанный на рис. 3,а. На рис. 3,а  все 8 дискретов в окрестности точки A (т.е. дискрета с точкой А) соответствуют выходам 9–16 восьми логических элементов «П» с номерами входов от 1 до 8-го. На рис. 3,б показана та же логическая сеть, но номера выходов элементов «П» соответствуют индексам восьми дискретов, окружающих дискрет d2,2.

Таким образом, в процессе построения минимального марш-рута  каждый элемент «П» будет соответствовать переходу от одного дискрета к другому. Вследствие наличия тупиков переход от одного дискрета к другому может быть удачным или неудачным (тупик). Удачный переход будет означать появлением символа D на выходе элемента «П» и, следовательно, в том дискрете, который соответствует выходу данного элемента. Неудачный ― символом Æ (символом пустого множества).Для нашего фрагмента в окрестности дискрета с точкой A на всех выходах 8 элементов «П» появятся символы D, так как в процессе построения все переходы оказываются удачными ― см. табл. 2 и рис. 3.Теперь, после того, как создана математическая модель платы (или БИС) в виде логической сети, то остальное дело техники, т.е. техники использования ИКК и последовательных или параллельно-по-следовательных D-алгоритмов [4, 5].
  В заключение подчеркнём, что использование параллельно-последователь-ных
D-алгоритмов позволяет осуществлять одновременное построение всех существенных путей (D-цепей) в логической сети [4]. Это и позволяет выбрать из них маршрут .     

Литература.

 

1. Hennessy J., Patterson D. Computer Architecture. A Quantitaive  Approach. (Fourth Edition),    Morgan Kaufmann, 2006, 406 p.
2.
Попов М. Февральская буржуазная революция.
        
// КОМПЬЮТЕРРА, 2005, № 9 (581). С. 44.
3. Hiramoto M. Saitoh I, and Tsutsui G..  Emerging nanoscale silicon devices taking advantage of nanostructure physics. // IBM Jour-nal of Research and Development, 2006. Vol
. 50, № 3. P. 411-418
4.. Правильщиков П.А.  Закон сохранения перебора и естественный параллелизм D-алгоритмов  для построения тестов и моделирования в технической диагностике. // Автоматика и телемеханика, 2004, № 7. Стр. 156-199.

5. Roth J.P. Diagnosis of automata failures: a calculus and method.
 // IBM Journal of Research and Development.
1966, № 7. P. 18-32.
6. Гольдман В.Р., Чипулис В.П.  Диагностические методы определения координат мест сезонного сбора косяков в Охотском море в целях оптимизации промышленного вылова рыбы.  // А и Т. 1973,
№ 10. Стр. 133-146.
7. Чипулис В.П.    Диагностирование утечек в гидравлических
    цепях (I). //Автоматика и телемеханика, № 1, 1997г.  Стр. 150-159.

8. Правильщиков П.А.  «Физическая» теорема Нётер в фотонике и computer science. (I). // Прикладная физика, 2005, № 6.  С. 82- 98.

9. Правильщиков П.А.  «Физическая» теорема Нётер в фотонике и computer science. (II). //Прикладная физика, 2006, № 1. С. 37- 46.

10. Topol W. and all Three-dimensional integrated circuits. //IBM  Jour-nal of Research and Development, 2006. Vol. 50, № 3.
P. 491-506.  

11.
Артамонов Е.И., Ромакин В.А., Сизова Л.Н., Тенякшев А.М. Автоматизированное проектирование и выпуск схемной документации на аппаратуру средств связи. Методическое пособие. МТУСИ. Москва. 2005г. 25 стр.
12. Сучков Д.И. Проектирование печатных плат в САПР
P-CAD 4.5―CAD 8.5 и ACCEL EDA. М.: Малип, 1997. ― 576 с.

13. Разевиг В.Д.  ACCEL EDA ― P-CAD для Windows // PC Week/RE, № 20, 996. С.41-43.
14. Карибский В.В., Пархоменко П.П., Согомонян Е.С., Халчев В.Ф.  Основы технической диагностики. 
 Кн. 1, М.:"Энергия", 1976, 346 с. 



[1] В 2005 г. было произведено около 200 млн. ПК.

[2] В ноябре должен выйти четырёхпроцессорный Core 2 Extreme QX6700 с частотой 2,66 ГГц. Он будет совместим с материнскими платами на базе набора системной логики Intel 975X. (См. Компьютеры и оргтехника, 2006, № 28 (305), стр. 7)

[3] Иногда это число увеличивают до 1000.

[4]  То есть задача об оптимальном маршруте для самолётов авиакомпаний.

[5] Так, например, забывают, что процесс вычисления с использованием квантовых компьютеров крайне неустойчив и неустойчив он вследствие той же квантовой природы таких компьютеров.

[6] Для трёхмерных БИС (3D БИС) такие проводники могут, например, быть использованы для создания вертикальной архитектуры, т.е. создания связей между различными слоями 3D БИС.

[7] Напомним, что под сеткой трассировки понимается однородная система вертикальных и горизонтальных прямых линий, по которым могут проводиться трассы в процессе автоматической трассировки соединений. Расстояние между ближайшими вертикальными и горизонтальными линиями одинаково по всей сетке и называется шагом сетки. Сетка трассировки может располагаться по всей печатной плате или занимать её часть [12].