Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
волошин.docx
Скачиваний:
7
Добавлен:
22.11.2019
Размер:
155.51 Кб
Скачать

19 .Клиент-серверные СУБД. Примеры. Достоинства, недостатки.

.Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно..Клиент-серверная СУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на серверКлиент может выполнять функции предварительной обработки перед передачей информации серверу, но в основном его функции заключаются в организации доступа пользователя к серверу.

Достоинства

  • быстродействие, надежность и удобство хранения данных любого объема;

  • наличие встроенных алгоритмов анализа данных;

  • наличие инструментов полнотекстового поиска;

  • наличие инструментов репликации данных;

  • снижение нагрузки на ЛВС и клиентское устройство

Недостатки:

  • высокая стоимость корпоративных версий СУБД;

  • повышение нагрузки на сервер приложений;

  • относительная сложность эксплуатации серверной части СУБД.

Типичные примеры: Microsoft SQL Server, MySQL, Oracle, PostgreSQL

20. Встраиваемые субд. Примеры. Достоинства, недостатки

Встраиваемая система управления базами данных — архитектура систем управления базами данных, когда СУБД тесно связана с прикладной программой и работает на том же компьютере, не требуя профессионального администрирования.

Встраиваемые СУБД применяются во многих программах, которые хранят большие массивы данных, но при этом не требуется доступ с многих компьютеров. На «рабочем столе» неопытного пользователя тоже есть программы, в которых может найтись встраиваемая СУБД: почтовые клиенты и мессенджеры (базы переписки),медиапроигрыватели (плейлисты и обложки), различные локальные БД наподобие телефонных справочников и геоинформационных систем (предоставляемые данные). Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы. Примеры: OpenEdgeSQLiteBerkeleyDBFirebird Embedded, Microsoft SQL Server CompactЛИНТЕР. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы влокальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы).

21. Параллельное выполнение операций.

Параллельные вычисления — вычисления, в которых операции производятся параллельно.

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

Очевидным способом увеличить скорость вычислений было бы применение не одного вычислительного устройства, а нескольких, работающих совместно над решением одной задачи. Такой подход носит название параллельных вычислений. Параллельные вычисления возможны тогда, когда отсутствует необходимость в завершении предыдущей операции для начала следующей. В качестве примера можно взять следующее выражение:

для того, чтобы произвести второе умножение не требуется знать результата первого, следовательно, оба умножения можно произвести параллельно, и только после этого произвести сложение. Очевидно, не каждое вычисление можно распараллелить. Выражение

,

можно вычислить только последовательно, сначала первое умножение, затем второе, и только после этого — сложение.

Существует два основных подхода к распараллеливанию вычислений в микропроцессорных системах, называемые однопоточным и многопоточным паралеллизмом. Различие заключается в использовании одного или нескольких потоков исполнения для паралельных вычислений.

  • Однопоточный паралеллизм заключается в параллельном выполнении операций внутри одного потока исполнения. Возможность однопоточного паралеллизма определяется архитектурой микропроцессора, а конкретно его способностью считывать из памяти и исполнять одновременно несколько операций.

  • Многопоточный паралеллизм — использование нескольких потоков для достижения параллельного исполнения операций. Для того, чтобы обеспечить многопоточный паралеллизм необходимо создать систему с несколькими процессорами или процессорными ядрами.

Принципы организации однопоточного и многопоточного паралеллизма, их особенности, достоинства и недостатки очень различны, и имеют мало общего как в реализации вычислительной системы, так и в построении программного обеспечения.

Однопоточный паралеллизм

Как уже написано выше, однопоточный паралеллизм реализуется внутри одного потока исполнения. Возможность однопоточного параллельного исполнения почти целиком лежит на архитектуре микропроцессора — именно она определяет способность микропроцессора выполнять инструкции параллельно.

Однопоточный паралеллизм обладает своими достоинствами и недостатками. Достоинства:

  • Отсутствие необходимости синхронизации — все операции выполняются внутри одного потока, и, следовательно, в строго определённой последовательности.

  • Отсутствие необходимости поддержки паралеллизма на уровне операционной системы.

  • Отсутствие необходимости в средствах управления разделяемыми ресурсами (арбитража).

