OSDev http://osdev.su/ |
|
Виртуальные адресса http://osdev.su/viewtopic.php?f=7&t=914 |
Страница 1 из 1 |
Автор: | pavia [ 22 апр 2014, 21:43 ] |
Заголовок сообщения: | Виртуальные адресса |
Тут подкинули интересную статейку. http://research.cs.wisc.edu/multifacet/ ... egment.pdf Так как в механизм кэширования современного процессора я не вникал, то прокомментировать их не могу. Надеюсь SII тут сможет что-то подсказать. Но заявление автора выглядит адекватными. Суть в том что современный механизм кэширования попросту не адекватен. В кэше находится считанное число страниц и при случайном доступе процессору требуется прочитать таблицу страниц, а только после считать сами данные. Как вы понимаете это 2-4 раза потерь в скорости при промахе. А проблема как бы актуально для всяких там баз данных таких промахов 10-30%. Собственно автор также предлагает ряд решений этой проблемы. |
Автор: | Himik [ 24 апр 2014, 12:37 ] |
Заголовок сообщения: | Re: Виртуальные адресса |
Статью ещё не прочитал, на инглише тяжеловато вникать в сложные проблемы. По идее, не должно быть 2-4 раза потерь в скорости, ведь размер таблицы в 1000 раз меньше размера отображаемых данных. Если читать всего один байт, то да, может быть и в 10 раз меньше в скорости. Надо оптимизировать алгоритмы обработки данных, чтобы располагать данные кучнее. |
Автор: | pavia [ 24 апр 2014, 15:54 ] |
Заголовок сообщения: | Re: Виртуальные адресса |
Суть в том что кэше от 1 до 128 дескрипторов страниц!!! Что очень малло и не эффективно. Так как нужен 1 миллион таких записей. Таблица страниц это 4МБ для 4Гбайт. Что в кэш целиком не влазит. Следовательно при кэш промахе нужно загрузить кореневой каталог страниц затем загрузить каталог страниц, а после уже сами данные отсюда требуется 3 обращения к памяти. Откуда я и пишу о 2-4 разах в скорости. Проблема актуальная хотя для большинства задач таких промахов составляет от 1 до 50% Что не так много. Но проблема актуальна. И она будет только ухудшаться с ростом размера памяти и её потребления прикладным ПО. ОС разработчика это касается так. Если хочешь что-бы твоя ОС была бы скажем для примера на 15% быстрее конкурентов, то надо использовать хитрые методы. Как то использовать больших страниц. Что в статье называется не эффективным способом. Так как 2-МБ страницы уже на 1ГБ уже требует до 2-х обращений к озу. А вот идею автора я ещё не разобрал, но вроде как при помощи виртуализации он смог сделать более эффективный способ работы с виртуальными адресами. Ещё как вариант подождать пока появятся новые более быстрые процессоры. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |