Архитектурные свойства вычислительных систем
Основополагающие принципы (параллелизма, программируемости, однородности) и принципы модульности и близкодействия позволяют достичь полноты архитектурных свойств в вычислительных системах.
Важнейшие свойства архитектуры ВС:
Под масштабируемостью ВС понимается их способность к наращиванию и сокращению ресурсов, возможность варьирования производительности. Сложность (трудоемкость) задач, решаемых на вычислительных средствах, постоянно растет. Для сохранения в течении длительного времени за вычислительной системой способности быть адекватным средством решения сложных задач необходимо, чтобы она обладала архитектурным свойством масштабируемости. Это означает, в частности, что производительность, достигнутую ВС на заданном количестве вычислителей, можно увеличить, добавив еще один или несколько вычислителей. Выполнение этого свойства ВС гарантируется принципами модульности, локальности, децентрализованности и распределенности.
Свойство наращиваемости производительности предоставляет потенциальную возможность решать задачи любой априори заданной сложности. Однако для практической реализации этой возможности требуется, чтобы алгоритм решения сложной задачи удовлетворял условию локальности, а межмодульные пересылки информации слабо влияли на время решения задачи. Это может быть достигнуто за счет крупноблочного распараллеливания сложных задач и (или) аппаратурных средств, позволяющих совместить межмодульные обмены информацией с вычислениями.
Универсальность ВС.
Принято считать, что ЭВМ (основанные на модели вычислителя) являются алгоритмически универсальными, если они обладают способностью (без изменения своих структур) реализовать алгоритм решения любой задачи. С другой стороны, ВС – это коллектив вычислителей, каждый из которых обладает алгоритмической универсальностью, следовательно, и система универсальна (в общепринятом смысле).
В вычислительных системах могут быть реализованы не только любые алгоритмы, доступные ЭВМ, но и параллельные алгоритмы решения сложных задач. Последнее следует из определений модели коллектива вычислителей и, в частности, алгоритма функционирования ВС.
Структурная универсальность ВС – следствие воплощения архитектурных принципов коллектива вычислителей, в частности, принципа программируемости структуры. Суть этого принципа – возможность автоматически (программно) порождать специализированные (проблемно-ориентированные) виртуальные конфигурации, которые адекватны структурам и параметрам решаемых задач.
Таким образом, вычислительные системы сочетают в себе достоинства цифровой техники, где процесс вычислений в основном задаётся алгоритмически (точнее: программно) и аналоговой техники, где процесс вычислений предопределяется структурными схемами.
Структурная универсальность позволяет говорить и о специализированности ВС: для каждой задачи допустима автоматическая настройка такой конфигурации из ресурсов ВС, которая наиболее адекватна алгоритму решения задачи. Итак, вычислительная система – это средство, в котором диалектически сочетаются противоположные свойства универсальности и специализированности.
Производительность.
В отличие от ЭВМ, построенных на основе модели вычислителя, ВС не имеют принципиальных ограничений в наращивании производительности. Рост производительности в них достигается за счёт не только повышения физического быстродействия микроэлектронных элементов, а главным образом увеличения числа вычислителей. Следует подчеркнуть, что благодаря свойству однородности наращиваемость ВС осуществляется простым подключением дополнительных вычислений без конструктивных изменений первоначального состава системы. При этом достигается простота настройки программного обеспечения на заданное число вычислителей в системе. На основании последнего обеспечивается совместимость ВС различной производительности.
Реконфигурируемость. Структурная и функциональная гибкость ВС вытекает из широких возможностей систем по статической и динамической реконфигурации. Статическая реконфигурация ВС обеспечивается: варьированием числа вычислителей, их структуры и состава; выбором для вычислителей числа полюсов для связи c другими вычислителями; возможностью построения структур в виде графов, относящихся к различным классам; допустимостью применения в качестве связей каналов различных типов, различной физической природы и различной протяжённости и т.п. Благодаря приспособленности ВС к статической реконфигурации достигается адаптация системы под область применения на этапе её формирования.
Динамическая реконфигурация ВС достигается возможностью образования в системах таких подсистем, структуры и функциональные организации которых адекватны входной мультипрограммной ситуации и структурам решаемых задач. Следовательно, способность ВС к динамической реконфигурации приводит к её высокой универсальности, при которой достигается заданный уровень производительности при решении широкого класса задач, реализуются известные в вычислительной технике режимы функционирования (коллективное пользование, пакетная обработка и др.), способы управления вычислительным процессом (централизованный, децентрализованный и др.), структурные схемы (изолированные вычислительные машины, системы из нескольких процессоров и одной ЭВМ, системы из одной ЭВМ и нескольких устройств памяти и т.п.) и способы обработки информации (конвейерный, матричный, распределённый и др.).
Надёжность и живучесть вычислительных систем.Данные два понятия семантически близки, оба призваны характеризовать архитектурные способности ВС по выполнению возглавляемых на них функций. Однако каждое из них отражает специфические особенности ВС по использованию исправных ресурсов при переработке информации.
Под надёжностью ВС понимается ее способность к автоматической (программной) настройке и организации функционирования таких структурных схем, которые при отказах и восстановлении вычислителей обеспечивают заданный уровень производительности или, говоря иначе, возможность использовать фиксированное число исправных вычислителей (при реализации параллельных программ решения сложных задач). Это понятие характеризует возможностивычислительных систем по переработке информации при наличии фиксированной структурной избыточности (представленной частью вычислителей) и при использовании параллельных программ с заданным числом ветвей.
Под живучестью ВС понимается свойство программной настройки и организации функционирования таких структурных схем, которые в условиях отказов и восстановления вычислителей гарантируют при выполнении параллельной программы производительность в заданных пределах или возможность использования всех исправных вычислителей. Понятие живучести вычислительных систем характеризует их способности по организации отказоустойчивых вычислений или, говоря иначе, по реализации параллельных программ, допускающих варьирование числа ветвей в известных пределах.
При рассмотрении живучести ВС выделяютполный и частичный отказы.Под полным отказом ВС понимается событие, состоящее в том, что система теряет способность выполнять параллельную программу с переменным числом ветвей. Частичным отказом считают событие, при котором имеют место отказы вычислителей, однако сохраняется возможность реализации на ВС параллельной программы с переменным числом ветвей. Полный отказ делает производительность системы равной нулю, а частичный отказ приводит лишь к некоторому снижению производительности, т.е. к увеличению времени реализации параллельной программы с переменным числом ветвей. Понятия полного и частичного восстановления ВС очевидны.
В живучих ВС допустимо использование аппаратурной избыточности на уровне отдельных функциональных устройств и узлов вычислителей, однако эта избыточность играет лишь вспомогательную роль.
Следует подчеркнуть, что в живучей ВС в любой момент функционирования используется суммарная производительность всех исправных вычислителей. Из последнего следует, что программы решения задач должны обладать свойством адаптируемости (под число исправных вычислителей) и иметь информационную избыточность.
Самоконтроль и самодиагностика вычислительных систем. Организация надёжного и живучего функционирования вычислительных систем связана с контролем правильности их работы и с локализацией неисправностей в них. В системах–коллективах вычислителей может быть применён нетрадиционный подход к контролю и диагностике:
· В качестве контрольно-диагностического ядра ВС могут быть использованы любые исправные вычислители и в пределе ядро любого произвольно выбранного вычислителя,
· Выбор ядра системы и определение её исправности могут быть произведены автоматически (с помощью средств ВС).
Предлагаемый подход позволяет говорить о самоконтроле и самодиагностике ВС. Заключение об исправности или неисправности отдельных вычислителей системы принимается коллективно всеми вычислителями на основе сопоставления их индивидуальных заключений об исправности соседних с ними вычислителей.
Технико-экономическая эффективность вычислительных систем. Конструктивная однородность позволяет резко сократить сроки разработки и изготовления систем, приводит к высокой технологичности производства, упрощает и статическую, и динамическую реконфигурации ВС, облегчает их техническую эксплуатацию. Она существенно упрощает процесс организации взаимодействий между вычислителями ВС и облегчает создание программного обеспечения. Полнота воплощения трёх основных принципов модели позволяет заметно ослабить зависимость между ростом производительности ВС и увеличением трудоёмкости их проектирования и изготовления, а также создания системного программного обеспечения. Они открывают возможность построения высокопроизводительных экономически приемлемых вычислительных систем при существующей физико-технологической базе. Более того, возможность неограниченно наращивать производительность позволяет применить для построения ВС микроэлектронные элементы с быстродействием, далеким от предельного, и следовательно, обладающие более высокой надежностью и меньшим энергопотреблением. В свою очередь, последнее приводит к снижению расходов на установку искусственного климата и содержание эксплуатационного персонала ВС.
- Категорная целостность;
- Целостность на уровне ссылок;
- Функциональные зависимости.
- Первый подход заключается в том, что вообще запрещается производить удаление кортежа, для которого существуют ссылки (т. е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа).
- При втором подходе при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится полностью неопределенным.
- Наконец, третий подход (каскадное удаление) состоит в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.
- Объединение двух отношений (С1 = А U В) предполагает, что на входе задано два односхемных отношения А и В. Результат объединения есть построенное по той же схеме отношение С, содержащее все кортежи А и все кортежи отношения В.
- Пересечение двух отношений (С2=А U В) предполагает на входе два односхемных отношения А и В. На выходе создается отношение по той же схеме, содержащее только те кортежи отношения А, которые есть в отношении В.
- Вычитание двух отношений (С3=А-В). Все три отношения строятся по одной схеме. В результирующее отношение С3 включаются только те кортежи из А, которых нет в отношении В.
- Декартово произведение (С4=А X В). Ее важное отличие от предшествующих состоит в том, что отношения А и В могут быть построены по разным схемам, а схема отношения С4 включает все атрибуты отношении А и В.
a b c | x y | = | a a b b c c | x y x y x y |
3.2 СПЕЦИАЛЬНЫЕ ОПЕРАЦИИ
- Операция селекция (горизонтальное подмножество) выполняется по строкам. На входе операции используется одно отношение. Результат выборки есть новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.
- Операция проекция (вертикальное подмножество). На входе операции используется одно отношение. Результирующее отношение включает подмножество атрибутов исходного. Каждому кортежу исходного отношения соответствует такой кортеж в результирующем отношении, что значения одинаковых атрибутов этих двух кортежей совпадают. Но при этом в результирующем отношении кортежи-дубликаты устраняются, в связи с чем мощность результирующего отношения может быть меньше мощности исходного.
- Операция соединение естественное. На входе операции используется два отношения; обозначим их А и В. В каждом из отношений выделен атрибут, по которому будет осуществляться соединение; предположим, это атрибуты А1 и Б2). Оба атрибута должны быть определены на одном и том же домене. Схема результирующего отношения включает все атрибуты А и все атрибуты отношения В. Допускается, чтобы в схеме результирующего отношения вместо двух атрибутов, по которым выполняется соединение, был представлен только один. Операция соединение похожа на декартово произведение. Отличие состоит в том, что декартово произведение предполагает сцепление, каждого кортежа из А с каждым кортежем из В, а в операции соединения кортеж из отношения А сцепляется только с теми кортежами из В, для которых выполнено условие: В1=А1.
a1 a2 a3 | b1 b1 b3 | b1 b2 b3 | c1 c2 c3 | → | a1 a2 a3 | b1 b1 b3 | c1 c1 c3 |
- Операция деление. На входе операции используется два отношения А и В. Пусть отношение А, называемое делимым, содержит атрибуты (А1,А2, ...,Аn). Отношение В – делитель -содержит подмножество атрибутов А; положим, (А1,А2, ...,Аk), где (k<n). Результирующее отношение С определено на атрибутах отношения А, которых нет и В, т.е. Аk+1, Аk+2 , ..., Аn. Кортеж включается в результирующее отношение только, если его декартово произведение с отношением В содержится в делимом-отношении А.
Операции реляционной модели данных предоставляют возможность произвольно манипулировать отношениями, позволяя обновлять БД, а также выбирать подмножества хранимых данных и представлять их в нужном виде.
Рассмотренные нами операции реляционной алгебры или алгебры отношений, позволяют пошагово описать процесс получения результирующего отношения.
4 НОРМАЛИЗАЦИЯ ОТНОШЕНИЙ
Одна из важнейших проблем проектирования схемы БД заключается в выделении типов записей (отношений), определении состава их атрибутов. Группировка атрибутов должна быть рациональной, т. е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления.
Сначала эти вопросы решались интуитивно. Однако интуиция может подвести даже опытного специалиста, поэтому Коддом был разработан в рамках реляционной модели данных аппарат, называемый нормализацией отношений. И хотя идеи нормализации сформулированы в терминологии реляционной модели данных, они в равной степени применимы и для других моделей данных.
Коддом выделено три нормальных формы отношений. Самая совершенная из них - третья. Предложен механизм, позволяющий любое отношение преобразовать к третьей нормальной форме. В процессе таких преобразований могут выделяться новые отношения.
Вначале введем понятие простого и сложного атрибута. Простым назовем атрибут, если значения его атомарны, т. е. неделимы. В противовес ему сложный атрибут может иметь значение, представляющее собой конкатенацию нескольких значений одного или разных доменов. Аналогами сложного атрибута может быть вектор, агрегат данных, повторяющийся агрегат.
4.1 ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА
Отношение называется нормализованным или приведенным к первой нормальной форме (1НФ), если все его атрибуты простые.
Ненормализованное отношение легко сделать нормализованным. Такое преобразование может привести к увеличению мощности отношения и изменению ключа.
Функциональная зависимость. Пусть Х и Y - два атрибута некоторого отношения, Говорят, что Y функционально зависит от X, если в любой момент времени каждому значению Х соответствует не более чем одно значение атрибута Y. Функциональную зависимость можно обозначить так: Х>Y.
Полная функциональная зависимость. Говорят, что неключевой атрибут функционально полно зависит от составного ключа, если он функционально зависит от ключа, но не находится в функциональной зависимости ни от какой части составного ключа.
4.2 ВТОРАЯ НОРМАЛЬНАЯ ФОРМА
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме и каждый неключевой атрибут функционально полно зависит от составного ключа.
Чтобы отношение привести ко второй нормальной форме, необходимо:
- построить его проекцию, исключив атрибуты, которые не находятся в полной функциональной зависимости от составного ключа;
- построить дополнительно одну или несколько проекций на часть составного ключа и атрибуты, функционально зависящие от этой части ключа.
Транзитивная зависимость. Пусть X, Y, Z - три атрибута некоторого отношения. При этом Х>Y и Y>Z, но обратное соответствие отсутствует, т. е. Z не> или Y не>Х. Тогда говорят, что Z транзитивно зависит от X.
4.3 ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА
Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. Рассматриваемая версия третьей нормальной формы часто называется нормальной формой Бойса-Кодда (НФБК).
4.4 ДРУГИЕ НОРМАЛЬНЫЕ ФОРМЫ
Первая нормальная форма запрещает таблицам иметь неатомарные, или многозначные атрибуты. Однако существует множество ситуаций моделирования, требующих многозначных атрибутов. Например, преподаватель в вузе отвечает за несколько дисциплин. Существует несколько решений, каждое из которых имеет определенные недостатки. Все они требуют лишней памяти из-за наличия пустых значений, либо из-за необходимости вводить избыточные данные. Те из них, в которых есть пустые значения, нарушают категорийную целостность, поскольку все атрибуты вместе составляют ключ таблицы. Эти кажущиеся связи между независимыми атрибутами можно исключить, потребовав, чтобы каждое значение атрибута сочеталось с каждым значением другого атрибута как минимум в одной строке. Условие, обеспечивающее независимость атрибутов путем обязательного повторения значений, называется многозначной зависимостью. Многозначная зависим
Наши рекомендации