Недостатки:

  • Затруднённость использования в алгоритмах с условными переходами.

  • Необходимость адаптации программы для эффективного использования ресурсов микропроцессора, например, при переходе с одной модели на другую.

Многопоточный паралеллизм

Поэтому были разработаны специальные технологии для создания многопроцессорных систем. Которые позволяли обрабатывать данные параллельно, а, следовательно, быстрее. Соответственного создавались операционные системы поддерживающие многопроцессорные технологии. Такие как: Solaris (Sun Microsystems), Unix-подобные OS: Irix (SGI), AIX (IBM); Linux RedHat; Windows XP. Рассмотрим операционную системы Solaris версии 2.4. Solaris 2.4 - это Unix-подобная система, разработанная Sun Microsystems.

В операционной системе Solaris 2.4 существует такое понятие как поток. Поток (thread) — это последовательность инструкций выполняемых в пределах контекста процесса. Эта операционная система поддерживает многопоточные процессы. Слово «многопоточные» подразумевает содержание множества управляемых потоков. Традиционный UNIX процесс содержит один управляемый поток. Многопоточный в свою очередь содержит множество потоков, которые выполняются независимо. Так как каждый поток выполняется независимо, распараллеливание кода программы приводит к:

  • Улучшению чувствительности приложения,

  • Использование многопроцессорности более эффективно,

  • Улучшает структуру программы,

  • Использование меньше ресурсов системы,

  • Улучшение представления

Определение одновременного и параллельного исполнения. Одновременность имеет место, когда не меньше двух потоков в процессе в одно время. Параллельность возникает, когда не меньше двух потоков выполняются одновременно. В многопоточном процессе на одном процессоре, процессор может распределять ресурсы между потоками, в результате получаем одновременное выполнение. В похожем многопоточном процессе на общей памяти в многопроцессорной системе, каждый поток в процессе может выполняться на отдельном процессоре в одно и то же время, в результате получаем параллельное выполнение. Когда процесс имеет столько же потоков, или меньше, сколько и процессоров, то система поддержки потоков и операционная система «уверены», что каждый поток исполняется на своём процессоре.

Потоки видны только внутри процесса, когда они разделяют ресурсы процесса такие, как адресное пространство, открытые файлы, и т. д. Каждая нить имеет уникальные ID, регистр, стек, маску, приоритет. Т.к. потоки делят инструкции процесса и большинство данных, изменения данных одним потоком видно другими потоками в процессе. Когда поток должен взаимодействовать с другими потоками процесса, он может сделать это без привлечения операционной системы. Потоки это главный программный интерфейс в многопоточном программировании. Потоки пользовательского уровня управляются в пользовательском пространстве и поэтому могут запрещать контекстному ядру переключение ресурсов. Приложение может иметь тысячи потоков, и не потреблять много ресурсов ядра. Количество ресурсов ядра, потребляемых приложением, во многом определяется самим приложением. По умолчанию потоки «легковесны». Для получения большего контроля за потоками, приложение может ограничивать потоки. Использование большего числа процессоров ускоряет работу программы и не сильно усложняет работу программистов. Следовательно, при работе с большим количеством данных рациональнее использовать многопроцессорные системы.

22. Суперкомпьютеры. Отличительные признаки суперкомпьютеров. Достоинства, недостатки.

Суперкомпьютер – вычислительная машина, значительно превосходящая по своим техническим параметрам большинство существующих компьютеров.

Традиционной сферой применения суперкомпьютеров всегда были научные исследования: физика плазмы и статистическая механика, физика конденсированных сред, молекулярная и атомная физика, теория элементарных частиц, газовая динамика и теория турбулентности, астрофизика Суперкомпьютеры традиционно применяются для военных целей

Отличительные признаки суперкомпьютеров:

  1. Высокая производительность.

  2. Объединение вычислительных узлов по специальной высокоскоростной шине.

  3. Идентичность вычислительных узлов.

  4. Специализированное системное программное обеспечение.

Достоинства:

  1. Высокая производительность

Недостатки:

  1. Высокая стоимость внедрения и эксплуатации

Специальное оборудование и программное обеспечения