Основные характеристики и особенности серверов реферат

Обновлено: 05.07.2024

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

  • Конструктивное исполнение
    • Башенный
    • Стоечный
    • Блейд
    • Начальный, Entry
    • Эконом, Value
    • Бизнес, Mid range
    • Бизнес, Hi-End
    • Платформа
    • Количество ядер, сокетов
    • Чипсет
    • Тактовая частота
    • Производитель
    • Модель, поколение
    • Тип дисков: HDD, SSD
    • Тип интерфейса SAS, SATA, NVM(e)
    • Резервирование, RAID

    В 1-й части статьи рассмотрим конструктивное исполнение, уровень и форм-факторы серверов.

    Конструктивное исполнение

    Можно выделить три основных вида конструктивного исполнения: башенный (Tower), стоечный (Rack) и блейд (Blade) сервер.

    Башенный сервер (Tower)

    Сервер в корпусе типа Tower – это мощный компьютер, который выполнен в вертикальном корпусе. Такой сервер может подойти для офиса небольшой организации, у которой нет возможности оборудовать собственный дата-центр, который бы содержал стоечные или блейд-серверы. Либо, это может быть локальный сервер небольшого отдела.

    Рис. 1-1. Башенный сервер начального уровня, вид спереди и сзади (источник: Dell).

    Стоечный сервер

    Стоечный (Rack) сервер предназначен для установки в стандартную 19-дюймовую стойку в дата-центре. На рисунке показаны стоечные серверы (рядом с желтой лентой).

    Рис. 1-2. Стоечные серверы (источник: Dell).

    Блейд-серверы

    Блейд (Blade) серверы также можно увидеть на рис. 1-2 выше и ниже стоечных серверов. Однако, если стоечный сервер – полностью законченный продукт с источником питания и сетевой картой, и в общем, может быть включен в работу и вне стойки, то блейд-сервер использует общие ресурсы источника питания и сетевых интерфейсов в стойке.

    Уровень сервера и форм-фактор

    Уровень сервера тесно связан с параметром форм-фактора.

    Серверы можно подразделить на четыре основных уровня: Начальный (Entry), Эконом (Value), Бизнес средний (Mid range), Бизнес верхнего уровня (Hi-End).

    Юнит (U) – это монтажная единица высоты сервера, то есть пространство, которое он занимает в стойке. Один U имеет высоту 4.445 см. На рис. 2 видны два стоечных сервера высотой 2U, один стоечный сервер высотой 1U, а также два блейд-сервера высотой 2U каждый.

    Как правило, чем выше уровень сервера, тем больше юнитов (U) имеет его форм-фактор.

    Начальный (Entry) уровень

    Серверы начального уровня предназначены для небольших предприятий и рабочих групп, а также для домашнего использования. Это могут быть башенные серверы, либо стоечные или блейд-серверы, если они расположены в общем дата-центре. Как правило, это серверы форм-фактора 1U или 2U.

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

    Рис. 1-3. Параметры серверов начального уровня (источник: Intel).

    Эконом-уровень (Value)

    Средний бизнес-уровень (Midrange)

    Серверы Midrange предназначены для нужд небольших и средних бизнес-предприятий и организаций, которым не требуется очень высокая мощность вычислений, но всё же требования выше, чем к серверу эконом-класса.

    Они занимают широкую нишу между серверами класса Hi-End и большими компьютерами (mainframes). К этому классу относятся, например, серверы Power Systems компании IBM, которые предназначены как для бизнес- так и научных приложений.

    Рис. 1-4. Серверы Mid-Range (источник: IBM).

    Серверы бизнес-класса Hi-End

    Серверы класса Hi-End обычно требуются для задач с высокой вычислительной активностью, например, это может быть хостинг для веб-проектов различной сложности: онлайн-магазинов и форумов с высокой посещаемостью, онлайн-игр, платёжных сервисов и многих других интернет-проектов, требующих уникальной конфигурации сервера.

    К серверам класса Hi-End относятся также видео-серверы для стриминга видео, для производства видео в высоком разрешении и пр.

    Серверы Hi-End также применяются для систем видеонаблюдения уровня крупного предприятия, финансового или государственного учреждения, которые могут одновременно обрабатывать изображения с сотен и тысяч видеокамер и анализировать объекты. Они могут быть выполнены в Rack и Tower исполнении.

    Рис. 1-5. Hi-End сервер HP Superdome X на платформе Intel x86 в исполнении Rack (источник: НРЕ).

    Сервер как выделенный компьютер, его структура и назначение, типы и формы, характеристики. Закономерности размещения и обслуживания. Data-центр и его функциональные особенности. Объединение серверов в кластеры, принципы их работы и анализ возможностей.

    Рубрика Программирование, компьютеры и кибернетика
    Вид курсовая работа
    Язык русский
    Дата добавления 25.12.2016
    Размер файла 295,0 K

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

    Курсовая работа

    Типы серверов

    1. Сервер - выделенный компьютер

    Семрвер (англ. server от англ. to serve - служить, мн. ч. семрверы) - специализированный компьютер и / или специализированное оборудование для выполнения на нём сервисного

    Серверы Википедии в Тампа, Флорида

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

    Некоторые сервисные задачи могут выполняться на рабочей станции параллельно с работой пользователя. Такую рабочую станцию условно называют невыделенным сервером.

    Консоль (обычно - монитор / клавиатура / мышь) и участие человека необходимы серверам только на стадии первичной настройки, при аппаратно-техническом обслуживании и управлении в нештатных ситуациях (штатно, большинство серверов управляются удалённо). Для нештатных ситуаций серверы обычно обеспечиваются одним консольным комплектом на группу серверов (с коммутатором, например KVM-переключателем, или без такового).

    На сегодняшний день существуют следующие типы серверов [1] :

    Звуковой сервер (англ.) русск.

    Сервер базы данных

    Сервер связи (англ.) русск.

    Факс-сервер (англ.) русск.

    2. Специализация

    Сервер высотой 1U

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

    память обеспечивает повышенную устойчивость к сбоям. Например для i386-совместимых серверов, модули оперативной памяти и кэша имеет усиленную технологию коррекции ошибок (англ. Error Checking and Correction, ECC). На некоторых других платформах, например SPARC (Sun Microsystems), коррекцию ошибок имеет вся память. Для собственных мэйнфреймов IBM разработала специальную технологию Chipkill™.

    Повышение надёжности сервера достигается резервированием, в том числе с горячими подключением и заменой (англ. Hot-swap) критически важных компонентов: при необходимости вводится дублирование процессоров (например, это важно для непрерывности выполнения сервером задачи долговременного расчёта - в случае отказа одного процессора вычисления не обрываются, а продолжаются, пусть и на меньшей скорости) блоков питания, жёстких дисков в составе массива RAID и самих контроллеров дисков, групп вентиляторов, обеспечивающих охлаждение компонентов сервера.

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

    Размеры и другие детали внешнего исполнения

    Серверы (и другое оборудование), которые требуется устанавливать на некоторое стандартное шасси (например, в 19-дюймовые стойки и шкафы), приводятся к стандартным размерам и снабжаются необходимыми крепёжными элементами.

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

    Конструктивно аппаратные серверы могут исполняться в настольном, напольном и стоечном вариантах. Последний вариант обеспечивает наибольшую плотность размещения вычислительных мощностей на единицу площади, а также максимальную масштабируемость. С конца 1990-х всё большую популярность в системах высокой надёжности и масштабируемости получили так называемые блейд-серверы (от англ. blade - лезвие) - компактные модульные устройства, позволяющие сократить расходы на электропитание, охлаждение, обслуживание и т.п.…

    По ресурсам (частота и количество процессоров, количество памяти, количество и производительность жёстких дисков, производительность сетевых адаптеров) серверы специализируются в двух противоположных направлениях - наращивании ресурсов и их уменьшении.

    Наращивание ресурсов преследует целью увеличение ёмкости (например, специализация для файл-сервера) и производительности сервера. Когда производительность достигает некоторого предела, дальнейшее наращивание продолжают другими методами, например, распараллеливанием задачи между несколькими серверами.

    Уменьшение ресурсов преследует цели уменьшения размеров и энергопотребления серверов.

    Программное обеспечение в аппаратных решениях загружается в постоянную и / или энергонезависимую память производителем.

    Аппаратные решения, как правило, более надёжны в работе, чем обычные серверы, но менее гибки и универсальны. По цене, аппаратные решения могут быть как дешевле, так и дороже серверов, в зависимости от класса оборудования.

    Вычислительная мощность компьютера (производительность компьютера) - это количественная характеристика скорости выполнения определённых операций на компьютере. Чаще всего вычислительная мощность измеряется во флопсах (количество операций с плавающей запятой в секунду), а также производными от неё. На данный момент принято причислять к суперкомпьютерам системы с вычислительной мощностью более 10 терафлопсов (10*10 12 или десять триллионов флопсов; для сравнения среднестатистический современный настольный компьютер имеет производительность порядка 0.1 терафлопса). Одна из наиболее мощных на тесте HPL компьютерных систем - китайский Sunway TaihuLight - имеет производительность, превышающую несколько десятков петафлопсов [1] .

    Масштабируемость бывает вертикальная и горизонтальная. Под вертикальной масштабируемостью подразумевается создание одной системы с множеством процессоров, а под горизонтальной - объединение компьютерных систем в единый виртуальный вычислительный ресурс. Каждый из этих подходов рассчитан на использование в различных областях. Так, горизонтальное масштабирование лучше всего подходит для балансировки нагрузки Web-приложений, а вертикальное масштабирование лучше всего подходит для больших баз данных, управлять которыми на одной системе проще и эффективнее.

    Так же бывает программная масштабируемость.

    Размещение и обслуживание

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

    Что такое Дата-центр и зачем он так нужен?

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

    Фактически предназначение коммерческого Дата центра заключается в предоставлении клиентам услуг, связанных с обеспечением надежности и отказоустойчивости хранения и обработки информации (текстовые, графические, цифровые и другие данные), для обеспечения работоспособности крупных интернет-порталов, для объемных вычислений.

    Дата-центр предоставляет специальные защищенные каналы для осуществления международной связи. Гарантированные безопасность, надежность дата-центра, а также максимальная скорость сейчас являются коммерчески востребованными на мировом рынке.

    Основные услуги Дата-центра

    Основными услугами являются:

    · Colocation (физическое размещение серверов)

    Также существует ряд и дополнительных услуг:

    · Резервное копирование (бэкап)

    · Удаленный рабочий стол

    Технологии, применяемые в дата-центрах

    Высокотехнологичная инфраструктура, которая обеспечивает бесперебойную работу оборудования в ЦОД - главная характеристика современного дата-центра. Для этого площадка Дата-центра оборудуется системами климат контроля, бесперебойного электропитания, безопасности и др. системами жизнеобеспечения.

    Итак, Основными техническими характеристиками надежного датацентра являются:

    · Наличие специального здания, предназначенного для размещения дата-центра

    · Гарантированные система электропитания и кондиционирования.

    · Промышленная система вентиляции.

    · Система автоматического пожаротушения.

    · Наличие охраны и контроля доступа.

    · Наличие дизельного генератора.

    · Доступ 24/7 к серверному оборудованию как для персонала, так и для клиентов.

    Часто дата-центры располагают непосредственно в близости от точки присутствия нескольких операторов связи или узла связи, чтобы обеспечить моментальный обмен гигантских объемов данных и быструю загрузку данных из любой точки мира. Ключевым критерием оценки надежности ЦОД является аптайм (uptime), т.е. время доступности сервера.

    Все просто, не правда ли? Теперь перейдем ко второй части нашей статьи.

    Зачем так нужен Дата-центр?

    На первый взгляд вопрос кажется простым, ведь сервера и другое оборудование для работы необходимо где-то размещать, но зачем строить для этого целые здания, если можно обойтись серверным помещением. Прежде всего, ответ заключается в экономической выгоде. Консолидация вычислительных ресурсов и средств хранения данных в ЦОД позволяет уменьшить общую стоимость эксплуатации IT-ресурсов.

    Специалисты выделяют следующие пути оптимизации финансовых затрат при условии размещения оборудования в коммерческом ЦОД:

    · отсутствие необходимости создания собственной инфраструктуры;

    · скидки на интернет-подключение, поскольку датацентр имеет собственные подключения к основным Интернет-узлам;

    · сокращение расходов на администрирование благодаря обслуживанию серверов сотрудниками дата-центра;

    · уменьшение арендной платы в связи с отсутствием занимаемой серверами площади;

    · перераспределение нагрузок, с целью более оперативного решения бизнес-задач.

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

    Объединение серверов в кластеры

    Кластер - это группа компьютеров, которые работают вместе и составляют единый унифицированный вычислительный ресурс. Хотя кластер и состоит из…

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

    Разработка кластерных версий основных приложений уровня предприятия (таких как Oracle 9i с Real Application Clusters (RAC)) и компонентного программного обеспечения (такого как виртуальная машина Java J2EE), позволяющих распределять ПО между несколькими серверами, способствовала повышению интенсивности использования кластеров на уровне предприятия.

    Для корпорации Intel это означает, что процессоры на базе архитектуры Intel будут все шире использоваться для обслуживания приложений в вычислительных центрах, что до недавнего времени оставалось прерогативой мейнфреймов и больших многопроцессорных RISC-серверов.

    Объединение в кластеры начинает практиковаться и в сфере высокопроизводительных вычислений. Высокоскоростные межкомпонентные соединения в сочетании с двухпроцессорными системами, обладающими прекрасными показателями производительности при выполнении операций с целыми числами и плавающей запятой, делают возможным создание очень больших кластеров для решения таких задач, как моделирование катастроф, вычисления в области гидроаэродинамики и финансовое моделирование. Ряд коммерческих и научных организаций (таких как CERN и TeraGrid) уже используют кластеры из двухпроцессорных серверов на базе процессора Intel Itanium 2 для решения задач, требующих высокой производительности.

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

    2. Объединение в кластеры - путь в вычислительные центры

    Технология объединения в кластеры применяется уже более 20 лет. Традиционно она использовалась для обеспечения надежности, готовности, удобства в обслуживании, эксплуатации и управлении - за счет таких функций, как горячее резервирование и переключение при отказе. Хотя эта технология и позволяла повысить надежность и готовность малых систем до уровня больших систем, весь потенциал производительности таких кластеров из-за ограничений программного обеспечения реализовать все равно было невозможно.

    Особенно популярно объединение в кластеры тех серверов, которые обслуживают внешние приложения (web-серверы, межсетевые защитные экраны и прокси-серверы), а в последнее время - и серверов среднего уровня (обслуживающих приложения для бизнеса). Научные организации - например, CERN (Европейский центр ядерных исследований), который переводит крупный кластер рабочих станций на базе процессоров Intel Xeon на процессоры Intel Itanium, уже давно использует кластеры для выполнения самых сложных научных расчетов.

    Объединение серверов в кластеры имеет следующие преимущества:

    масштабируемость - многие современные кластеры построены на основе стандартных структурных компонентов, рассчитанных на обработку больших объемов данных, что делает наращивание ресурсов по мере необходимости сравнительно простым и экономически эффективным.

    Объединение серверов в кластеры является ключевой областью применения архитектуры Intel и прекрасным примером того, как продукция для обработки больших объемов данных, основанная на отраслевых стандартах (например, процессорах семейств Intel Xeon и Intel Itanium), может оказаться в сердце решений самых сложных вычислительных проблем.

    Типы объединения в кластеры для внутренних приложений

    Существует две модели объединения в кластеры, каждая из которых имеет свои преимущества и недостатки.

    Корпорация Intel и будущее технологии объединения в кластеры

    Подобные документы

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

    реферат [16,5 K], добавлен 06.04.2012

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

    курсовая работа [1,3 M], добавлен 26.08.2010

    Особенности программной архитектуры клиент-сервер, взаимодействие серверов и пользователей сети Интернет согласно сетевым протоколам. Классификация служб по выполняемым функциям: доступ к гипертекстовому контенту, файлам, проведение телеконференций.

    реферат [31,5 K], добавлен 12.07.2015

    Файл-серверы как источник распространения вирусов. Антивирусное ПО для серверов локальных сетей и почтовых серверов. Антивирус Касперского. Doctor Web. Symantec - автоматизированная защита предприятия. Panda - рабочие станции и файловые серверы.

    реферат [30,1 K], добавлен 11.02.2008

    Основные понятия серверов. Модель клиент-сервер. Классификация стандартных серверов. Недостатки файл-серверной системы. Криптографические методы защиты информации. Серверы удаленного доступа. Методы и средства обеспечения безопасности информации.

    Группа компаний, объединенных под общим названием Bull, является одним из крупнейших производителей информационных систем на мировом компьютерном рынке и имеет свои отделения в Европе и США. Большая часть акций компании принадлежит французскому правительству. В связи с происходившей в последнем пятилетии перестройкой структуры компьютерного рынка компания объявила о своей приверженности к направлению построения открытых систем. В настоящее время компания продолжает выпускать компьютеры класса мейнфрейм (серии DPS9000/900, DPS9000/800, DPS9000/500) и среднего класса (серии DPS7000 и DPS6000), работающие под управлением фирменной операционной системы GCOS8, UNIX-системы (серии DPX/20, Escala), а также широкий ряд персональных компьютеров компании Zenith Data Systems (ZDS), входящей в группу Bull.

    Активность Bull в области открытых систем сосредоточена главным образом на построении UNIX-систем. В результате технологического соглашения с компанией IBM, в 1992 году Bull анонсировала ряд компьютеров DPX/20, базирующихся на архитектуре POWER, а позднее в 1993 году на архитектуре PowerPC и работающих под управлением операционной системы AIX (версия системы UNIX компании IBM). Версия ОС AIX 4.1, разработанная совместно специалистами IBM и Bull, поддерживает симметричную многопроцесоорную обработку.

    Архитектура PowerScale, представляет собой первую реализацию симметричной мультипроцессорной архитектуры (SMP), разработанной Bull специально для процессоров
    PowerPC. В начале она была реализована на процессоре PowerPC 601, но легко модернизируется для процессоров 604 и 620. Эта новая SMP-архитектура используется в семействе систем Escala.

    Архитектура процессоров PowerPC

    Основой архитектуры PowerPC является многокристальная архитектура POWER, которая была разработана прежде всего в расчете на однопроцессорную реализацию процессора. При разработке PowerPC для удовлетворения потребностей трех различных компаний (Apple, IBM и Motorola) в архитектуре POWER было сделано несколько изменений в следующих направлениях:

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

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

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

    В симметричной мультипроцессорной системе все процессоры считаются функционально эквивалентными и могут выполнять операции ввода/вывода и другие вычисления. Возможности управления подобной системой с разделяемой памятью реализованы в ОС AIX 4.1.

    Разработанное Bull семейство Escala обеспечивает масштабируемость и высокую готовность систем, центральным местом которых является симметричная мультипроцессорная архитектура, названная PowerScale, позволяющая производить постепенную модернизацию и объединять в системе от 1 до 8 процессоров.

    Проблемы реализации SMP-архитектуры

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

    Главным преимуществом архитектуры SMP по сравнению с другими подходами к реализации мультипроцессорных систем является прозрачность для программных приложений. Этот фактор существенно улучшает время выхода на рынок и готовность традиционных коммерческих приложений на системах SMP по сравнению с другими мультипроцессорными архитектурами.

    В современных системах SMP наиболее актуальным вопросом разработки является создание высокопроизводительной подсистемы памяти для обеспечения высокоскоростных RISC-процессоров данными и командами. Общее решение этой проблемы заключается в использовании большой высокоскоростной кэш-памяти, т.е. в создании иерархии памяти между процессорами и разделяемой глобальной памятью. Архитектура PowerScale предлагает новый подход к решению вопросов традиционного узкого горла, ограничивающего производительность SMP-систем, а именно, новую организацию управления кэш-памятью и доступа к памяти.

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

    • Из-за малой вероятности нахождения соответствующих данных в кэш-памяти возникает весьма интенсивный трафик между системной памятью и кэшами ЦП. Поэтому очень важно сконструировать систему, обеспечивающую широкополосный доступ к памяти.
    • В традиционной SMP-системе по умолчанию одна из задач планировщика заключается в том, чтобы запустить следующий разрешенный для выполнения процесс на первом же процессоре, который становится свободным. Поэтому по мере того, как увеличивается число процессоров и процессов, вероятность перемещения процессов с одного процессора на другой, также увеличивается. Эта побочная миграция процессов приводит к существенному увеличению уровня трафика между кэшами ЦП. Поэтому ключевым вопросом обеспечения высокой системной производительности становится физическая реализация когерентности кэш-памяти.

    В традиционной SMP-архитектуре связи между кэшами ЦП и глобальной памятью реализуются с помощью общей шины памяти, разделяемой между различными процессорами. Как правило, эта шина становится слабым местом конструкции системы и стремится к насыщению при увеличении числа инсталлированных процессоров. Это происходит потому, что увеличивается трафик пересылок между кэшами и памятью, а также между кэшами разных процессоров, которые конкурируют между собой за пропускную способность шины памяти. При рабочей нагрузке, характеризующейся интенсивной обработкой транзакций, эта проблема является даже еще более острой.

    В архитектуре PowerScale компании Bull интерфейс памяти реализован с учетом указанного выше профиля приложений и рассчитан на использование нескольких поколений процессоров со все возрастающей производительностью. В действительности архитектура PowerScale с самого начала была разработана в расчете на поддержку до 8 процессоров PowerPC 620.

    Описание архитектуры PowerScale

    В архитектуре PowerScale (рис. 4.1) основным средством оптимизации доступа к разделяемой основной памяти является использование достаточно сложной системной шины. В действительности эта "шина" представляет собой комбинацию шины адреса/управления, реализованной классическим способом, и набора магистралей данных, которые соединяются между собой посредством высокоскоростного матричного коммутатора. Эта система межсоединений получила название MPB_SysBus. Шина памяти используется только для пересылки простых адресных тегов, а неблокируемый матричный коммутатор - для обеспечения более интенсивного трафика данных. К матричному коммутатору могут быть подсоединены до 4 двухпроцессорных портов, порт ввода/вывода и подсистема памяти.

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

    Ниже приведена схема, иллюстрирующая общую организацию доступа к памяти (рис. 4.2) Каждый процессорный модуль имеет свой собственный выделенный порт памяти для пересылки данных. При этом общая шина адреса и управления гарантирует, что на уровне системы все адреса являются когерентными.

    Вопросы балансировки нагрузки

    В процессе разработки системы был сделан выбор в направлении использования больших кэшей второго уровня (L2), дополняющих кэши первого уровня (L1), интегрированные в процессорах PowerPC. Это решение породило необходимость более глубокого рассмотрения работы системы в целом. Чтобы получить полное преимущество от использования пространственной локальности данных, присутствующих в кэшах L2, необходимо иметь возможность снова назначить ранее отложенный процесс на процессор, на котором он ранее выполнялся, даже если этот процессор не является следующим свободным процессором. Подобная "настройка" системы является основой для балансировки нагрузки и аналогична процессу планирования.


    Рис. 4.1. Архитектура PowerScale

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


    Рис. 4.2. Схема организации доступа к памяти

    Модель памяти

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

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

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

    Подсистема памяти

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

    Компания Bull разработала патентованную архитектуру, в которой массив памяти полностью расслоен до уровня длины строки системного кэша (32 байта). Такая организация обеспечивает минимум конфликтов между процессорами при работе подсистемы памяти и гарантирует минимальную задержку. Требование реализации глобальной памяти обеспечивается тем, что массив памяти для программных средств всегда представляется непрерывным.

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

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

    Использование серверов приложений — следующий шаг за клиент-серверной технологией, позволяющий повысить доступность и надежность информационной системы предприятия. Но мне кажется, что самым важным преимуществом сервера приложений является его большая гибкость, что очень ценно для крупных предприятий. Способность предприятия максимально быстро реагировать на изменение состояния рынка и окружающей среды позволяет ему оставаться конкурентоспособным.

    Назначение

    В своей простейшей интерпретации такой компьютер может представлять собой типичный Web-сервер или сервер приложений, который просто знает, как передавать документы, составленные на стандартном для беспроводных устройств языке. Часто в качестве такого языка выступает Wireless Markup Language (WML). Адаптация Web-сервера для работы в качестве беспроводного сервера, способного обрабатывать документы WML-типа, обычно сводится просто к тому, чтобы обучить сервер распознаванию этих документов. Web-серверу требуется только сообщить клиенту, что документ составлен в формате для беспроводных устройств, и на этом его работа заканчивается.

    Технические характеристики

    Серверы приложений относят к приложениям промежуточного слоя (middleware). Существует несколько категорий продуктов промежуточного слоя:

    В настоящее время есть несколько серверов приложений таких крупных компаний, как Sun Microsystems, Borland, IBM, Oracle, и каждый из них отличается набором предоставляемых сервисов (производительность в данном случае учитывать не будем). Эти сервисы облегчают программирование и развертывание приложений масштаба предприятия. Вы можете использовать уже готовые строительные блоки для реализации необходимой бизнес-логики.

    Основные решаемые задачи

    Инсталляция и администрирование пользовательских библиотек

    Процесс инсталляции заключается в размещении пользовательских библиотек в соответствующие каталоги. Возможны два вида пользовательских библиотек: общие и частные. Общие библиотеки пользователей должны находиться в каталоге %AS_DIR%\lib. Там находится библиотека стандартных функций lib.dll. Свои частные библиотеки каждый пользователь должен помещать в специально отведённый для них каталог %AS_DIR%\lib\ .

    Каждый пользователь имеет доступ только к своим частным библиотекам. Общие библиотеки доступны всем пользователям.

    При подключении библиотеки с помощью оператора OPEN LIBRARY интерпретатор в поисках данной библиотеки просматривает сначала каталог, содержащий частные библиотеки пользователя. Если библиотека с таким именем не найдена, то интерпретатор просматривает каталог, в котором хранятся общие библиотеки пользователей. В случае совпадения имён частной и общей библиотек, интерпретатор подключает частную библиотеку пользователя.

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

    Обмен данными между интерпретатором ASPL и внешними хранимыми процедурами

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

    Создание пользовательских библиотек

    Пользовательские библиотеки создаются по общим правилам построения динамически подключаемых библиотек (см. приложение). Наряду с этим есть некоторые особенности, относящиеся к передаче входных и выходных значений библиотечных функций. Любая библиотечная функция должна в явном виде извлекать входные значения из стека и помещать в стек выходные значения. Это объясняется тем, что интерпретатор заранее не может знать о количестве передаваемых параметров. Поэтому перед передачей управления функции интерпретатор помещает в стек входные значения, не проверяя их количество, а функция, получив управление, извлекает входные значения из стека и проверяет их число. После вычисления выходных значений функция должна поместить их в стек. Для того чтобы отличать библиотечные функции от стандартных функций языка C, все функции, входящие в пользовательские библиотеки, должны иметь префикс as_ и быть объявлены следующим образом:

    Для извлечения входных значений из стека служит функция Pop(). Она возвращает значение типа VALUE, так как в стеке содержатся значения только этого типа. Для того чтобы привести переменную типа VALUE к требуемому типу, нужно воспользоваться одной из функций вида GetAs (VALUE *), где Type - требуемый тип. Проверка стека на наличие в нём значений осуществляется с помощью функции IsStackEmpty().

    После вычисления выходных значений, они должны быть приведены к типу VALUE с помощью одной из функций вида Make (VALUE*, ). Затем выходные значения заносятся в стек с помощью функции Push(VALUE*) или Return (VALUE*). Эти функции идентичны.

    В качестве примера рассмотрим функцию нахождения синуса as_sin, содержащуюся в библиотеке стандартных функций lib.dll.

    void as_sin ( void ) /*Объявление функции*/

    if (IsStackEmpty() ) /*Проверка числа параметров*/

    AS_ERROR ("Illegal use of sin function.");

    v = Pop(); /*Извлечение входного значения из стека*/

    f = GetAsDouble (&v); /*Приведение входного значения к типу Double*/

    MakeDouble (&v, f); /*Приведение выходного значения к типу VALUE*/

    Return ( &v ); /*Занесение выходного значения в стек*/

    Использование пользовательских библиотек

    Для использования функций из пользовательской библиотеки соответствующая библиотека должна быть подключена с помощью оператора OPEN LIBRARY . После этого функции, входящие в библиотеку, могут быть вызваны оператором CALL:

    Если функция возвращает только одно значение, то её можно использовать в выражениях, например, f = sin(x).

    Замечание. При вызове функций, входящих в пользовательские библиотеки, к имени функции не нужно добавлять префикс as_, так как интерпретатор делает это автоматически. Например, рассмотренную выше функцию as_sin следует вызывать CALL sin(x) RETURNING x.

    Особенности работы и конфигурирования

    Преимущества серверов приложений:

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

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

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

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

    Устанавливаемое программное обеспечение

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

    Это основные блоки, которые может предоставлять тот или иной сервер приложений.

    Заключение

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

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

    Читайте также: