Новости Статьи Российское ПО VMware Veeam StarWind vStack Microsoft Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6470 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / Articles / Массивная Оперативная Память

Массивная Оперативная Память

Массивная Оперативная Память

Автор: Андрей Луценко
Дата: 05/09/2011

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

Предисловие от VM Guru: С удовольствием представляем четвертую статью нашего автора Андрея Луценко, специалиста в области информационной безопасности, где рассказывается о новаторских способах организации оперативной памяти с помощью технологий виртуализации.

Для более глубокого понимания статьи рекомендуем прочитать следующие статьи Андрея:

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

Архитектура современных вычислительных систем держится на трех китах: процессоре, производящем манипуляции с информацией, хранилища информации и устройств загрузки/выгрузки информации из внешней среды.

Хранилище информации  на данный момент состоит из двух частей – Оперативной Памяти и долговременных устройств хранения (винчестеров). Такое разделение связано с невозможностью до нынешнего времени объединять свойства скоростного доступа к информации с функцией долговременного хранения большого объема информации в одном устройстве.

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

В настоящее время именно ограничения по доступу к ОП являются основной проблемой повышения общего быстродействия вычислительных установок. Многие на это возразят, что на их машинах стоит по 2 гигабайта и все прекрасно работает. Но то же самое говорили и десять лет тому назад, только про объем 200 мегабайт. И двадцать лет назад, но про объем в 16 мегабайт, я еще помню, как это же говорили и про 640 кбайт, тридцать лет назад.

Что дает оперативная память объемом скажем в один Терабайт?

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

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

Почему массивная? – да потому что большая, а кроме того адресуется с точностью до массива (блока) а не до байта, как традиционная ОП.

Никого уже не удивить флеш-накопителями с объемом 0,5-1 Тбайт, так что вопрос объема не актуален в настоящее время.
Вопросы вызывает время доступа к такой Массивной ОП и метод организации к ней доступа, поскольку она является ЗУ со страничной, а не произвольной адресацией.

Современные контроллеры флеш-памяти обеспечивают время доступа к информации на уровне 1 Гбайта в секунду, причем это с одного контроллера имеющего 8 каналов для подключения флеш-микросхем. В реально присутствующих в качестве коммерческих продуктов системах обеспечивается скорость в 2-4 Гбайта в секунду… Маловато конечно, до 10-20 Гбайт/сек для традиционных ОП не дотягивает.

Второй проблемой является метод доступа к информации  на такой Массивной ОП, поскольку она имеет страничную организацию с размером страниц в 4 Кбайта - процессор с такой памятью напрямую работать не может…

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

Алгоритм работы такой памяти выглядит следующим образом: процессор выставляет запрос на доступ к какому либо адресу с точностью до байта, после чего страница в 4 Кбайта, содержащая требуемый адрес, блоком, загружается в Кеш из флеш-накопителя.
После загрузки страницы в Кеш процессор работает с информацией  размещенной в Кеше, имея к нему доступ на уровне байтов.
Собственно так процессор работает и сейчас со свей внутренней Кеш-памятью, поскольку в традиционных системах загрузка в Кеш процессора из ОП идет блоками в 64-128 байт.

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

Ну и ладно,  будет эволюция…

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

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

Итак: в качестве накопителя Массивной Оперативной Памяти будем использовать SSD-диск, это конечно неэффективно, но это есть под рукой.

В качестве Кеша будем использовать часть объема ОП за естественной границей в 4 Гбайта. Аппаратура виртуализации позволит отразить на физические адреса такого Кеша весь эмулируемый объем Массивной Оперативной Памяти.

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

Гипердрайвером будет «Красная пилюля», доработанная для 64битного режима, оснащенная необходимыми обработчиками событий и имеющая собственный драйвер для работы с дисковым контроллером на интерфейсе AHCI.

Управление таблицами теневой переадресации, загрузка/выгрузка данных с флеш-накопителя осуществляется в режиме хоста тем процессором, на котором произошло событие:- общение к адресу памяти, информация по которому отсутствует в Кеше Массивной Оперативной Памяти.

В результате программами хоста Гипердрайвера реализуется эмуляция нового, неизвестного досель устройства под названием «Массивная Оперативная Память».

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

Для ОС виден только конечный результат работы такого оборудования - увеличенный размер Оперативной Памяти:

Операционная система (Windows 7-x64) , спокойно начинает работать с такой эмулируемой Массивной Оперативной Памятью, считая, по простоте душевной, ее реально существующей. Правда эта конкретная ОС напрочь отказывается работать с объемом оперативной памяти более 196 Гбайт, хотя ей предлагается объем 240 Гбайт. При этом стабильная работа ОС без зависаний на пользовательских программах обеспечивается при объеме ОП не более 150 Гбайт.

В такой эмулируемой памяти спокойно идут тесты на производительность ОП. Понятно, что результаты этих тестов скажем так: «от лукавого..», но тем не менее, важен сам факт.

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

Реальный потенциал даже эмулируемого с помощью оборудования виртуализации несуществующего устройства оказался на удивление жизнеспособен и высок, и это при скромных 500 Мбайтах/сек пропускной способности SSD  имеющемся на данном макете (теоретических - на практике не более 250-300 Мбайт/сек).

Было запущено два теста на случайное чтение  в объеме 1 Гбайт каждый, какие-то обращения к памяти попадают в Кеш, а какие-то нет, и их приходится подгружать из флеш-накопителя. В результате получается, что макет обеспечивает в тестах пропускную способность в 3 Гбайта/сек суммарно.

Макет Массивной Оперативной Памяти собран на стандартном контроллере Sata-3 и  SSD винчестере Vertex-3 объемом 240Гбайт.
Если использовать более серьезное железо, типа SSD накопителей в форм-факторе PCI-E, да еще сделать на них чередование адресов для 2-Мбайтных блоков, то 4 таких устройства дадут в сумме 5-10 Гбайт пропускной способности.

Это уже даже больше, чем может обеспечить серверная плата в режиме NUMA, но не дотягивает до производительности памяти в режиме SMP-доступа.

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

На имеющемся в реальности железе можно создавать вполне успешные коммерческие решения, при цене 80-100 тысяч рублей за один Тбайт Оперативной памяти. Это уже очень даже заманчивые цены, при скоростях доступа даже выше, чем могут обеспечить современные 4-х сокетные материнские платы (такие решения пока могут содержать до 4х64 Гбайта = 256 Гбайт ОП, на скорости доступа 4-5Гбайт/сек).

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

Следующим этапом, эволюционно, можно переходить и к чисто аппаратной реализации Массивной Оперативной Памяти….

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Enterprise Offtopic Broadcom VMachines Veeam Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VCF Operations Certification Memory Kubernetes NVMe AI vSAN VMConAWS vDefend VCDX Explore Tanzu Workstation Private AI Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Backup Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Avi Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Availability Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V Capacity KB VirtualCenter NFS ThinPrint VCAP Upgrade Orchestrator ML Director SIOC Troubleshooting Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge