Новая техника сжатия данных для более быстрых компьютерных программ

Новая технология, разработанная исследователями MIT, переосмысливает аппаратное сжатие данных, чтобы освободить больше памяти, используемой компьютерами и мобильными устройствами, позволяя им работать быстрее и выполнять больше задач одновременно.

Сжатие данных использует избыточные данные для освобождения емкости хранения, повышения скорости вычислений и предоставления других преимуществ. В современных компьютерных системах доступ к основной памяти очень дорог по сравнению с фактическими вычислениями. Из-за этого использование сжатия данных в памяти помогает повысить производительность, поскольку уменьшает частоту и объем данных, которые программы должны извлекать из основной памяти.

Память в современных компьютерах управляет и передает данные в виде фрагментов фиксированного размера, на которых должны работать традиционные методы сжатия. Программное обеспечение, однако, не хранит свои данные в виде фрагментов фиксированного размера. Вместо этого он использует объекты, структуры данных, которые содержат различные типы данных и имеют переменные размеры. Поэтому традиционные аппаратные методы сжатия плохо обрабатывают объекты.

В документе, представленном на этой неделе на Международной конференции ACM по архитектурной поддержке языков программирования и операционных систем, исследователи MIT описывают первый подход к сжатию объектов в иерархии памяти. Это уменьшает использование памяти при одновременном повышении производительности и эффективности.

Смотрите так же

Wi-Fi 6 Лучше, быстрее интернет — вот что ва... Есть Wi-Fi 6 вопросов? У нас есть ответы. Ищите этот логотип для идентификации Wi-Fi 6-сертифицированных устройств. Wi-Fi 6 дебютирует в этом год...
Скоро будет дана таксономия для определения мира б... Подразделение Ethereum Alliance (EEA) работает с Microsoft и более чем дюжиной компаний, аналитических организаций и консорциумов для создания нейтрал...
Как Передать Данные С Айфона На Самсунг... Неким может показаться, что передача данных с Android на iPhone является очень трудной задачей. Ни для кого не тайна, что айфон работает с операционно...

Программисты могут извлечь выгоду из этой техники при программировании на любом современном языке программирования, например, Java, Python и Go, который хранит и управляет данными в объектах, не изменяя их код. С их стороны потребители увидят компьютеры, которые могут работать намного быстрее или могут запускать гораздо больше приложений с той же скоростью. Поскольку каждое приложение потребляет меньше памяти, оно работает быстрее, поэтому устройство может поддерживать больше приложений в пределах выделенной памяти.

В экспериментах с использованием модифицированной виртуальной машины Java этот метод сжимал вдвое больше данных и сокращал использование памяти вдвое по сравнению с традиционными методами, основанными на кеше.

Мотивация состояла в том, чтобы попытаться создать новую иерархию памяти, которая могла бы выполнять сжатие на основе объектов вместо сжатия строк кэша, потому что именно так большинство современных языков программирования управляют данными, говорит первый автор Po-An Tsai, аспирант в Лаборатория информатики и искусственного интеллекта (CSAIL).

Все компьютерные системы выиграют от этого, добавляет соавтор Дэниел Санчес, профессор компьютерных наук и электротехники, а также исследователь в CSAIL. Программы становятся быстрее, потому что они перестают быть узкими из-за пропускной способности памяти.

Исследователи основывались на своей предыдущей работе, которая реструктурирует архитектуру памяти для непосредственного управления объектами. Традиционные архитектуры хранят данные в блоках в иерархии постепенно увеличивающейся и более медленной памяти, называемой кэшами. Блоки, к которым недавно обращались, поднимаются в меньшие и более быстрые кэши, в то время как старые блоки перемещаются в более медленные и большие кэши, в конечном итоге возвращаясь в основную память. Хотя эта организация является гибкой, она обходится дорого: для доступа к памяти каждый кэш должен искать адрес среди своего содержимого.

Поскольку естественной единицей управления данными в современных языках программирования являются объекты, почему бы просто не создать иерархию памяти, которая имеет дело с объектами? Санчес говорит.

Смотрите так же

Как Передать Данные С Айфона На Самсунг... Неким может показаться, что передача данных с Android на iPhone является очень трудной задачей. Ни для кого не тайна, что айфон работает с операционно...
Как Удалить Все Данные С Айфона 6... Как удалить что остается сделать нашему клиенту с Айфона. Главные методы iPhone, работающий на базе системы iOS, являет собой эталон стабильности и бе...
Как Синхронизировать Данные С Андроида На Айфон... Как сделать синхронизацию контактов iPhone с Android? Перенос контактов с iPhone на Android На сегодняшний день iPhone и Android – это две величайшие ...

В статье, опубликованной в октябре прошлого года, исследователи подробно описали систему под названием Hotpads, которая хранит целые объекты, плотно упакованные в иерархические уровни или планшеты. Эти уровни целиком и полностью зависят от эффективной памяти, адресованной непосредственно на кристалле, без сложных поисков.

Новая техника сжатия данных для более быстрых компьютерных программ

Затем программы напрямую ссылаются на расположение всех объектов в иерархии площадок. Вновь выделенные и недавно ссылающиеся объекты, а также объекты, на которые они указывают, остаются на более быстром уровне. Когда более быстрый уровень заполняется, он запускает процесс вытеснения, который сохраняет объекты, на которые недавно ссылаются, но отбрасывает более старые объекты на более медленные уровни и перерабатывает ненужные объекты, чтобы освободить пространство. Затем указатели обновляются в каждом объекте, чтобы указывать на новые местоположения всех перемещенных объектов. Таким образом, программы могут получить доступ к объектам гораздо дешевле, чем поиск по уровням кэша.

Для своей новой работы исследователи разработали методику, называемую Zippads, которая использует архитектуру Hotpads для сжатия объектов. Когда объекты сначала запускаются на более быстром уровне, они не сжимаются. Но когда их выселяют на более медленные уровни, они все сжаты. Указатели на всех объектах на уровнях затем указывают на эти сжатые объекты, что облегчает их возврат к более быстрым уровням и позволяет хранить их более компактно, чем предыдущие методы.

Затем алгоритм сжатия эффективно использует избыточность объектов. Этот метод раскрывает больше возможностей сжатия, чем предыдущие методы, которые были ограничены нахождением избыточности в каждом блоке фиксированного размера. Алгоритм сначала выбирает несколько репрезентативных объектов в качестве базовых. Затем в новых объектах хранятся только разные данные между этими объектами и репрезентативными базовыми объектами.

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

Смотрите так же

Как Удалить Все Данные С Айфона 6... Как удалить что остается сделать нашему клиенту с Айфона. Главные методы iPhone, работающий на базе системы iOS, являет собой эталон стабильности и бе...
Wi-Fi 6 Лучше, быстрее интернет — вот что ва... Есть Wi-Fi 6 вопросов? У нас есть ответы. Ищите этот логотип для идентификации Wi-Fi 6-сертифицированных устройств. Wi-Fi 6 дебютирует в этом год...
Амазонское кольцо хочет, чтобы полиция скрыла от в... В документах, отправляемых в полицию в Иллинойсе, Ринг информировал офицеров о том, что «не следует делиться с общественностью». Ринг поручил полицей...