Гламур в общественном транспорте (?)
Имея выбор, совсем немногие потребители предпочли бы двухэтажный автобус итальянскому спортивному автомобилю.
Но если задача вашего бизнеса - обеспечить максимальную эффективность пассажироперевозок, автобусы вне конкуренции. Их пассажирооборот более чем в 20 раз выше, чем у среднестатистического спортивного автомобиля. Один из способов, которым это достигается, в терминах ИТ называется параллелизацией перевозок. Автобусы оптимизированы для перевозки множества пассажиров, а не одного (это, как правило, противоположно подходу большинства потребителей, не считая родителей – владельцев минивэнов).
То же самое стремление к производственной эффективности (и расхождение с предпочтениями потребителей) за последние несколько лет широко распространилось в центрах обработки данных. В то время как потребители выбирают телефоны Dolce and Gabbana
, центры обработки данных все больше грезят о высокопроизводительных автобусах, т. е. об инфраструктуре, оптимизированной для обеспечения более полной загрузки, экономичности и общей эффективности работы, а не просто наращивания скорости компонентов.
Именно на этом мы сосредоточили свои усилия несколько лет назад, когда вышли на рынок многопотоковых микросхем. Мы поставили первый в отрасли восьмиядерный процессор, каждое ядро которого выполняло 4 потока, что позволяло серверу стоимостью менее 4000 долларов обрабатывать 32 рабочих потока одновременно (обеспечивая отличный "пассажирооборот"). Мы умышленно поставили общую эффективность выше производительности отдельного потока, и не прогадали. В настоящий момент Intel, AMD, IBM и Sun активно инвестируют в многоядерные платформы, и Sun лидирует, завершив разработку прототипа единственного в мире массового шестнадцатиядерного процессора. (Который я ошибочно назвал "шестиядерным" во время последней веб-конференции по финансовым результатам ... С тех пор я много практиковался – шестнадцатиядерный, шестнадцатиядерный. Давайте, все вместе – шест-над-ца-ти-ядерный.)
Без программного обеспечения оборудование немногого стоит. К счастью, Solaris умеет "масштабироваться" или пользоваться преимуществами разделения полос, так что приложениям непосредственно доступны инновационные возможностями без какой-либо дополнительной работы. Заказчики могут запускать по одному приложению на каждом потоке чипа, или распределять приложение по нескольким потокам, или даже назначать отдельную ОС каждому ядру чипа, или использовать все эти подходы в любом сочетании (теперь это называется модным термином "виртуализация серверов"). Результат? Заказчики покупают меньше серверов, но бОльших по размеру, экономят пространство, потребляют меньше мощности и, как правило, улучшают свой "пассажирооборот". Раньше, если вам требовалась гарантированная производительность приложения, вы просто выделяли ему отдельный сервер. Продукты для виртуализации серверов, такие как VMWare и Solaris 10, позволяют сосредоточить множество приложений на одном сервере, создавая для каждого из них иллюзию работы на собственном сервере, в то время как система политик автоматизирует выделение драгоценных ресурсов ЦП и памяти, чтобы гарантировать приложениям одинаковую производительность. Опять таки, значительно сокращая количество серверных "ящиков", потребляемую мощность, тепловыделение, необходимое пространство - и затраты.
Мы вводим ту же самую виртуализацию в мир хранилищ данных, выпуская файловую систему ZFS, которая также умеет "масштабироваться", исключая управление томами и избавляя заказчика от сложностей, связанных с управлением штабелями дисков. Даже когда эти диски отказывают (в конце концов, есть только два типа дисков – те что уже отказали, и те что вот-вот откажут). Поскольку некоторые из наших клиентов развертывают тысячи и даже десятки тысяч дисков, ZFS позволяет легко объединять крупные пулы, обеспечивая надежное обслуживание с использованием недорогих компонентов. И все это с непревзойденной простотой и целостностью данных.
В результате только один сегмент ЦОД оставался незатронутым стремлением к параллельности и виртуализации. А для компании, постоянно утверждающей, что "сеть – это компьютер", это было очевидным упущением. Как обстоят дела с самой сетью?
Как вы, должно быть, знаете, большинство сетевых устройств являются однопотоковыми, параллельность обеспечивается с помощью физических портов. Хотите нарастить сеть? Купите дополнительные порты. А это ведет к образованию путаницы из кабелей, мусора, проблем управления и даже проблемы веса (медь довольно тяжелая, и ЦОД, установленные на фальшпол, приближаются к своим весовым ограничением - не думайте, я не шучу). Сетевой мир, по большей части, отстал от жесткой эффективности параллелизации вычислительного мира.
В идеальном мире скудные сетевые ресурсы должны динамически выделяться компьютерами, а не людьми (то, что мы сейчас наблюдаем для серверных ресурсов), назначая широкую полосу пропускания и гарантированные уровни обслуживания важным заказчикам и меньшие уровни того и другого менее важным службам. Вы предпочтете, чтобы простая система политик, а не человек, принимала такие решения в соответствии с требованиями или правилами бизнеса и без физического вмешательства (например, исключая переключение кабелей и неконтролируемое увеличение числа портов). А значит, было бы неплохо виртуализировать и сеть тоже.
Вот почему мы только что представили проект Neptune, который объединяет параллельность микропроцессора (для систем Intel, AMD и SPARC) и параллельность базовых операционных систем (Solaris, Linux или Windows) с параллельностью самой сети. Этот проект,
в сочетании с чудотворным программным обеспечением, известным как проект Crossbow, позволяет предприятиям сократить количество кабелей, портов, плат и объем затрат за счет внедрения параллельности в базовую сетевую инфраструктуру (говоря техническим языком, вы можете взять несколько потоков TCP и выделить их разным потокам процессора, распределяя нагрузку и освобождая ЦП и порты). Порты, как и серверы, превращаются в удобный физический ресурс - все, что происходит внутри, зависит от правил или политик, заданных пользователем или администратором для автоматизации принятия таких решений. Как я уже сказал, сеть – это компьютер, и если компьютер виртуализирован, то почему бы не виртуализировать и сеть?
Так кого же может заинтересовать проект Neptune? Всех, чьи затраты на лицензии на ПО, администрирование, сетевые платы, кабели и хостинг зависят от количества портов центра обработки данных.
В конце концов, будущее сетевых вычислений выглядит скорее как автобусный вокзал междугородного сообщения, чем как трек Формулы-1. Автобусы совсем негламурны, но они намного эффективнее и намного лучше для планеты. Меньшее количество более мощных портов, так же как меньшее количество более мощных серверов – это хорошо (уж для нас-то точно:).
Если вы хотите бесплатно опробовать карту Neptune щелкните здесь. И, прежде чем вы спросите, - да, это проект Blackbox, замаскированный под автобус, и нет, это не новый формфактор.
Если вам нужны более подробные технические сведения и анализ (для проектов Neptune и Crossbow), вот несколько ссылок и блогов:
Общее описание проекта Crossbow в Solaris 10 в блоге Сьюни.
Другой отличный пост, на сей раз из блога Ариэля Хенделя.
И вот здесь тоже интересно почитать.
Дополнение:
Ну, и лучший из ресурсов – поистине великолепный подкаст, представленный группой инженеров, ответственных за Solaris и Neptune.
И наконец...
Сегодня компании Sun исполняется 25 лет - много людей будут думать только о том, как бы отметить это событие должным образом (это будет длиться весь год - будьте на связи). Проработав в Sun всего 10 лет, я испытываю благоговейный трепет перед историей компании и ощущаю себя новичком (в подкасте, который я упоминал выше, участвуют 4 человека, каждый из которых, даже самый молодой, работает в Sun дольше, чем я).
Для меня лучший способ отдать должное истории Sun - прославить будущее, которое мы помогаем создавать. Neptune – своевременный пример. Сеть – это компьютер... Это точно.
С днем рождения всех вас!
Posted on 12:00AM фев 24, 2007 |
























