Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Хранилище информации на данный момент состоит из двух частей ~ Оперативной Памяти и долговременных устро

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

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

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

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

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

В настоящее время именно ограничения по доступу к ОП являются основной проблемой повышения общего быстродействия вычислительных установок. Многие на это возразят, что на их машинах стоит по 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Гбайт/сек).

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

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




1. Система социально-педагогической работы с приемной семьей
2. Розвиток розумових здібностей та психологічних особливостей
3. Вариант 10 1 Укажите область значений функции 1 2 3 4 2
4. тематики ~ лекция272272 каб
5. Воздушный бой. Сроки и место проведения- 2223 марта 2014 г
6. потока ’ поезда Время прибытия Назначение вагонов в составе
7. Типы крестьян и крестьянской жизни в Записках охотника ИС Тургенева
8. Проектирование участка и разработка технологического процесса изготовления детали КБПА 451164
9. Сравнительная рецензия на произведения В Распутина Изба и На родине
10. Сибирский государственный университет телекоммуникаций и информатики ФГОБУ ВПО СибГУТИ.html
11. Диагностика дизельных двигателей
12. а Книжкираскладушки книжкипоплавки звучащие книжки
13. Апирогенность как одно из основных требований к качеству парентеральных лекарственных форм. Пирогенные вещества. Способы депирогенизации
14. оригинальный косплей могут принимать участие костюмы уличной японской моды Японии лолиты гяру чиби нэко
15. реферат дисертації на здобуття наукового ступеня кандидата економічних наук8
16. Корал є виробництво та реалізація посуду фарфорового.html
17. приближение к предельной точке с одной стороны
18. Задание- Стендовые испытания дизеля воздушного охлаждения мощностью 170квт 2
19. Тема 5 Суть процесу виховання
20. а то проблем не возникает поскольку пользовательские операционные системы например Windows XP-Vist содержат про