|
диагностика. Диагностика ИКТ-компетенности. Действия с информацией
Наиболее распространёнными программными средствами суперкомпьютеров, также как и параллельных или распределённых компьютерных систем являются интерфейсы программирования приложений (API) на основе MPI и PVM, и решения на базе открытого программного обеспечения, наподобие Beowulf и openMosix, позволяющего создавать виртуальные суперкомпьютеры даже на базе обыкновенных рабочих станций и персональных компьютеров. Для быстрого подключения новых вычислительных узлов в состав узкоспециализированных кластеров применяются технологии наподобие ZeroConf. Примером может служить реализация рендеринга в программном обеспечении Shake, распространяемом компанией Apple. Для объединения ресурсов компьютеров, выполняющих программу Shake, достаточно разместить их в общем сегменте локальной вычислительной сети.
В настоящее время границы между суперкомпьютерным и общеупотребимым программным обеспечением сильно размыты и продолжают размываться ещё более вместе с проникновением технологий параллелизации и многоядерности в процессорные устройства персональных компьютеров и рабочих станций. Исключительно суперкомпьютерным программным обеспечением сегодня можно назвать лишь специализированные программные средства для управления и мониторинга конкретных типов компьютеров, а также уникальные программные среды, создаваемые в вычислительных центрах под «собственные», уникальные конфигурации суперкомпьютерных систем.
Список 500 самых быстрых в мире (Top500) Начиная с 1993, самые быстрые компьютеры ранжируют в списке Top500 исходя из результатов прохождения теста LINPACK. Этот тест измеряет, насколько быстро компьютер решает N на N системы линейных уравнений Ax = b, являющейся общей задачей для машиностроения. Содержание файла 2 текст.doc:
Современные суперкомпьютеры Что такое суперЭВМ? Оксфордский толковый словарь по вычислительной технике, изданный почти 10 лет назад, в 1986 году, сообщает, что суперкомпьютер - это очень мощная ЭВМ с производительностью свыше 10 MFLOPS (миллионов операций с плавающей запятой в секунду). Сегодня этот результат перекрывают уже не только рабочие станции, но даже, по крайней мере, по пиковой производительности, и ПК. В начале 90-х годов границу проводили уже около отметки в 300 MFLOPS. В этом году, судя по появившимся в печати сообщениям, специалисты двух ведущих "суперкомпьютерных" стран, - США и Японии, - договорились о подъеме планки до 5 GFLOPS.
Однако такой подход к определению суперЭВМ не совсем корректен. Очевидно, что, современный двухпроцессорный компьютер Cray C90 любой здравомыслящий человек назовет суперЭВМ. А тем не менее, его пиковая производительность меньше 2 GFLOPS. С этим вопросом тесно связаны и ограничения (ранее - КОКОМ, теперь - Госдепартамента США) на поставку высокопроизводительных средств вычислительной техники другим странам. Компьютеры с производительностью свыше 10 000 млн. теоретических операций в сек. (MTOPS), согласно определению Госдепартамента США, считаются суперкомпьютерами [1].
Более корректно, на наш взгляд, перечислить основные признаки, характеризующие суперЭВМ, среди которых кроме высокой производительности следует отметить:
самый современный технологический уровень (например, GaAs-технология); специфические архитектурные решения, направленные на повышение быстродействия (например, наличие операций над векторами); цена, обычно свыше 1-2 млн. долл.
Существуют компьютеры, имеющие все перечисленные выше характеристики суперЭВМ, за исключением цены, которая для них составляет от нескольких сотен до 2 млн. долларов. Речь идет о мини-суперЭВМ, обладающим высокой производительностью, уступающей, однако, большим суперЭВМ. При этом у минисуперкомпьютеров, как правило, заметно лучше соотношение цена/производительность и существенно ниже эксплуатационные расходы: система охлаждения, электропитания, требования к площади помещения и др. Данные компьютеры ориентированы на менее крупные вычислительные центры - уровня факультета, а не всего университета или корпорации. Примеры таких ЭВМ - Cray J90, Convex C38XX и, возможно, C4/XA. К ним можно отнести, также и современные суперкомпьютерные системы на базе RISC-микропроцессоров, например, IBM SP2, SGI POWER CHALLENGE, DEC AlphaServer 8200/8400 и др.
Архитектура современных суперЭВМ Все компьютеры делятся на четыре класса в зависимости от числа потоков команд и данных. К первому классу (последовательные компьютеры фон Неймана) принадлежат обычные скалярные однопроцессорные системы: одиночный поток команд - одиночный поток данных (SISD). Персональный компьютер имеет архитектуру SISD, причем не важно, используются ли в ПК конвейеры для ускорения выполнения операций.
Второй класс характеризуется наличием одиночного потока команд, но множественного nomoka данных (SIMD). К этому архитектурному классу принадлежат однопроцессорные векторные или, точнее говоря, векторно-конвейерные суперкомпьютеры, например, Cray-1 [6]. В этом случае мы имеем дело с одним потоком (векторных) команд, а потоков данных - много: каждый элемент вектора входит в отдельный поток данных. К этому же классу вычислительных систем относятся матричные процессоры, например, знаменитый в свое время ILLIAC-IV. Они также имеют векторные команды и реализуют векторную обработку, но не посредством конвейеров, как в векторных суперкомпьютерах, а с помощью матриц процессоров.
К третьему классу - MIMD - относятся системы, имеющие множественный поток команд и множественный поток данных. К нему принадлежат не только многопроцессорные векторные суперЭВМ, но и вообще все многопроцессорные компьютеры. Подавляющее большинство современных суперЭВМ имеют архитектуру MIMD.
Четвертый класс в систематике Флинна, MISD, не представляет практического интереса,по крайней мере для анализируемых нами компьютеров. В последнее время в литературе часто используется также термин SPMD (одна программа - множественные данные). Он относится не к архитектуре компьютеров, а к модели распараллеливания программ и не является расширением систематики Флинна. SPMD обычно относится к MPP (т.е. MIMD) - системам и означает, что несколько копий одной программы параллельно выполняются в разных процессорных узлах с разными данными.
Векторные суперкомпьютеры [SIND] Типичная схема однопроцессорного векторного суперкомпьютера представлена на примере FACOM VP-200 японской фирмы Fujitsu [7]. Похожую архитектуру имеют и другие векторные суперкомпьютеры, например, фирм Cray Research [10] и Convex [11]. Общим для всех векторных суперкомпьютеров является наличие в системе команд векторных операций, например, сложение векторов, допускающих работу с векторами определенной длины, допустим, 64 элемента по 8 байт. В таких компьютерах операции с векторами обычно выполняются над векторными регистрами, что, однако, совсем не является обязательным. Наличие регистров маски позволяет выполнять векторные команды не над всеми элементами векторов, а только над теми, на которые указывает маска.
Но некоторые векторные суперЭВМ, например, IBM ES/9000, работают с операндами-векторами, расположенными непосредственно в оперативной памяти. Скорее всего, такой подход является менее перспективным с точки зрения производительности, в частности, потому, что для поддержания высокого темпа вычислений для каждой векторной команды требуется быстрая выборка векторных операндов из памяти и запись результатов обратно.
Многопроцессорные векторные суперкомпьютеры (MIMD) В архитектуре многопроцессорных векторных компьютеров можно отметить две важнейшие характеристики: симметричность (равноправность) всех процессоров системы и разделение всеми процессорами общего поля оперативной памяти. Подобные компьютерные системы называются сильно связанными. Если в однопроцессорных векторных ЭВМ для создания эффективной программы ее надо векторизовать, то в многопроцессорных появляется задача распараллеливания программы для ее выполнения одновременно на нескольких процессорах.
Задача распараллеливания является, пожалуй, более сложной,поскольку в ней необходимо организовать синхронизацию параллельно выполняющихся процессов. Практика показала возможности эффективного распараллеливания большого числа алгоритмов для рассматриваемых сильно связанных систем. Соответствующий подход к распараллеливанию на таких компьютерах называется иногда моделью разделяемой общей памяти.
Многопроцессорные SMP-серверы на базе микропроцессоров RISC-архитектуры [MIMD] Производительность некоторых современных микропроцессоров RISC-архитектуры стала сопоставимой с производительностью процессоров векторных компьютеров. Как следствие этого, появились использующие эти достижения суперЭВМ новой архитектуры, - сильно связанные компьютеры класса MIMD, представляющие собой симметричные многопроцессорные серверы с общим полем оперативной памяти. Этим перспективным системам имеет смысл уделить больше внимания, чем другим компьютерным архитектурам, поскольку соответствующий крут вопросов в отечественной компьютерной литературе обсуждался недостаточно полно.
Наиболее известные суперкомпьютерные серверы, имеющие подобную SMP-архитектуру - DEC AlphaServer 8200/8400 [13] и SGI POWER CHALLENGE [14]. Для них характерно применение высокопроизводительной системной шины, в слоты которой вставляются модули трех типов - процессорные, оперативной памяти и ввода-вывода. Обычные, более медленные шины ввода-вывода, например, PCI или VME64, подсоединяются уже к модулям ввода-вывода. Очевидно, что подобная конструкция обладает высокой степенью модульности и легко позволяет производить наращивание конфигурации, которое ограничивается только доступным числом слотов системной шины и ее производительностью.
В модулях памяти обычно используется технология DRAM, что позволяет достигнуть больших объемов памяти при относительно низкой цене. Однако скорость обмена данными между процессорами и памятью в таких серверах во много раз ниже, чем пропускная способность аналогичного тракта в векторных суперЭВМ, где оперативная память строится на более дорогой технологии ЯВАМ. В этом состоит одно из основных отличий в подходах к суперкомпьютерным вычислениям, применяемым для многопроцессорных векторных ЭВМ и SMP-серверов. В первых обычно имеется относительно небольшое число векторных регистров, поэтому, как уже отмечалось, для поддержания высокой производительности необходимо быстро загружать в них данные или, наоборот, записывать из них информацию в оперативную память. Таким образом, требуется высокая производительность тракта процессор-память.
В SMP-серверах пропускная способность модулей памяти гораздо ниже, а общая скорость обмена данными с процессорными модулями ограничивается также (хотя и высокой) пропускной способностью шины. К тому же системная шина может быть занята передачей данных за счет работы модулей ввода-вывода. Для иллюстрации порядков величин можно привести следующие данные: гарантированная пропускная способность системной шины TurboLaser в AlphaServer 8200/8400 составляет 1.6 Гбайт/с и 1.2 Гбайт/с - для шины POWERpath-2 в POWER CHALLENGE, а пропускная способность оперативной памяти в Сгау Т90 равна 800 Гбайт/с. Поэтому в SMP-серверах разработчики стремятся уменьшить саму потребность в обменах данными на тракте процессорыпамять. С этой целью вместо маленького по величине объема памяти векторных регистров (именно поэтому они требуют достаточно частой перезагрузки) микропроцессоры в суперкомпьютерных SMP-системах снабжаются кэш - памятью очень большого размера, например, по 4 Мбайт на микропроцессор в AlphaServer 8200/8400 и POWER CHAL ENGE. В результате для очень широкого спектра приложений удается достичь поставленной цели.
Современные компьютеры SMP-архитектуры и кластеры на их основе имеют во многом характеристики, сравнимые с большими векторными суперЭВМ, за исключением пропускной способности оперативной памяти; Если добавить к этому низкие эксплуатационные расходы на обслуживание SMP-систем, то становится понятно, почему применение этих гораздо более дешевых (по сравнению с векторными) суперкомпьютеров получило за последние 2 года широкое распространение.
Кластеры [MIMD] Кластеры являются самым дешевым способом наращивания производительности уже инсталлированных компьютеров. Фактически кластер представляет собой набор из нескольких ЭВМ, соединенных через некоторую коммуникационную инфраструктуру. В качестве такой структуры может выступать обычная компьютерная сеть, однако из соображений повышения производительности желательно иметь высокоскоростные соединения (FDDI/ATM/HiPPI и т.п.). Кластеры могут быть образованы как из различных компьютеров (гетперогенные кластеры), так и из одинаковых (гомогенные кластеры). Очевидно, что все такие системы относятся к классу MIMD. Кластеры являются классическим примером слабо связанных систем. Различным кластерным системам посвящена статья [16].
Преимуществом кластерного подхода по сравнению с SMP-серверами является улучшение возможностей масштабирования. В отличие от серверов SMP-архитектуры, где наращивание конфигурации ограничено пропускной способностью шины, добавление компьютеров в кластер позволяет увеличивать пропускную способность оперативной памяти и подсистем ввода-вывода.
В кластерных системах для организации взаимодействия между процессами, выполняющимися на разных компьютерах при решении одной задачи, применяются различные модели обмена сообщениями (PVM, MPI и т.п.). Однако задача распараллеливания в таких системах с распределенной между отдельными компьютерами памятью в рамках этих моделей является гораздо более сложной, чем в модели общего поля памяти, как например, в SMP-серверах. К этому следует добавить чисто аппаратные проблемы наличия задержек при обменах сообщениями и повышения скорости передачи данных. Поэтому спектр задач, которые могут эффективно решаться на кластерных системах, по сравнению с симметричными сильно связанными системами достаточно ограничен. Для параллельной обработки запросов к базам данных в подобных системах также имеются свои собственные подходы (см., например, [16]).
В кластеры могут объединяться различные суперкомпьютеры, например, минисуперЭВМ Сгау J90 [11], однако наиболее известными кластерами в мире суперЭВМ являются IBM SP2 [17] и SGI POWER CHAL ENGEarray [14]. Возможность наличия большого числа процессорных узлов в SP2 позволяет одновременно отнести этот компьютер и к классу Mpp-систем.
МРР-системн (MIMD) Основным признаком, по которому систему относят к архитектуре MPP, является число процессоров (n). Строгой границы не существует, но обычно считается, что при n >= 128 - это уже МРР, а при n <= 32 - еще нет.
Вовсе не обязательно, чтобы MPP-система имела распределенную оперативную память, при которой каждый процессорный узел имеет свою локальную память. Так, например, компьютеры SPP1000/XA и SPP1200/XA [15] - пример систем с массовым параллелизмом, память которых физически распределена между гиперузлами, но логически является общей для всей ЭВМ. Тем не менее, большинство MPP-компьютеров имеют как логически, так и физически распределенную память.
В любом случае MPP-системы принадлежат к классу MIMD. Если говорить об MPP-компьютерах с распределенной памятью и отвлечься от организации ввода-вывода, то эта архитектура является естественным расширением кластерной на большое число узлов. Поэтому для таких систем характерны все преимущества и недостатки кластеров. Причем в связи с повышенным числом процессорных узлов как плюсы, так и минусы становятся гораздо весомее (процессорный узел это блок ЭВМ, который может содержать несколько процессоров, например, как в компьютерах SNI/Pyramid RM1000, и сам по себе иметь архитектуру SMP).
Благодаря масштабируемости, именно MPP-системы являются сегодня лидерами по достигнутой производительности компьютера; наиболее яркий пример этому - Intel Paragon. С другой стороны, проблемы распараллеливания в MPP-системах по сравнению с кластерами, содержащими немного процессоров, становятся еще более трудно разрешимыми. Кроме того, приращение производительности с ростом числа процессоров обычно вообще довольно быстро убывает. Легко нарастить теоретическую производительность ЭВМ, но гораздо труднее найти задачи, которые сумели бы эффективно загрузить процессорные узлы.
Сегодня не так уж много приложений могут эффективно выполняться на Mpp-компьютере, кроме этого имеется еще проблема переносимости программ между Mpp-системами, имеющими различную архитектуру. Предпринятая в последние годы попытка стандартизации моделей обмена сообщениями еще не снимает всех проблем. Эффективность распараллеливания во многих случаях сильно зависит от деталей архитектуры Mpp-системы, например топологии соединения процессорных узлов.
Самой эффективной была бы топология, в которой любой узел мог бы напрямую связаться с любым другим узлом. Однако в MPP-системах это технически трудно реализуемо. Обычно процессорные узлы в современных MPP-компьютерах образуют или двумерную решетку (например, в SNI/Pyramid RM1000) или гиперкуб (как в суперкомпьютерах nCube [18]).
Поскольку для синхронизации параллельно выполняющихся в узлах процессов необходим обмен сообщениями, которые должны доходить из любого узла системы в любой другой узел, важной характеристикой является диаметр системы с1 - максимальное расстояние между узлами. В случае двухмерной решетки d sqrt(n), в случае гиперкуба d 1n(n). Таким образом, при увеличении числа узлов архитектура гиперкуба является более выгодной.
Время передачи информации от узла к узлу зависит от стартовой задержки и скорости передачи. В любом случае за время передачи процессорные узлы успевают выполнить много команд, и это соотношение быстродействия процессорных узлов и передающей системы, вероятно, будет сохраняться - прогресс в производительности процессоров гораздо больше, чем в пропускной способности каналов связи. Поэтому инфраструктура каналов связи является одного из главных компонентов Mpp-компьютера.
Оценки производительности суперЭВМ Поскольку суперкомпьютеры традиционно использовались для выполнения вычислений над вещественными числами, большинство сегодняшних оценочных характеристик производительности связано именно с этими вычислениями. Прежде всего, к ним относится пиковая производительность, измеряемая в млн. операций с плавающей точкой, которые компьютер теоретически может выполнить за 1 сек (MFLOPS). Пиковая производительность - величина, практически не достижимая. Это связано, в частности, с проблемами заполнения функциональных конвейерных устройств, что является типичным не только для векторных суперЭВМ, но и для компьютеров на базе микропроцессоров RISC-архитектуры. Особенно важно это для суперконвейерной архитектуры микропроцессоров, например, DEC Alpha, для которой характерно применение относительно длинных конвейеров. Понятно, что чем больше конвейер, тем больше надо "инициализационного" времени для того, чтобы его заполнить. Такие конвейеры эффективны при работе с длинными векторами. Поэтому для оценки векторных суперЭВМ было введено такое понятие, как длина полупроизводительности - длина вектора, при которой достигается половина пиковой производительности [4].
Более реальные оценки производительности базируются на временах выполнения различных тестов. Конечно же, самыми хорошими тестами являются реальные задачи пользователя. Однако такие оценки, во-первых, весьма специфичны, а, во-вторых, часто вообще недоступны или отсутствуют. Поэтому обычно применяются более универсальные тесты, однако традиционные методики оценки производительности микропроцессоров - SPEC- в мире суперкомпьютеров, как правило, не используются. Это связано, в частности, с их малой информативностью - особенно SPEC 92 - для суперкомпьютерных приложений, хотя новый стандарт SPEC 95 дает более реальную картину производительности. Сегодня имеются оценки SPEC только для суперкомпьютеров, использующих микропроцессоры RISC-архитектуры. Недавно был анонсирован специальный новый стандарт SPEChpc96 для высокопроизводительных вычислений [14].
Поскольку большую часть времени выполнения программ обычно занимают циклы, иногда именно они применяются в качестве тестов, например, известные ливерморские циклы. Наиболее популярным тестом производительности на сегодня следует признать Linpack, который представляет собой решение системы И линейных уравнений методом Гаусса. Поскольку известно, сколько операций с вещественными числами нужно проделать для решения системы, зная время расчета, можно вычислить выполняемое в секунду количество операций. Имеется несколько модификаций этих тестов. Обычно фирмы-производители компьютеров приводят результаты при N 100. Свободно распространяется стандартная программа на Фортране, которую надо выполнить на суперкомпьютере, чтобы получить результат тестирования. Эта программа не может быть изменена, за исключением замены вызовов подпрограмм, дающих доступ к процессорному времени выполнения. Другой стандартный тест относится к случаю N = 1000, предполагающему использование длинных векторов. Эти тесты могут выполняться на компьютерах при разном числе процессоров, давая также оценки качества распараллеливания.
Для MPP-систем более интересным является тест Linpack-parallel, в котором производительность измеряется при больших И и числе процессоров. Здесь лидером является 6768-процессорный Intel Paragon (281 GFLOPS при N = 128600). Что касается производительности процессоров, то при N = 100 лидирует Cray T916 (522 MFLOPS), при N = 1000 и по пиковой производительности - Hitachi S3800 (соответственно 6431 и 8000 MFLOPS). Для сравнения, процессор в AlphaServer 8400 имеет 140 MFLOPS при N =100 и 411 MFLOPS при N=1000.
Для высокопараллельных суперкомпьютеров в последнее время все больше используются тесты NAS parallel benchmark [19], которые особенно хороши для задач вычислительной газо- и гидродинамики. Их недостатком является фиксация алгоритма решения, а не текста программы. Дополнительную информацию о различных тестах можно найти в [20,21].
Содержание файла 3 текст.doc: ОСНОВНЫЕ ВИДЫ АРХИТЕКТУРЫ Известно, что сегодня существуют две основные архитектуры параллельных компьютеров: симметричные мультипроцессорные системы с общей памятью (SMP) и мультипроцессорные системы с распределенной памятью (MPP).
Архитектура SMP Основное преимущество SMP - относительная простота программирования. В ситуации, когда все процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том, какой из процессоров какие вычисления будет выполнять, не столь принципиален, и значительная часть вычислительных алгоритмов, разработанных для последовательных компьютеров, может быть ускорена с помощью распараллеливающих и векторизирующих трансляторов. SMP-компьютеры - это наиболее распространенные сейчас параллельные вычислители, а 2-, 4-х процессорные ПК на основе Pentium и Pentium Pro стали уже массовым товаром. Однако общее число процессоров в SMP-системах, как правило, не превышает 16, а их дальнейшее увеличение не дает выигрыша из-за конфликтов при обращении к памяти. Применение технологий типа UPA, основанной на коммутации пакетов вместо общей шины и локальной кэш-памяти большого объема, способно частично решить проблему, подняв число процессоров до 32.
Архитектура MPP Альтернатива SMP - архитектура MPP. Каждый процессор имеет доступ лишь к своей локальной памяти, а если программе нужно узнать значение переменной, расположенной в памяти другого процессора, то задействуется механизм передачи сообщений. Процессор, в памяти которого находятся нужные данные, посылает сообщение тому процессору, которому они требуются, а последний принимает его. Этот подход позволяет создавать компьютеры, включающие в себя тысячи процессоров. На нем основаны все машины, имеющие производительность в сотни миллиардов операций в секунду.
MPI Практически на всех параллельных системах имелись свои собственные библиотеки передачи сообщений. В простейшем случае они предусматривали передачу и прием отдельных пакетов между соседними процессорами. Более сложные поддерживали передачу сообщений произвольной длины, маршрутизацию сообщений и аппарат тегов, который позволяет принимающей стороне самой решать, в какой последовательности обрабатывать поступающие сообщения. Некоторые библиотеки допускали динамическое порождение и уничтожение процессов. За последние годы в деле создания ПО для систем с распределенной памятью наметился серьезный прогресс. Самым крупным достижением была стандартизация интерфейса передачи сообщений MPI (message passing interface). Во-первых, MPI поддерживает несколько режимов передачи данных, важнейшие из которых: синхронная передача, не требующая выделения промежуточных буферов для данных и обеспечивающая надежную передачу данных сколь угодно большого размера, и асинхронная передача, при которой посылающий сообщение процесс не ждет начала приема, что позволяет эффективно передавать короткие сообщения. Во-вторых, MPI позволяет передавать данные не только от одного процесса к другому, но и поддерживает коллективные операции: широковещательную передачу, разборку-сборку, операции редукции. В-третьих, MPI предусматривает гетерогенные вычисления. Вычислительная система может включать разные процессоры, в том числе имеющие различные наборы команд и разное представление данных. Если у вас имеется суперкомпьютер, то это кажется излишним, но для организаций, эксплуатирующих сети рабочих станций с различными процессорами и версиями Unix, - это находка. Синтаксис MPI облегчает создание приложений в модели SPMD (single program multiple data) - одна программа работает в разных процессах со своими данными. Одна и та же функция вызывается на узле-источнике и узлах-приемниках, а тип выполняемой операции (передача или прием) определяется с помощью параметра. Такой синтаксис вызовов делает SPMD-программы существенно компактнее, хотя и труднее для понимания. Основное отличие стандарта MPI от его предшественников - понятие коммуникатора. Все операции синхронизации и передачи сообщений локализуются внутри коммуникатора. С коммуникатором связывается группа процессов. В частности, все коллективные операции вызываются одновременно на всех процессах, входящих в эту группу Поддержка модульного программирования в сочетании с независимостью от аппаратуры дала мощный импульс к созданию библиотек. Одна из самых интересных разработок - пакет линейной алгебры ScaLAPACK, разработанный группой Дж. Донгарра.
Супер-ЭВМ и сверхвысокая производительность: зачем?
Простые рассчеты показывают, что конфигурации подобных систем могут стоить не один миллион долларов США - ради интереса прикиньте, сколько стоят, скажем, лишь 4 Тбайта оперативной памяти? Возникает целый ряд естественных вопросов: какие задачи настолько важны, что требуются компьютеры стоимостью несколько миллионов долларов? Или, какие задачи настолько сложны, что хорошего Пентиума не достаточно? На эти и подобные им вопросы хотелось бы найти разумные ответы.
Для того, чтобы оценить сложность решаемых на практике задач, возьмем конкретную предметную область, например, оптимизацию процесса добычи нефти. Имеем подземный нефтяной резервуар с каким-то число пробуренных скважин: по одним на поверхность откачивается нефть, по другим обратно закачивается вода. Нужно смоделировать ситуацию в данном резервуаре, чтобы оценить запасы нефти или понять необходимость в дополнительных скважинах.
Примем упрощенную схему, при которой моделируемая область отображается в куб, однако и ее будет достаточно для оценки числа необходимых арифметических операций. Разумные размеры куба, при которых можно получать правдоподобные результаты - это 100*100*100 точек. В каждой точке куба надо вычислить от 5 до 20 функций: три компоненты скорости, давление, температуру, концентрацию компонент (вода, газ и нефть - это минимальный набор компонент, в более реалистичных моделях рассматривают, например, различные фракции нефти). Далее, значения функций находятся как решение нелинейных уравнений, что требует от 200 до 1000 арифметических операций. И наконец, если исследуется нестационарный процесс, т.е. нужно понять, как эта система ведет себя во времени, то делается 100-1000 шагов по времени. Что получилось:
106(точек сетки)*10(функций)*500(операций)*500(шагов по времени) = 2.5*1012
2500 миллиардов арифметических операций для выполнения одного лишь расчета! А изменение параметров модели? А отслеживание текущей ситуации при изменении входных данных? Подобные расчеты необходимо делать много раз, что накладывает очень жесткие требования на производительность используемых вычислительных систем.
Примеры использования суперкомпьютеров можно найти не только в нефтедобывающей промышленности. Вот лишь небольшой список областей человеческой деятельности, где использование суперкомпьютеров действительно необходимо:
автомобилестроение
нефте- и газодобыча
фармакология
прогноз погоды и моделирование изменения климата
сейсморазведка
проектирование электронных устройств
синтез новых материалов
и многие, многие другие
В 1995 году корпус автомобиля Nissan Maxima удалось сделать на 10% прочнее благодаря использованию суперкомпьютера фирмы Cray (The Atlanta Journal, 28 мая, 1995г). С помощью него были найдены не только слабые точки кузова, но и наиболее эффективный способ их удаления.
По данным Марка Миллера (Mark Miller, Ford Motor Company), для выполнения crash-тестов, при которых реальные автомобили разбиваются о бетонную стену с одновременным замером необходимых параметров, съемкой и последующей обработкой результатов, компании Форд понадобилось бы от 10 до 150 прототипов новых моделей при общих затратах от 4 до 60 миллионов долларов. Использование суперкомпьютеров позволило сократить число прототипов на одну треть.
Совсем недавний пример - это развитие одной из крупнейших мировых систем резервирования Amadeus, используемой тысячами агенств со 180000 терминалов в более чем ста странах. Установка двух серверов Hewlett-Packard T600 по 12 процессоров в каждом позволила довести степень оперативной доступности центральной системы до 99.85% при текущей загрузке около 60 миллионов запросов в сутки.
И подобные примеры можно найти повсюду. В свое время исследователи фирмы DuPont искали замену хлорофлюорокарбону. Нужно было найти материал, имеющий те же положительные качества: невоспламеняемость, стойкость к коррозии и низкую токсичность, но без вредного воздействия на озоновый слой Земли. За одну неделю были проведены необходимые расчеты на суперкомпьютере с общими затратами около 5 тысяч долларов. По оценкам специалистов DuPont, использование традиционных экспериментальных методов исследований потребовало бы около трех месяцев и 50 тысяч долларов и это без учета времени, необходимого на синтез и очистку необходимого количества вещества. Приложение 7: Задание: Известно, что класс вашего друга на следующем уроке будет писать аналогичную контрольную работу; учитель по информатике структуру контрольной работы для классов одной параллели никогда не меняет, но условия задач в разных классах всегда разные. Вам нужно составить текст SMS-ки с подсказкой для каждого задания (не больше 120 символов), которая будет отправлена другу на перемене.
Вариант 1
1. Выпишите все четные числа в троичной системе счисления, не превосходящие 203.
2. Перевести число 193 в систему счисления с основанием 190
3. Перевести из двоичной системы в десятичную число 0.00(0011)
4. Перевести из шестнадцатеричной системы в восьмеричную число 30A.9
5. Перевести из десятичной системы в двоичную число 0.7 Вариант 2 1. Выпишите все нечетные числа в пятеричной системе счисления, не превосходящие 115.
2. Перевести число 213 в систему счисления с основанием 210
3. Перевести из двоичной системы в десятичную число 0.1(0110)
4. Перевести из шестнадцатеричной системы в восьмеричную число 40D.3
5. Перевести из десятичной системы в двоичную число 0.9
Приложение 8: Задание: Вам нужно составить отчет о недавнем сбое в работе серверов (выведены и строя 7 серверных машин), в ходе которого произошла утечка личной информации 250 тыс. пользователей (ФИО, адреса, номера телефонов, номера счетов в банке и т.д) у фирмы «Крас-индестрис». Ниже приведены (или слова работников или информация представленная фирмами арендаторами серверов).
Необходимо выбрать источники информации, которые вы включите в свой отчет. Так же необходимо указать, почему был выбран тот или иной источник и исходя из каких критериев. 1 источник:
Федеральная Служба Безопасности: Последствия недавнего сбоя у фирмы «Крас-индестрис» понесли за собой потери личной информации более чем 200 тыс. пользователей. Виновник ищется по горячим следам. 2 источник:
Хард-индестрис: по вине одного из сотрудников произошел сбой, после которого была утеряна информация ряда пользователей. Оборудование в скором времени будет заменено на новое. 3 источник:
«Нью-индестрис»: Из-за некачественного оборудования и небрежного отношения к нему, у фирмы «Крас-индестрис» произошла утечка личной информации пользователей, что свидетельствует о не компетентности данной фирмы. 4 источник:
Фирма «Крас-индестрис» сообщает, что из-за технической ошибки произошла утечка личной информации у части пользователей, так же они сообщили, что данные и серверы будет восстановлены в ближайшее время.
Приложение 9: Задание: Есть две фирмы Ф1 и Ф2. Они конкурируют между собой. Известно, что в фирме Ф2 используют для защиты переписки шифр Азбукой Морзе. Какие из предложенных шифров вы посоветуете использовать для переписки фирме Ф1, чтобы максимально обеспечить сохранность переписки и почему? Азбука Морзе. Код Мо́рзе, «Морзя́нка» (А́збукой Мо́рзе код начал называться только с первой мировой войны) — способ знакового кодирования (представление букв алфавита, цифр, знаков препинания и других символов последовательностью двоичных сигналов, например, длинных и коротких: «тире» и «точек»). За единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака — одна точка, между знаками в слове — 3 точки, между словами — 7 точек. Двоичное кодирование.
Двоичный код — это способ представления данных в виде комбинации двух знаков, обычно обозначаемых цифрами 0 и 1. Используя два двоичных разряда (бита) можно закодировать четыре различные комбинации: 00 01 10 11, три бита — восемь: 000 001 010 011 100 101 110 111, и так далее. При увеличении разрядности двоичного числа на 1, количество различных комбинаций в двоичном коде удваивается. Двоичные коды являются комбинациями двух элементов и не являются двоичной системой счисления, но используются в ней как основа. Двоичный код также может использоваться для кодирования чисел в системах счисления с любым другим основанием. При кодировании алфавитноцифровых символов (знаков) двоичному коду не приписываются весовые коэффициенты, как это делается в системах счисления, в которых двоичный код используется для представления чисел, а используется только порядковый номер кода из множества размещений с повторениями.
Простая перестановка Простая перестановка без ключа — один из самых простых методов шифрования. Сообщение записывается в таблицу по столбцам. После того, как открытый текст записан колонками, для образования шифровки он считывается по строкам. Для использования этого шифра отправителю и получателю нужно договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и используется лишь для удобства записи несмыслового текста.
Шифр Цезаря
Шифр Цезаря, также известный как шифр сдвига, код Цезаря или сдвиг Цезаря — один из самых простых и наиболее широко известных методов шифрования.
Шифр Цезаря — это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется буквой находящейся на некоторое постоянное число позиций левее или правее него в алфавите. Например, в шифре со сдвигом 3, А была бы заменена на Г, Б станет Д, и так далее.
Приложение 10: Задание: Вы собираетесь провести сеть в своей молодой фирме, между 15 необходимыми компьютерами, для обеспечения постоянного обмена большого количества информации (конечно с минимумом затрат). Были наняты два работника, которые должны установить ее, но они разошлись во мнений какую сеть устанавливать. Ознакомьтесь с их доводами (так же у вас есть небольшая информация о их сетях) и составьте собственное аргументированное мнение о необходимой сети. 1-ый работник:
Нужно ставить сеть с «Шинной топологией», так как она при отказе одного из узлов не будет влияния на работу сети в целом; плюс ее легко настраивать и конфигурировать и она не дорогая.
Или же сеть Wi-Fi. Она позволяет развернуть сеть без прокладки кабеля, что может уменьшить стоимость развёртывания и/или расширения сети. С не так же будут иметь доступ к сети мобильные устройства. 2-ой работник:
Можно использовать соединение типа «Звезда», в нее легко подключить новый ПК, можно будет централизовать управление, так же сеть устойчива к неисправностям отдельных ПК и к разрывам соединения отдельных ПК.
Другой вариант это топология «Token Ring», она обеспечивает равный доступ ко всем рабочим станциям и высокую надежность, так как сеть устойчива к неисправностям отдельных станций и к разрывам соединения отдельных станций. Контраргументы 1-го работника:
Если мы используем соединение типа «Звезда», то отказ хаба влияет на работу всей сети, к тому же будет большой расход кабеля. А при топологии «Token Ring» будет еще больше расход кабеля и соответственно дорогостоящая разводка линий связи. Контраргументы 2-го работника:
При шинной топологии разрыв кабеля может повлиять на работу всей сети. Будут ограничения по длина кабеля и количеству рабочих станций и трудно определить дефекты соединений в случае поломки.
А используя сеть Wi-Fi в диапазоне 2.4 GHz работает множество устройств, таких как устройства, поддерживающие Bluetooth, и др, и даже микроволновые печи, что ухудшает электромагнитную совместимость. Реальная скорость передачи данных в Wi-Fi сети всегда ниже максимальной скорости. Реальная скорость зависит от многих факторов: наличия между устройствами физических преград (мебель, стены), наличия помех от других беспроводных устройств или электронной аппаратуры, расположения устройств относительно друг друга и т.п[5]. Количество одновременно-наблюдаемых Wi-Fi сетей в одной точке не может быть больше количества используемых каналов, то есть 13 каналов/сетей.
Шинная топология Сети с шинной топологией используют линейный моноканал (коаксиальный кабель) передачи данных, на концах которого устанавливаются оконечные сопротивления (терминаторы). Данные от передающего узла сети передаются по шине в обе стороны, отражаясь от оконечных терминаторов. Терминаторы предотвращают отражение сигналов, т.е. используются для гашения сигналов, которые достигают концов канала передачи данных. Таким образом, информация поступает на все узлы, но принимается только тем узлом, которому она предназначается. В топологии логическая шина среда передачи данных используются совместно и одновременно всеми ПК сети, а сигналы от ПК распространяются одновременно во все направления по среде передачи.
Топология типа “звезда” В сети построенной по топологии типа “звезда” каждая рабочая станция подсоединяется кабелем (витой парой) к концентратору или хабу (hub). Концентратор обеспечивает параллельное соединение ПК и, таким образом, все компьютеры, подключенные к сети, могут общаться друг с другом.
Данные от передающей станции сети передаются через хаб по всем линиям связи всем ПК. Информация поступает на все рабочие станции, но принимается только теми станциями, которым она предназначается.
Топология Token Ring Эта топология основана на топологии "физическое кольцо с подключением типа звезда". В данной топологии все рабочие станции подключаются к центральному концентратору (Token Ring) как в топологии физическая звезда. Центральный концентратор - это интеллектуальное устройство, которое с помощью перемычек обеспечивает последовательное соединение выхода одной станции со входом другой станции.
Другими словами с помощью концентратора каждая станция соединяется только с двумя другими станциями (предыдущей и последующей станциями). Таким образом, рабочие станции связаны петлей кабеля, по которой пакеты данных передаются от одной станции к другой и каждая станция ретранслирует эти посланные пакеты. В каждой рабочей станции имеется для этого приемо-передающее устройство, которое позволяет управлять прохождением данных в сети. Физически такая сеть построена по типу топологии “звезда”.
Концентратор создаёт первичное (основное) и резервное кольца. Если в основном кольце произойдёт обрыв, то его можно обойти, воспользовавшись резервным кольцом, так как используется четырёхжильный кабель. Отказ станции или обрыв линии связи рабочей станции не вличет за собой отказ сети как в топологии кольцо, потому что концентратор отключет неисправную станцию и замкнет кольцо передачи данных.
|
|
|