Dinamik bellek tahsis tekniklerinin tasarımı ve performans analizi
Design and performance analysis of dynamic memory allocation techniques
Yazar: FETHULLAH KARABİBER
Danışman: DOÇ.DR. AHMET SERTBAŞ
İstanbul Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2005
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Dinamik Bellek Tahsisi ( Dynamic Memory Allocation (DMA)) bilgisayar sistemleritasarımında önemli bir konudur. Dinamik bellek yönetimi, bellek yo unluklu farklıC programlarından olu an bir paket, test amaçlı olarak 80 MB bellekli bir SPARCbilgisayar mimarisinde çalı tırıldı ında, zamanın %23-%38 kısmını harcadı ıbilinmektedir[1]. Nesneye dayalı programların çok yüksek nesne olu turma oranıvardır. Bunun için bellek tahsis hızı sistem performansını artırmada çok önemlidir.Hızlı ve etkin bellek tahsisatçılarının, bellekteki bo yerleri tam olarak istenilenuzunluktaki bloklara tahsis etmesi istenir.Dinamik Bellek Tahsisi teknikleri, yazılımsal ve donanımsal olmak üzere iki anasınıfa ayrılabilir. Yazılımsal teknikler, çe itli veri yapıları kullanılarakgeli tirmi tir. Günümüze kadar geli tirilen yazılımsal teknikler üç farklı kategoriyeayrılabilir: Bit Haritalı, Ba lantılı Liste Teknikleri, Buddy Sistemler.FPGA gibi programlanabilir cihazların üretilmesi ve saat hızlarının gittikçeartması, hızlı donanımsal bellek tahsisatçı tasarımına önem kazandırmı tır. Sonyıllarda, J Morris Chang ile Edward F Gehringer [9] ve Cam H. [19]donanım olarak gerçeklenen dinamik bellek tahsisatçıları geli tirmi lerdir.Bu tez çalı masında, mevcut temel yazılımsal ve donanımsal teknikler incelenmi tir.Yazılımsal tekniklerin performans kar ıla tırması için C++ programlama dilindeyazılan bir benzetici tasarlanmı tır. Bu benzetici yardımıyla, tezde incelenenyazılımsal algoritmaların zaman ve bellek kullanımı parametrelerine göreperformans analizleri yapılmı ve yöntemler kar ıla tırmalı olarak incelenmi tir.Bu çalı mada, yeni bir hızlı ve etkin bellek tahsisatçı donanımsal algoritması velojik devresi geli tirilmi tir. Geli tirilen algoritma adımlarının gerçeklenmesi içintasarlanan çe itli lojik devreler ayrıntılı olarak incelenmi tir. Bu tezde yenigeli tirilen ve FEMA olarak isimlendirdi imiz tekni in VHDL benzetimi yapılaraklojik fonksiyon do rulu u test edilmi tir. Ayrıca VHDL sentezlemesi de yapılarak,birtakım parametrelere göre geli tirilen bellek tahsisatçı donanımının performansıanaliz edilmi tir. Bu inceleme sonucu olarak, yeni tekni in hız ve bellek kullanımıaçısından, di er tekniklere göre daha performanslı oldu u görülmü tür.

Abstract:
Dynamic memory allocation is critical issue in the design of computer systems. It isreported that dynamic memory management consumes 23%-38% of the time in sixallocation-intensive C programs run on 17-SPECmarks SPARC architecture with80 MB of memory [1]. Object-oriented programs have a very high object creationrate and, therefore, the speed of memory allocation is crucial for improving thesystem performance. It is desired that a fast and efficient memory allocator canallocate free space to requested block size exactly.Dynamic memory allocation techniques can be divided into two classes basically;hardware and software. Software techniques were improved by using various datastructures. Existing Software techniques can be separated into three differentcategories: Bit map, Linked list techniques, Buddy systems.Production of the programmable devices like FPGA and that of increasing the clockspeeds gradually makes the design of a fast hardware memory allocator moreimportant. Recently, J Morris Chang and Edward F Gehringer [9]; and Cam H.[19]have developed some hardware memory allocators.In this study, existing basic software and hardware techniques are examined. ASimulator written in C++ programming language is designed to compare softwaretechniques. By using this Simulator, performance analysis of software techniquesexamined with respect to time and memory usage parameters are performed andexamined comparatively in this thesis.Also in this study, algorithm and logic devices of a new fast and efficient hardwarememory allocator is developed. In order to implement improved algorithm steps,designed several different logic devices are examined in detail. In this thesis, newimproved technique called as FEMA is tested by VHDL simulation for accuracy oflogic function. Besides, performance of FEMA is analyzed by VHDL synthesis withrespect to some parameters. Result of this examination, new technique shows betterperformance at the point of speed and memory usage. Consequently, at the point ofview of speed and memory usage, it is observed that this technique provides moreperformance than the others.