Geometric Memory Management

نویسنده

  • Wouter Kuijper
چکیده

In this report we discuss the concepts of geometric memory alignment and geometric memory allocation. We introduce ledging as a process to deal with chunk sizes that are not a power of two. We introduce range trees as an efficient datastructure for representing geometric memory range allocation states. We introduce niche maps as an efficient means to find the right place to allocate a chunk of a given size whilst maintaining good packing and avoiding fragmentation. And, finally, we discuss geometric virtual memory management. 1 Geometric Memory Allocation Traditional memory allocation schemes typically align slots upto eight, sometimes sixteen bytes. This basic design choice leads to what we will refer to as the misaligned slots problem, which in turn leads to a myriad of fragmentation problems down the road. The misaligned slot problem occurs when two consecutive slots of size 2n are being coalesced into a bigger slot of size 2 on an address that is not a multiple of 2. A simple way to avoid these problems altogether is to: align slots to their own size. If we follow the latter alignment principle we end up with a geometric allocation scheme. To see why the misaligned slot problem leads to fragmentation, and to see how a geometric allocation scheme remedies this, consider the following example. Say for sake of simplicity we have a memory of 16 bytes, and we are aligning to words of 2 bytes each. We initially consider the case of just two size classes. We have large slots of 2 words (4 bytes) in size, and small slots of 1 word (2 bytes) in size. Now say we have two allocated large slots at the start and at the end of the memory, and four allocated small slots inbetween: Step 1: |xxxxxxxxxxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxxxxxxxxxx| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | Next we consider what happens when two of the smaller slots in the center get freed: Step 2: |xxxxxxxxxxxxxxx|xxxxxxx|-------|-------|xxxxxxx|xxxxxxxxxxxxxxx| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Communication-Avoiding Optimization of Geometric Multigrid on GPUs

Multigrid methods are widely used to accelerate the convergence of iterative solvers for linear systems in a number of different application areas. In this report, we explore communication-avoiding implementations of Geometric Multigrid on Nvidia GPUs. We achieved an overall gain of 1.2x for the whole multigrid algorithm over baseline implementation. We also provide an insight into what future ...

متن کامل

The VISA User ' s GuideMatthew Haines

Programming distributed memory systems that lack a single addressing space remains a diicult task at best. The VISA system provides the user (or compiler) with a single addressing space that can be shared among the participating nodes. Access to the system is provided through a set of VISA primitives that control all aspects of the VISA space, from allocating memory to accessing data to freeing...

متن کامل

The VISA User ' s Guide

Programming distributed memory systems that lack a single addressing space remains a di cult task at best. The VISA system provides the user (or compiler) with a single addressing space that can be shared among the participating nodes. Access to the system is provided through a set of VISA primitives that control all aspects of the VISA space, from allocating memory to accessing data to freeing...

متن کامل

Joint pricing and production management: a geometric programming approach with consideration of cubic production cost function

Coordination and harmony between different departments of a company can be an important factor in achieving competitive advantage if the company corrects alignment between strategies of different departments. This paper presents an integrated decision model based on recent advances of geometric programming technique. The demand of a product considers as a power function of factors such as produ...

متن کامل

Effectiveness of Cognitive Rehabilitation Group Therapy on Verbal Memory, Stress Management and Alexithymia in Patients with Traumatic Brain Injury

Introduction: Traumatic brain injury is one of the significant causes of death and physical and psychological disability that can effect on verbal memory, stress management and alexithymia. As a result, present research aimed to determine the effectiveness of cognitive rehabilitation group therapy on verbal memory, stress management and alexithymia in patients with traumatic brain injury. Meth...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1512.09358  شماره 

صفحات  -

تاریخ انتشار 2015