Computerworld, США

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

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

Большинство экспертов считают, что, если узкое место связано с памятью, необходимо проектировать приложения с расчетом на иерархическую инфраструктуру хранения с большим объемом кэш-памяти. Но консультант Том Гарднер из компании System Surety Group сказал, что большая часть ИТ-компаний не проявляют никакой заинтересованности в решении этой проблемы. «Им значительно проще в таком случае увеличить количество дисков», — с грустью заметил он.

С ним согласен и Том Руварт, консультант из компании I/O Performance. В некоторых компаниях, по его словам, центры обработки данных оснащены так называемыми «короткоходовыми» дисками, которые, соответственно, используются не полностью. То есть считывающие головки зафиксированы на краю пластины, где, как предполагается, расположены данные, в силу чего головкам не нужно перемещаться, когда требуется считать данные. Это непроизводительная трата операционных ресурсов и бюджета.

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

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

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

Компания Gear6 утверждает, что ее устройство оперативной памяти Cachefx, выпуск которого должен вскоре состояться, для этого и предназначено. По словам Гэри Оренштейна, вице-президента по маркетингу, вы просто подключаете Cachefx к Gigabit Ethernet своего центра обработки данных, связываете его с теми серверами приложений, которые он должен поддерживать, и указываете, какие модули хранения задействованы. И все. Все запросы на данные передаются через Cachefx. Все операции записи новых данных отмечаются системой, но передаются на диски для сохранения. Оренштейн отметил, что Cachefx содержит данные емкостью 5 Тбайт — все в оперативной памяти.

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