| 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/  | 
|