Основы AS/400
Шрифт:
Наконец, современные процессоры не выбирают информацию из памяти и не записывают ее туда непосредственно. Кэш-память содержит порции основной памяти и имеет собственный справочник. В зависимости от архитектуры кэш-памяти на данном компьютере и от того, есть ли разряды виртуального адреса в справочнике кэша, при переключении процесса может потребоваться очистка кэша. А при использовании одноуровневой памяти это не нужно.
Операционные системы, предназначенные для работы с обычной виртуальной памятью, чаще всего пытаются избежать большого числа переключений процессов из-за неизбежных накладных расходов. Но если это не удается, для эффективной работы таким системам нужен высокопроизводительный процессор.
По
Благодаря способности быстро переключаться между процессами, производительность AS/400 в интерактивном режиме очень высока. Еще System/38 и первые AS/ 400 были оптимизированы для интерактивных приложений обработки транзакций. К AS/400 могут быть подключены любые терминалы. Одна такая большая система легко может поддерживать несколько тысяч параллельных пользователей, далеко превосходя в этом своих конкурентов, таких как Unix или Windows NT. Работая с приложениями, требующими частых переключений процессов, AS/400 способна превзойти по производительности системы с более быстрыми процессорами, так как выполняет меньше команд.
Теперь рассмотрим среду, не требующую частых переключений процессов, например, среду пакетной обработки, где один процесс исполняется в течение долгого времени. Здесь скорость переключения процессов не играет существенной роли. Ранние системы AS/400 не очень хорошо работали в пакетном режиме — сказывалась недостаточная производительность процессора [ 64 ] .
Дело в том, что в ранних версиях рочестерских систем никогда не использовались высокопроизводительные процессоры. Доходило даже до того, что при описании характеристик различных моделей AS/400, не указывались скорости процессоров в MIPS (миллион команд в секунду) или МГц.
64
Я хочу предупредить возражения моих друзей — специалистов в области производительности — и, прежде всего, Рича Тернера (Rich Turner). Действительно, производительность пакетной обработки зависит не только от скорости процессора. Важную роль играют и размер памяти, и возможности дисковой подсистемы.
Подобно тому, как MIPS указывает, сколько команд процессор может выполнить в секунду, МГц задает число тактов за секунду. Если два разных процессора должны для выполнения одной и той же задачи выполнить одинаковое количество команд, и по всем остальным параметрам наблюдается такое же равенство, то значения MIPS или МГц могут дать некоторое представление о производительности процессоров. Но если для выполнения одной и той же работы процессорам нужно разное число команд, то ни MIPS, ни МГц не имеют никакого значения.
В Рочестере всегда настаивали на оценке объема работ, который может выполнить AS/400, в таких показателях, как число транзакций в секунду. Лаборатория IBM в Ро-честере — лидер в создании промышленных тестов для обработки транзакций. Здесь в тесном контакте с Transaction Processing Performance Council измеряются показатели TPC для вычислительных систем. Эти показатели также призваны
Интерактивная обработка подразумевает присоединение к AS/400 терминалов, таких как 5250. Такие функции, как обновление полей на экране требуют много переключений процессов, особенно в случае подключения сотен или тысяч терминалов. При переходе в начале 90-х годов к клиент/серверным вычислениям, большая часть экранной обработки стала выполняться на ПК (клиент). Тем самым число переключений процессов на AS/400 (сервер) сократилось. Но многие характеристики клиент/серверных вычислений по-прежнему напоминают интерактивную обработку. Когда сотни или тысячи пользователей одновременно нажимают клавиши на клавиатуре или щелкают мышью, обращаясь к базе данных и ожидая затем ответа, быстрое переключение процессов AS/400 просто необходимо. AS/400 гармонично сочетает одновременную поддержку многочисленных пользователей (процессов) с требованиями клиент/серверной среды к пересылке данных.
Но есть серверные приложения, специально предназначенные для интенсивных вычислений. Пример — приложения для поддержки принятия решений, где для генерации отчета требуется анализ больших объемов данных. Пользователи могут создавать сложные запросы, спрашивать «что если», выполнять поиск взаимосвязей в данных и т. д. Для такого приложения необходим тип обработки, больше похожий на пакетную, чем на интерактивную среду.
Для таких серверных приложений AS/400 были нужны мощные процессоры. И вот, несколько лет назад мы впервые представили специальные модели AS/400, предназначенные именно для высокопроизводительных серверов. В этих моделях мощные процессоры и большая память. Результаты различных клиент/серверных тестов показывают, что модели Advanced Server весьма конкурентоспособны, как по цене, так и по производительности. Не удивительно, что многие заказчики признали их лучшими и для обычных пакетных приложений.
Переключение процессов интенсивно используется как в интерактивных, так и в клиент/серверных приложениях. Быстрое переключение процессов всегда лучше медленного. Путем сокращения числа необходимых команд одноуровневая память повышает производительность не только переключения процессов, но и ряда других функций. Вернемся, например, к уже обсуждавшейся операции с файлами. Обычный сервер многократно выполняет операции открытия-закрытия файлов, что ведет к повышенной дисковой активности и снижает общую производительность системы. AS/400 обрабатывает такие файлы «на месте», устраняя излишние накладные расходы. Производительность процессора важна, но следует помнить, что каждая команда, которую не нужно выполнять, эквивалентна наличию для этой команды процессора с бесконечной скоростью. RISC-процессоры быстры, но не настолько.
Указатели и теги
После роста производительности, самое большое достоинство одноуровневой памяти — всеобъемлющая возможность совместного доступа. Впрочем, это и самый большой ее недостаток. Если каждый пользователь системы имеет доступ к большому единому адресному пространству, требуются гарантии от несанкционированного доступа к тем объектам или информации, на которые у этих пользователей нет прав. В главе 5 мы говорили, что такая защита осуществляется в AS/400 указателями. Давайте теперь рассмотрим указатели и их функции более подробно.