Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Хостинг + Certum Commercial SSL и домен в подарок

VPS: SSD, KVM, бесплатные бэкапы и администрирование 24/7

Бесплатный перенос сайта + подарки к новоселью

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

Рабы закона Мура

Страницы: предыдущая :: 1 :: 2 :: 3 :: следующая

Настоящее

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

Однако что мы имеем в других секторах? Очевидно, что компаниям, производящим законченные аппаратно-программные решения, становится все менее выгодно заниматься и разработкой собственных микросхем и процессоров. Если посмотреть на линейки серверов и рабочих станций ведущих компаний-производителей (IBM, Hewlett-Packard и Sun Microsystems), то легко заметить, как стремительно сокращается доля этих продуктов, основанная на процессорах собственной разработки. Их место занимает Intel. И, наверное, это экономически целесообразно, поскольку соответствует общей тенденции мировой экономики к специализации и разделению труда. Но что это означает с позиций достижения гармоничности аппаратных и программных средств?

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

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

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

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

Кстати, вы заметили, что я вообще не говорю о какой-либо разработке новой операционной системы для новой аппаратной архитектуры? Да, такова реальность настоящего времени. Для UNIX имеется отрабатывавшаяся десятилетиями технология переноса системы на новые платформы (компиляция в коды целевой платформы машинно-независимой части ядра и переписывание машинно-зависимой части). Как мне кажется, аналогичным образом происходит дело и в Microsoft. Хотя в обиходе и принято считать Windows одноплатформенной системой, на самом деле им наверняка приходится переносить системы на новые платформы при смене архитектуры процессоров от Intel. И что-то я не припоминаю случая, когда именно по причине смены аппаратной архитектуры в Microsoft создавались новые операционные системы.

Ну и скажите мне, пожалуйста, с какой аппаратурой гармонирует UNIX (или Linux, если хотите)? Можно сказать, что единые абстракции этого семейства операционных систем удается отображать на разные аппаратные средства. Для меня совершенно очевидно, что в некоторых случаях это отображение удается лучше, чем в других. Но также очевидно, что если с самого начала аппаратура компьютера (включая процессор) не проектировалась в расчете на поддержку абстракций UNIX, то в ней будет чего-то не хватать, и это «что-то» придется эмулировать программным образом, теряя эффективность, или же в ней будет что-то лишнее, и это лишнее просто не будет использоваться. Думаю, что ситуация с Windows аналогична.

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

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

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

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

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

Так или иначе, параллельные компьютеры класса SMP всегда обладали ограниченной популярностью. Да и стоили они всегда дорого, что было вполне гармонично. И вот появляется новый класс микропроцессоров, которые, по сути, являются SMP на одном кристалле. И причина, как мы выяснили, совсем не в стремлении производителей исполнить вековую мечту человечества, а во все том же законе Мура. Современный уровень технологии полупроводников ограничивает возможности дальнейшего повышения тактовой частоты процессоров и уровень их сложности, но в кристалл можно по-прежнему помещать все больше и больше транзисторов. Отсюда следует достаточно очевидное решение – размещать в кристалле относительно независимые подсистемы с относительно слабыми взаимодействиями. Самый простой подход – перенести на уровень кристалла архитектуру SMP. Понятно, что пиковая производительность такого микропроцессора будет возрастать линейно в зависимости от числа процессорных ядер. Отличный маркетинговый ход! Кому какое дело до реальной производительности при решении практических задач. Кому какое дело до трудностей программирования.

И все это сваливается на программистов, которые, в конечном счете, оказались заложниками и даже рабами закона Мура. В настоящих условиях, при отсутствии разумной технологии программирования для многоядерных микропроцессоров, соответствующие операционные системы лишаются своей основной черты – программного продолжения аппаратуры, делающего ее более удобной и комфортной для программистов. Так было и раньше в операционных системах для SMP. Для эффективного использования аппаратуры программисту давалась возможность явно указать ОС, что данный поток управления должен быть привязан к отдельному процессору. Но раньше это было особенностью сравнительно редких симметричных мультипроцессоров, теперь же становится повсеместным. Если же скрыть от пользователей наличие нескольких ядер, то кто и как будет их использовать? Не поставишь же на любом компьютере параллельную СУБД от Oracle.

Страницы: предыдущая :: 1 :: 2 :: 3 :: следующая

CITKIT.ru
Цикл "Операционные системы:
Ностальгия по будущему
"

Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

аноним, Ср 14 окт 2009 10:47:19:
такое впечатление, что развитие эвм в союзе тормозилось с само верха. уже тогда готовились к его ликвидации?
аноним, Ср 02 сен 2009 20:26:25:
Какой нах закон мура?! Это просто маркетинговая уловка! Ну что поменяется, если этому закону не следовать? Аж ничего! Лучше бы по-моему дорабатывали существующее железо и софт. ТОгда и проблемы с безопасностью глядишь исчезли бы. И быстрее все стало бы работать из-за оптимизации.
Бородулин Вячеслав, Вт 02 июн 2009 05:55:21:
Спасибо и за Вашу статью "Восход и закат High Performance Fortran: наглядный урок истории"
Тоже очень понравилась.
Бородулин Вячеслав, Вт 02 июн 2009 05:52:16:
Спасибо Сергей за интересную статью. Я думаю, что если произвести отсев всех комментариев хотя бы по критерию орфографии и оконченных 11 классов то из них уже отсталось бы 3-5 штук. А если отсеять тех кто не программировал под параллельные системы, и не написал ни одной статьи, так и подавно будет человека два.

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

С уважением, Бородулин Вячеслав, ТОГУ
SKeeper, Пн 13 апр 2009 14:15:13:
Браво! Хоть и как-то пессимистично, но все равно интересно.
дао, Вс 12 апр 2009 15:19:29:
мне кажется автора просто не понимают!
это относится и ко всем предыдущим статьям.
tweak, Ср 08 апр 2009 22:19:11:
креатив ниасилил, многабуков. Автор ставит интересный вопрос, но не предлагает вариантов решения проблемы "закона Мура для software".
В отличие от более другого автора http://www.moserware.com/2008/04/towards-moores-law-software-part-1-of-3.html
аноним, Ср 01 апр 2009 09:25:33:
привет кузнецов
аноним, Пн 30 мар 2009 21:18:43:
блин.. интересная статья, наверно. потом по-читаю. не грусти, Серега!
Rigdzin, Пн 30 мар 2009 18:30:21:
А вот почему я возбухаю по поводу лараби: http://www.thg.ru/graphic/intel_larrabee/index.html
В этой статье четко говорится, что интел собирается использовать х86 инструкции именно для графического проца. Причем сами инструкции предполагается модифицировать.
Аргумент, что интел пытается отвоевать рынок встроенной графики - неправилен. Интел и так владеет этим рынком чуть-ли не на 60%. Она скорее пытается подвинуть АТИ и Нвидию с перспективного рынка высокопроизводительных вычислений в объёме десктопа. А кто там обеспечивает такое? Правильно: Радеон и ДжиФорс. Вот интел по аналогии с ними тоже выпускает ГПУ, правда пихает в него х86, забывая, что Рдеон и ДжиФорс такие мощные не потому, что там х86, а как раз наоборот.
По поводу стоимости компьютеров DEC на базе процессоров Alpha - жизнь всегда наказывала жлобство. Я так подозреваю, что их руководство назначало более высокую цену по принципу, если наши компы быстрее - значит круче, и мы будем требовать за них большие деньги, и нам плевать, что продажи наши падают - вот и умер DEC.

Страницы комментариев: 1 :: 2 :: 3 :: 4 :: следующая

Ваш комментарий

Имя:

Текст комментария (HTML-теги не допускаются):

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...