|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
Менеджер по управлению памяти для серверной платформы05.10.2018, 14:09. Показов 2949. Ответов 15
Метки нет (Все метки)
как писать менеджер по управлению памяти для серверной платформы ведь там регистровая память и ecc что надо знать и как эти особенности работают? с точки зрения ассемблера что и как писать? информации для ассемблера не хватает. если есть мануалы на русском тоже будет хорошо.
и еще можно-ли задвинуть ecc вообще не обрабатывая эту информацию, я так понял что эта технология отжирает много ресурсов у платформы?
0
|
|
| 05.10.2018, 14:09 | |
|
Ответы с готовыми решениями:
15
Помогите с выбором серверной платформы Выбор серверной памяти Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти)) |
|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
| 10.10.2018, 03:25 [ТС] | |
|
хоть какую то информацию по программированию серверной памяти кто подкинет? как -то ведь программируют на ассемблере сервера? или с точки зрения написания программ нет разницы в написании ядра для серверного железа и железа обычного пк? я еще плохо разбираюсь в программировании нужна помощь.
0
|
|
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
|
| 10.10.2018, 16:06 | |
|
0
|
|
|
Эксперт Hardware
|
||
| 11.10.2018, 06:26 | ||
|
А регистровая память не имеет прямого отношения к ECC - это буферная память, когда между планкой и контроллёром устанавливается доп.буфер. Альтернативой 'Registered DIMM' служит память типа 'Unbuffered DIMM', которая не имеет такого буфера и используется в десктопах. Другими словами, UDIMM тоже может быть с коррекцией ошибок ECC.
1
|
||
|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
| 17.10.2018, 08:28 [ТС] | |
|
то есть никаких обработчиков прерываний для менеджера памяти писать не надо? воткнул планку с ecc, контроллер серверной мати или память сами будут все ошибки исправлять? и разницы в написании менеджера памяти под буферную память нет с десктопной памятью?
Я где-то читал про то что какие-то различия есть при написании ОС для серверной и десктопной версией компа. Но статья потерялась, и что там было забыл. теперь ищу инфу как писать менеджер память для ос с прицелом на сервер. инфы жутко не хватает. какая вообще разница в написании прерываний и работе с памятью в написании ос под сервер? или разницы вообще нет? если забыть про особые условия работы сервера и десктопа то можно ос писать один в один как для десктопа?
0
|
|
|
Эксперт Hardware
|
||
| 17.10.2018, 10:15 | ||
Сообщение было отмечено krazkras как решение
РешениеECC автоматом исправляет 1-битные ошибки (SEC - Single Error Correction) и просто определяет 2-битные DED (Double Error Detection). Если ошибка SEC, то неправильный бит исправляется DRAM-контроллёром автоматически, если DED, то детектируется и сообщается ОС в виде взведённого бита в регистре MSR. Обрабатывать или нет 2-битную ошибку зависит от твоего настроения - хочешь пускай её в игнор и получишь винегрет из данных, а если нет - то процессоры с поддержкой памяти ECC имеют вроде регистр-счётчик MSR, который считает кол-во DED-ошибок и определяет номер глючного чипа на модуле DDR-DIMM. (имена регистров не помню на вскидку) Вот тебе даташит на контроллёр памяти, где описана подноготная ECC.. только непонятно, зачем это тебе?
2
|
||
|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
| 17.10.2018, 13:09 [ТС] | |
|
ну я примерно по есс такое что-то и читал. сенк за пояснение и информацию. а по поводу буферед памяти там все чисто аппаратно или тоже как -то на прерывания влияет или какие нибудь отличия в написании менеджера памяти есть?
надо это потому что есть желание писать для серверной системы с возможностью масштабировать, но дешевле зеоновские процы на мать обычную десктопную, но память серверная стоит дешево и ее много. дак и вопрос насколько написанный код будет отличаться для десктопа и сервера. Ну а чтоб разобраться надо понять мат часть. и поиск ничего не дал. точнее выходит информация для юзеров, а не тех кому важны внутренности. По серверному железу мало информации. Ну а вы эксперт подскажите с чего начать, и имеет-ли смысл искать. теперь буду разбирать регистры работы с памятью. если буферная память не требует особых познаний(особого кода) то можно писать менеджер, включить в него обработчик прерывания есс и быть счастливым
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
| 29.10.2018, 12:57 [ТС] | |
|
меня интересует в первую очередь ddr4 lrdimm, rdimm чем отличаются? И еще можно мануал на русском я половину по английски не понимаю.
Добавлено через 8 минут забыл. самое главное. при подключении планок памяти в серверную мать там надо втыкать особым образом, чтоб на каждый процессор на каждое ядро был быстрый доступ, а что надо делать чтоб на определенное ядро в нужную планку записывалась нужноя прога, чтоб на прямую был доступ а не через QPI? ведь не вручную выяснять где в адресном пространстве кончается 1 планка и начинается планка памяти другого проца. Подробно объясните этот алгоритм. Добавлено через 1 минуту если можно с регистрами.
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
| 01.11.2018, 07:36 [ТС] | |
|
подскажите пожалуйста ответ
меня интересует в первую очередь ddr4 lrdimm, rdimm чем отличаются? И еще можно мануал на русском я половину по английски не понимаю. Добавлено через 8 минут забыл. самое главное. при подключении планок памяти в серверную мать там надо втыкать особым образом, чтоб на каждый процессор на каждое ядро был быстрый доступ, а что надо делать чтоб на определенное ядро в нужную планку записывалась нужноя прога, чтоб на прямую был доступ а не через QPI? ведь не вручную выяснять где в адресном пространстве кончается 1 планка и начинается планка памяти другого проца. Подробно объясните этот алгоритм. Добавлено через 1 минуту если можно с регистрами.
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 01.11.2018, 08:08 | |
|
krazkras,
продублируй, пожалуйста, сообщение от 29 октября еще пару раз, а то с первого раза запомнить не получается...
1
|
|
| 01.11.2018, 08:46 | |
|
Не по теме: Давайте уважительнее относиться друг к другу.
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 01.11.2018, 09:21 | |
|
ФедосеевПавел,
обычно добавляют краткое "Up" и тема "всплывает" в ТОР
0
|
|
|
Модератор
|
|
| 01.11.2018, 09:26 | |
|
Да, так нейтральнее и меньше раздражает.
0
|
|
|
Эксперт Hardware
|
||
| 02.11.2018, 08:21 | ||
|
поэтому установи нормальный браузер [аля Google Chrome] и получишь встроенный переводчик. Есть и онлайн трансляторы: https://translate.google.com/ - юзаю его в основном для PDF-доков на инглише.
1
|
||
|
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
|
|
| 05.11.2018, 10:59 [ТС] | |
|
я знаю сейчас у ддр4 контроллер в процессоре но тем не менее что нет никакого мануала по ddr4. но даже там я почти уверен нет четкого ответа как именно записать программу в ту планку памяти в которую надо, и именно привязанную к тому процессору которому надо.
поэтому прошу помочь мне идеей и информацией откуда взять решение. может вы лично с этим работали и вообще знаете как запрограммировать аппаратную часть именно так. ну а если лично не сталкивались и нет даже идей как это сделать то хотя бы мануалом помогите. но прошу писать по теме, а не обсуждать мою нубскую личность. если бы кругом было полно форумов по серверным платформам и аппаратная часть была б, как нефиг делать, я бы читал а не писал!!!!!!
0
|
|
|
Эксперт Hardware
|
|||||||
| 05.11.2018, 18:27 | |||||||
|
А с другой стороны, ты (с сомнительным уровнем знаний) хочешь объять необъятное, поэтому и не знаешь, что именно нужно искать. Вот тебе несколько наводок, от которых можешь плясать.. Есть архитектуры SMP (симметричная много/процессорность) и NUMA (неравномерный доступ к памяти). Первая - это наши машины с одной/разделяемой памятью и несколькими процессорами, а вторая - как-правило серверная, где каждому процессору по-памяти:
В SMP архитектуре шина-памяти одна, и для доступа к ней процики устраивают т.н. гонки, а система может успокаивать их по-разному - например выделять каждому CPU по кванту времени, или принудительными спин-блокировками остальных процессоров инструкцией(Lock), клонировать участки памяти, etc. Здесь нагружать отдельный CPU конкретной программой можно, только это геморно и приведёт к падению производительности, поскольку такой подход не предусматривался разрабами ОСи. Процессоров добавили для того, чтобы они параллельно выполняли одну/несколько задач. В случае с NUMA картина меняется. Здесь уже несколько системных шин, поэтому физические процы не ругаются за шину, хотя ядра каждого из них по-прежнему работают в режиме SMP. Память тут считается неразделяемой, однако при больших нагрузках данные одного процессора вполне могут оказаться в памяти соседа. В этом случае, на поверхность всплывает проблема когерентности кэш-памяти, поддержка которой происходит по внешней шине QPI. Таким образом, если ты в NUMA хочешь запустить программу на определённом процессоре с его памятью, тебе нужен планировщик потоков, который по данным из таблицы ACPI, будет направлять твой поток куда-нужно. Ещё можно пойти на таран, и тупо останавливать второй проц по 'HALT', тогда поток сам направится в нужное/свободное русло. Так выглядит теория, с которой делятся с тобой: М.Руссинович, Д.Соломон: "Внутреннее устройство Windows" (6-е издание) Джеффри Рихтер: Windows для профессионалов (4-е издание) ..и гугл, по запросу "архитектура NUMA"
2
|
|||||||
| 05.11.2018, 18:27 | |
|
Помогаю со студенческими работами здесь
16
Менеджер памяти Менеджер памяти Менеджер памяти DLL и менеджер памяти Менеджер сегментированной памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|