OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 28 Апрель, 2024 16:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 06 Апрель, 2010 13:19 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
http://www.opennet.ru/opennews/art.shtml?num=26107
Цитата:
На международном симпозиуме параллельных и распределенных вычислений будет представлена новая техника организации управления памятью, позволяющая добиться заметного повышения производительности стандартных приложений при их работе на многоядерных процессорах. При этом повышение производительности заметно в программах для которых в обычных условиях достаточно трудно распараллелить операции, например, в браузерах и текстовых процессорах.

Суть техники в выделении функций динамического распределения памяти в отдельный поток MMT (Memory Management Thread), работающий параллельно и не блокирующий работу основного приложения. В настоящий момент разработчиками подготовлен прототип динамической библиотеки, подменяющей стандартные функции распределения памяти (malloc, free) и не требующей модификации приложения.

Измерение производительности различных программ, в зависимости от активности операций выделения и освобождения блоков памяти, показало, что в среднем программы тратят на выполнение операций по распределению памяти до 30% своего времени выполнения. Использование техники MMT позволяет увеличить скорость работы таких программ в среднем на 19%.

В будущем возможно расширение библиотеки средствами по фоновому выявлению аномалий в работе программы или выполнению дополнительных проверок, связанных с безопасностью. В качестве примера приводится библиотека Phkmalloc, обеспечивающая ряд связанных с безопасностью дополнительных проверок, ценой которых является ощутимое замедление работы. В обычной ситуации среднее замедление при использовании Phkmalloc составляет 21% (в определенных ситуациях до 44%), но при задействовании техники фонового распределения памяти замедление от дополнительных проверок безопасности в Phkmalloc удалось свести к 1%.


У меня такое ощущение складывается, что народ мужественно борется с теми трудностями которые сам себе создал.

Пишем программу на Си (без плюсов). Радостно не заботясь о последствиях играемся с malloc/free. Отлично, быстро. Вроде бы работает, но проблемы с безопасностью и надежностью. Ок. Прикручиваем туда Phkmalloc, чтобы получить рантайм проверки (без модификации исходников). Упс. Тормозить стало. Прикручиваем MMT. Вроде теперь особо не тормозит, ога.

По сути это всё (+ дефрагментация памяти) есть например в java. Поэтому тамошний new в ряде случаев эффективней чем malloc.

Также это не поможет тем например плюсовым программам которые и так используют свой собственный new для размещения объектов в своих aren'ах. Т.е. те кто использует пулы памяти никак не ощутят преимуществ этой либы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 06 Апрель, 2010 14:05 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Цитата:
...будет представлена новая техника организации управления памятью,...
Суть техники в выделении функций динамического распределения памяти в отдельный поток MMT (Memory Management Thread), работающий параллельно и не блокирующий работу основного приложения.
Помнится, читал у Кнута про сборку мусора. Там была задачка про сборку мусора в реалтайм, и в решении указано что-то типа "сборщик мусора должен работать в фоновом режиме с низким приоритетом".

Или у меня с памятью плохо, или "новая техника" от того, что управление памятью не автоматическое, а ручное :mrgreen:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 06 Апрель, 2010 14:37 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Евгений Темиргалеев писал(а):
Цитата:
...будет представлена новая техника организации управления памятью,...
Суть техники в выделении функций динамического распределения памяти в отдельный поток MMT (Memory Management Thread), работающий параллельно и не блокирующий работу основного приложения.
Помнится, читал у Кнута про сборку мусора. Там была задачка про сборку мусора в реалтайм, и в решении указано что-то типа "сборщик мусора должен работать в фоновом режиме с низким приоритетом".

Или у меня с памятью плохо, или "новая техника" от того, что управление памятью не автоматическое, а ручное :mrgreen:

Техника видимо новая не с т.з. теории, а с т.з. того что до этого в сях оно массово не применялось. Т.е. это новая реализация.

А так сейчас воткнут этот костыль массово в программы (код то модифицировать не надо!) и получат на многопроцессорных машинах прирост в скорости на 19 процентов. И все счастливы, все танцуют. :D


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB