Автокод - символьный язык программирования,операторы которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка. ГОСТ 19781-90
Нынешнее поколение программистов, рвущихся к заоблачным планкам зарплаты своих собратьев по цеху в США и Канаде, и не ведает, что в неизвестных им и еще памятных нам 60-х и 70-х годах прошлого столетия автокод был таким же магическим символом грядущей эры кибернетики, каким сегодня в уже наступившую эру информационных технологий являются C# или С++. Да простят меня первые и да поймут меня вторые за мою назойливую страсть к истории, которая нет-нет да и выкинет такое коленце, что иной раз подумаешь: не сон ли все, что видим мы вокруг?!
Когда в 2003 году автор готовил для журнала JetInfo опус под названием «Суперкомпьютерные технологии и проекты в США», он и подумать не мог, что всего через каких-то три года аналитический материал о мощнейших в мире стационарных мейнфреймах потускнеет на фоне того, что сегодня происходит с бортовыми высокопроизводительными кластерами и конвейерами. Увы, сам того не ведая, автор стал очередной «жертвой» оптического обмана, наблюдая ход развития высоких технологий за океаном. В астрономии это явление называется параллаксом. Во истину, на всякого мудреца довольно простоты.
Гонка за обладание самыми мощными в мире суперкомпьютерами шагнула в новое измерение, переместив центр тяжести технологического противостояния в бортовые системы обнаружения и наведения на цели. Весьма символично, что очередной технологический прорыв Пентагона в сфере высоких технологий произошел именно в той области, где 20 лет тому назад его с нетерпением ждали одни и с таким же скепсисом отвергали другие: программа «Звездных войн» была закрыта в первую очередь потому, что в середине 80-х, в бытность администрации Р.Рейгана о подобных чудесах можно было только мечтать. Но не даром говорят: мечты сбываются.
О каком же прорыве идет речь, спросит читатель, если испытания новой системы ПРО в США происходят с постоянными сбоями, а угроза ассиметричного ответа на эту еще не только неразвернутую, но и несозданную систему уже настолько реальна, что в пору задуматься не столько о ее эффективности, сколько о ее целесообразности?
Революция в программировании сверхвысокопроизводительных вычислительных систем, о необходимости которой так много говорили по обе стороны Атлантики, свершилась и дала толчок к новому витку суперкомпьютерной гонки, но не на земле, а в воздухе. Если сеть DREN, созданная Пентагоном в начале 90-х годов для предоставления общего доступа к национальным сверхвысокопроизводительным ресурсам в интересах осуществления стратегических (аэрокосмических, кораблестроительных, автомобильных, медицинских….) проектов позволила научно-исследовательским, инженерно-конструкторским и учебным заведениям США накопить бесценный опыт, подготовить специалистов и создать фонд алгоритмов и программ, то автокод позволит реализовать не менее продвинутые проекты в бортовых системах управления, обнаружения и наведения уже в ближайшие несколько лет. Почему?
Следует напомнить, что автокод - язык программирования или система команд некоторой условной машины, способной в качестве элементарных выполнять значительно более сложные операции, чем данная конкретная ЭВМ. Автокод применительно к суперкомпьютерам означает возможность описывать задачу по аэродинамике плоскости крыла, например систему нелинейных дифференциальных уравнений в частных производных для пространственно-временной решетки размером 100Х100Х100, в терминах физических величин (температура, скорость, время...), а не переменных и функций: программы для вычислений подобных задач уже созданы. Если в классическом объектно-ориентированном программировании для написания эффективного кода необходимо прежде всего знать структуру классов, объектов, их свойств и функций, то в параллельном программировании этого уже недостаточно, поскольку загрузить суперкомпьютер, выжав максимум из его возможностей, под силу только специалисту владеющему прежде всего предметом т.е. моделью решаемой задачи. При этом автокод освобождает ученого, инженера, аспиранта или студента от необходимости написания подобного распараллеленного кода, выполняя за него эту трудоемкую работу. Автокод на основании графической схемы задачи собирает из уже написанных и отлаженных программ и исходных данных необходимый набор, а вернее матрицу или потоки, загружаемые в суперкомпьютер. Фантастика? Нет, увы, это реальность.
Компания Management Communications and Control Inc. создала по заказу ДАРПА и предлагает заинтересованным организациям этот инструмент под названием Autocoding Toolset. Исследовательская лаборатория Армии США в Абердине (ARL) уже использовала на практике чудо-автокод для решения аэродинамической задачи на суперкомпьютерном кластере состоящем из 2000 процессоров и осталась весьма довольна эффективностью инструмента. Закономерно, что следующим шагом специалистов этой лаборатории стало решение о закупке и установке уже к лету 2006 года 5 суперкомпьютеров корпорации Linux Networx, которые войдут в 20-ку самых мощных суперкомпьютерных кластеров в мире. При этом суммарная пиковая производительность суперкомпьютеров лаборатории поднимется до 80 Тфлоп.
Стоимость этого революционного для суперкомпьютерных технологий инструмента, способного на основе языка графического описания потоков вычислений Processing Graph Method встраивать и распараллеливать уже готовый код из других языков программирования (АДА, С#, C++), а равно стандартные функции пакета MatLab и при этом обеспечивать 90% эффективность загрузки не менее 256 процессоров составляет 60000 долл. Интересная деталь: "Стратегическая оборонная инициатива" Р.Рейгана сопровождалась другими не менее амбициозными программами в области высоких технологий, связанными с созданием унифицированного семейства бортовых ЭВМ с общим языком программирования "АДА". Когда рассеялся "лазерный" дым от фантазий "Звездых войн", бортовые системы управления ВВС, ВМС и Армии США пополнились реальными образцами "харда" AN/GYK-29, AN/UYK-7 и "софта" MIL-STD-1815, благодаря которым и состоялась "Буря в пустыне" в 1991 году.
Принимая во внимание то обстоятельство, что финансирование проекта по созданию чудо-автокода ДАРПА осуществляло вместе с Управлением ПРО и ВМС, не трудно догадаться, где найдут применение новые бортовые высокопроизводительные системы. Можно поспорить о перспективе создания системы ПРО со 100% надежностью перехвата, можно усомниться в реальности создания системы боевого управления FCS к 2010 году, но трудно, а вернее невозможно закрывать глаза на то, что произошло в технологии программирования суперкомпьютерных вычислительных систем уже сегодня. А ведь к началу перестройки в СССР у нас был паритет в этой области с США, но мы его .…