Hareket Tabanlı Bellek Ayşe GENÇ 504061504. AJANDA Neden Hareket Tabalı Bellek? Temel Kavramlar Donanımsal HTB Yazılımsal HTB Bütünleşik HTB.

Slides:



Advertisements
Benzer bir sunumlar
Araştırma adresinde, Computer Science alanında ilk 10’da yer alan, üniversitelerin web siteleri incelenerek yapılmıştır.
Advertisements

Selçuk Salur Muzaffer Şenli
Konferans Çizelgeleme Problemi için Bir Tabu Araması Algoritması Pınar Mızrak Özfırat, Celal Bayar Üniversitesi, Emrah B. Edis,
Bilgisayar Programlama I
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Sternberg’in Arama Modeli
Bilgisayar Yapısı-Genel
Internet Servislerinde Güven Modellenmesi
UZAKTAN EĞİTİME GİRİŞ VE KAVRAMSAL ÇERÇEVE
Bölüm 1: Introductions (Tanıtım,Tanım)
Thread (İş parçacığı/iplik)
TURING MAKİNELERİ Yılmaz Kılıçaslan.
Görev Yönetimi GÖREV bir programın işletimi sırasında aldığı addır.
Dağıtık Ortak Hafızalı Çoklu Mikroişlemcilere Sahip Optik Tabanlı Mimari Üzerinde Dizin Protokollerinin Başarım Çözümlemesi I. Ulusal Yüksek Başarım ve.
Elektronik imza dönüşüm işlemi
CPU (Merkezi İşlem Ünitesi)
İŞLETİM SİSTEMLERİ KONTROL: PROF.DR.ASAF VAROL DÖNE KARAOĞLAN BİLGİSAYAR SİSTEMLERİ Bilgisayar Öğretmenliği (Gece) - 4.
BÖLÜM 2: BİLGİSAYAR SİSTEM YAPILARI
Chapter 8: Deadlocks (ölümcül kilitlenmeler)
1.  Bazı durumlarda, birden fazla işlem bir bütünün parçasıdır. Bu işlemlerden biri bile gerçekleşmese bütün işlemler anlamsız kalabilir  Bu türden.
VERİ TABANI ve YÖNETİMİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : KAPSÜLLEME.
Bilgisayara Giriş Doç. Dr. Mehmet S. İlkay.
AĞ GÜNLÜKLERİNİN KURUMSAL DÜZEYDE KULLANILMASI Prof. Dr. Mehmet KESİM Öğr. Gör. Erdem ERDOĞDU.
Register ve Türleri Nihal GÜNGÖR.
İnternet Teknolojisi Temel Kavramlar
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
İŞLEMCİ MİMARİLERİ – Derya Işık
İnternet Teknolojisi Temel Kavramlar
Mobil ve Kablosuz Sistemlerde Bilgi Erişim Özellikleri Cenk ATLIĞ 11-Ocak-2006 Trakya Üniversitesi Bilgisayar Mühendisliği Akademik Bilişim Konferansı.
AB Şubat 2002 Selçuk Üniversitesi1 IEEE/ACM Bilişim Ders Programı Önerisi ve Haliç Üniversitesi Deneyimi Doç. Dr. Atilla ELÇİ Bilgisayar Müh. Bölümü.
Türkiye’de Yüksek Başarımlı Hesaplama Prof. Dr. Cevdet Aykanat Bilkent Üniversitesi Bilgisayar Mühendisliği Bölümü.
What is Genetically Engineered Food?
CACHE MEMORY Ersin ERSOY
Microsoft Windows Server 2003
Microsoft Windows Server 2003 © Yenilikler ERCAN SAPMAZ.
> > < < GAZÜ KAYSERİ GAZİANTEP ÜNİVERSİTESİ, 2000 EŞ ZAMANLI MÜHENDİSLİK KARA HARP OKULU GAZİANTEP ÜNİVERSİTESİ Dr. Türkay DERELİ.
Bölüm 13: I/O Sistemleri Giriş/Çıkış Donanımı
BİL İŞLETİM SİSTEMLERİ
Bilgisayar Sistemlerine Giriş
Ölümcül Kilitlenme (Deadlock)
BİLGİSAYAR MİMARİLERİ 12.Hafta: Çok İşlemcili Sistemler
BİLGİSAYAR MİMARİLERİ 1.Hafta: Bilgisayar Mimarisine Giriş
BİLGİSAYAR MİMARİLERİ 5.Hafta: Bellek Hiyerarşisi-3
BİLGİSAYAR MİMARİLERİ 11.Hafta: Pipeline Sorunları
BİLGİSAYAR MİMARİLERİ 13
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
DaVinci TM Platformunda Video Kodlama. Neden DaVinci TM ? ? ? DaVinci TM platformu özellikle sayısal video kodlama ve çözme gibi ağır hesapsal yüklerin.
İnformasiya texnologiyaları kafedrası Mövzu № 9. Assembler. ( Assembler anlayışı. Assemblerin təyinatı. Assemblerdə operatorların formatı. Direktivlər.
İstanbul PGCluster ile etkin kümeleme PGCluster ile PostgreSQL'de etkin kümeleme Devrim Gündüz Onur Yalazı
Bilgisayar Mühendisliğine Giriş
Sunucu İşletim Sistemleri-2
Bilgisayar Donanımı Dersi
Mikrobilgisayar Tasarım Yapıları
MALTEPE ÜNİVERSİTESİ Paralel Hesaplama MATLAB ve Paralel Hesaplama
Donanım Tabanlı Dijital Para Birimi Madenciliği
LDAP ( LİGHTWEİGHT DİRECTORY ACCESS PROTOCOL )
Mevlüt ARSLAN¹ İrfan ATABA޹ Ali ERİŞEN²
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
Bilgisayar Mühendisliğine Giriş
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
Temel Kavramlar Bilgisayar Çalışma Mantığı
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Erkin Çilden Haluk Canberi
Sunum transkripti:

Hareket Tabanlı Bellek Ayşe GENÇ

AJANDA Neden Hareket Tabalı Bellek? Temel Kavramlar Donanımsal HTB Yazılımsal HTB Bütünleşik HTB

Neden HTB? Çok çekirdekli/çok işlemcili ve paylaşılan bellekli sistemler Tutarlılık problemi Geleneksel Karşılıklı-Dışlama yöntemi – Ölümcül kilitlenme – Hata yapma riski yüksek

Neden HTB? Hareket Tabanlı Bellek – Çakışma olmayacağı iyimserliği üzerine kurulu – Kritik bölümler atomik olarak belirleniyor ve soyutlanıyor – Eş zamanlı erişime izin var – Senkronizasyon problemi olmadan yürütülmesi artık HTB sorumluluğunda atomic{ hist[index]++; }

Neden HTB? Programlaması kolay Yüksek paralellik Ölümcül kilitlenme yok!

Kavramlar - Hareket Hareket (transaction) – okuma/yazma komutlarını da içeren komutlar kümesi Tamamlanma(commit) – Hareketin içerdiği tüm komutlar ve gereken bellek güncellemeleri gerçekleştirilir. Kesilme (abandon) – O ana kadar yapılan tüm işlemler geri alınır. – Hareket daha sonra tekrar yürütülecektir

Veri-versiyonlama Veri- versiyonlama ( data-versioning ) – Yazma işlemi ile ilgili şüpheli durumları kotarmak – Tamamlanma durumunda veriyi diğer işçiklere görünür kılmak – Kesilme durumlarınında değişiklikleri geri alabilmek

Veri-versiyonlama İki tip Veri-versiyonlama Geri-al günlüğü (undo log) – Güncelleme ilgili bellek alanında yapılır – Bellek alanının eski değeri ve adresi günlükte tutulur Güncelleme tamponu (buffed updates) – Güncellemeler harekete özel tamponlarda yapılır – Hareketin tamamlaması halinde belleğe yansıtılır

Çakışma Sezme Hareket Yazma Kümesi ve Okuma kümesi ile ilişkilendirilmiştir. Load için bellek adresi okuma kümesine alınır. Store için bellek adresi ve yazılacak veri yazma kümesine alınır.

Çakışma Sezme Sabırsız Sezme (Eager detection) – Hareketteki tüm okuma yazma kümeleri kontrol edilir Uyuşuk Sezme (Lazy detection) – hareket tamamlanacak noktaya gelene kadar beklenir – Daha sonra okuma yazma kümeleri diğer işçiğin okuma yazma kümeleri ile karşılaştırılır.

Çakışma Sezme

Çözüm genellikle çakışmaya neden olan hareketlerden birinin kesilmesi olacaktır. hangi hareketin kesilmesi hangi hareketin tamamlanması gerektiğine nasıl karar verilecek?

Çakışma Sezme

Hareket Tabanlı Bellekler Donanımsal Hareket Tabanlı Bellek (HTM) Yazılımsal Hareket Tabanlı Bellek (STM): donanımsal hiçbir değişikliğe gerek duymayan sistemlerdir Karma Hareket Tabanlı Bellek: Donanım temelli olup yazılımdan da destek alan (HyTM-Hybrid TM) ya da Yazılım temelli olup donanımdan da destek alan (HaSTM-Hardware assisted TM) çeşitleri vardır.

HTM - Soyutlama Hareketler için ISA üzerindeki değişikliklerle bir kaç komut eklenmiştir: – STR (start transaction) : hareket başlangıcı – ETR (end transaction) : hareket sonu – TLD : hareket için load komutunun özel bir versiyonu – TST: hareket için store komutunun özel bir versiyonu – ABR(abort) : hareketin kesilmesi için – VLD (validation): geçerlilik

HTM- Veri versiyonlama Güncelleme tamponu Güncelleme tamponu: – veri cebinde – donanım tampon

HTM – Çakışma Sezme MESI cep tutarlılık protokolü kullanılır. Bu protokol için fazladan iki bit eklenmesi yeterlidir. MESI protokolü, ilgili blokta (cache line) şu bilgileri tutar: – M (modified) : cepteki veri güncellenmiş ve bellektekinden farklı. Bellek güncellemesi gerekir. – E (exclusive): cepteki veri güncellenmemiş, bellektekiyle aynı – S (shared): paylaşılan bellek alanı – I (invalid): cepteki veri geçersiz, belleğe yazılmamalı

STM - Soyutlama Hareket içindeki veriler için ayrı bir veri yapısı kullanılması STM tarafından özel metadataların kullanılması. Diller, derleyiciler ve kütüphaneler ile sağlanır Haskell, Atomus, Argus,C# dilleri...

STM – derleyici rolü

STM – veri versiyonlama Güncelleme Tamponu – Her harekete özel gölge kopyası (shadow copy) – okuma başvuruları da bu gölge kopyaya başvurur – Okuma için gölge kopya içinde arama maliyetli

STM – veri versiyonlama Geri- al günlüğü – Güncelleme doğrudan küme bellek (heap) üzerinde yapılır ve günlüğe kaydedilir – Okuma işlemlerinde hareket içi tutarlılık sağlanır, aramaya gerek kalmaz!

STM – Çakışma Sezme Engelsiz(Non-blocking) Hareket Verisi kilitleme (transactional lock) – Karşılaşma anında (encounter-time) – Tamamlanma anında (commit time) Karma (Hybrid)

HTM / STM HTM hızlı ve tam işlevsel, ancak hareket boyu (transaction size) sınırlı (max. Veri cebi boyu) STM, esnek, hareket boyu sınırı sanal belleğe kadar uzanıyor, ancak HTMye göre hantal kalıyor.

Bütünleşik HTB Temelde yazılımsal hareket tabanlı bellek olmakla birlikte daha hızlı çalışması için donanımla desteklenmiş bir sistemdir.

Bütünleşik HTB – HTM eklentileri Güncelleme Uyarısı (alert-on-update) – Hareket ilgilendiği alanı işaretliyor ve oluşan bir güncellemede haberdar ediliyor. – Hızlı çakışma denetimi programlanabilir veri izolasyonu (programmable data isolation) – MESI protokolü genişletilerek TMESI protokolü oluşturulmuş – Hareket içindeki değişiklikler T(M,I,E) gibi tutulup daha sonra belleğe yansıtılıyor. – Hızlı sonuçlanan tamamlama/kesme

Bütünleşik HTB - STM Bütünleşik hareket tabanlı bellek: – Engelsiz (nonblocking) çalışan – Özel hareket veri nesneleri içeren – Çakışma sezme için sabırsız/uyuşuk arasında geçiş yapma esnekliğine sahip, aynı zamanda donanımdan gelen uyarıları dinleyen – Hareket boyu için sınırsız kapasite kullanabilen – Tamamlanma/kesilme durumlarını hızlı kotaran – Güncelleme tamponu olarak CPUya daha yakın ikinci bir cep ve hareket nesnelerinin kopyasını kullanabilen.

Kaynakça Harris T., Cristal A., Unsal O.S., Ayguade E., Gagliardi F., Smith B., Valero M., “Transactional Memory: An Overview”, IEEE Computer Society publications, May-June Ananian C. S., Asanovic K., Kuszmaul B. C., Leiserson C. E., Lie S.,“Unbounded transactional Memory”, Proceedings of the 11th Int’l Symposium on High-Performance Computer Architecture, IEEE,2005. Dice D., Shavit N.,“Understanding tradeoffs in Software Transactional memory”, International Symposium on Code Generation and Optimization, IEEE,2007 Shriraman A., Spear M. F., Hossain H., Marathe V. J., Dwarkadas S., Scott M. L., “An Integrated Hardware-Software Approach to Flexible Transactional Memory”, Department of Computer Science, University of Rochester, 2006 Blundell C., Lewis E. C., Martin M. M. K., “Subtleties of Transactional Memory Atomicity Semantics”,IEEE Computer Architecture Letters VOL. 5, NO. 2, 2006 “Software Transactional Memory”, “MESI protocol”, “Rochester Software Transactional Memory”,