11 Temmuz 2013, 10:09 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Intel TBB Kütüphanesi Intel Threading Building Blocks TBB olarak da bilinen Intel Threading Building Blocks, Intel firması tarafından geliştirilmiş, multi çekirdek avantajını kullanan programlar yazmak için hazırlanmış açık kaynak bir C++ template kütüphanesidir. TBB, kullanıcıyı bazı karmaşık işlerden kurtarmak için tasarlanmıştır. POSIX veya Boost kütüphaneleri gibi bireysel thread yönetimi, senkronizayon ve manual olarak thread sonlandırma gibi programcıyı zorlayacak işler ile uğraşmaz. Bunların yerine kütüphane içerisinde sadece veri yapıları ve algoritmalar vardır. TBB ile tasarlanmış bir programda, yapılacak işler karmaşıklığına göre kütüphanenin run-time motoru sayesinde task adı verilen yapılar oluşturulur, tasklar çekirdeklere dağıtılır ve böylece program kullanıcıya bırakılmadan optimize edilir. Bir TBB programı, içerdiği algoritmalara göre birbirlerine bağlı tasklar yaratır, senkronize eder ve sonlandırırlar. Bu taskların birbirlerine bağlanması işlemi Graph adı verilen yapı sayesinde oluşturulur. Bu yaklaşım TBB kütüphanesini, paralel programlama çözümleri arasına sokar. Implementation TBB, çekirdek utilization ve scaling işlemlerini artırmak için taskları çekirdeklere ayırarak dengeli bir şekilde çalışma mekanizması sağlar. Bu işleme ’task stealing’ adı verilir. TBB task stealing modeli, yine Intel firmasının bir ürünü olan Cilk içerisindeki uygulanmış task stealing modeline benzer. İş yükü mümkün olduğunca uygun durumdaki çekirdeklere paylaştırılır. Eğer bir çekirdek önemli bir iş yüküne sahipken boşa çıkan bir çekirdek olduğu anda TBB iş yükünü belli oranlarda bölerek boşta olan çekirdeğe de iş yükü yükler. Bu dinamik işler, programcıyı makineden soyutlayarak uygulamanın kaynak kodlarda herhangi bir değişiklik yapmadan veya herhangi bir program dosyası çalıştırmadan işlem yapan çekirdeklere utilization ve scaling gibi optimizasyon fırsatları sunar. Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Yukarıdaki şekilde, ilerleyen teknoloji sayesinde artacak çekirdek sayısı ile uygulama performası arasındaki ilişki gösterilmiştir. TBB, programcıya yüksek seviye multi thread imkanı sunarken alt seviye detaylarla uğraşmasını da engeller. Böylece programcı, mimari üzerindeki çekirdek sayısı, iş yükü gibi detaylarla ilgilenmeyerek daha uygun şekilde program geliştirebilir. TBB, standart template kütüphanesi olan STL gibi, template yapılar kullanır. Bu yapı, programcıya düşük seviye polymorphism kullanma imkanı verir. Kütüphane İçeriği 1) Temel Algoritmalar : parallel_for, parallel_reduce, parallel_scan 2) İleri Seviye Algorithmalar : parallel_while, parallel_do, parallel_pipeline, parallel_sort 3) Container : concurrent_queue, concurrent_priority, concurrent_vector, concurrent_hash_map 4) Genişletilebilir Hafızalar : scalable_malloc, scalable_free, scalable_realloc, scalable_calloc, scalable_allocator, scalable_aligned_allocator 5) Mutual Exclusion : mutex, spin_mutex, queuing_mutex, spin_rw_mutex, queuing_rw_mutex, recursive_mutex 6) Atomic Operasyonlar : fetch_and_add, fetch_and_increment, fetch_and_decrement, compare_and_swap, fetch_and_store 7) Zamanlama : Taşınabilir ve iyi bir şekilde hücrelendirilmiş global time stamp 8) Pipeline-Filter : Pipeline içerisinde yerleştirilip seri şekilde çalışan filtreler. 9) Task Scheduler : Taskların yaratılması ve aktive edilmesini kontrol etmeye direk erişim. Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Desteklediği Sistemler Son olarak çıkarılan TBB 4.1 Microsoft XP ve üzeri, MAC OS X 10.5.8 ve üzeri ve her türlü Linux versiyonunda kullanılabilir. Bunların yanı sıra TBB komitesi kütüphanenin Sun Solaris, PowerPC, Xbox 360, QNX Neutrino ve FreeBSD sistemlerinde de kullanılabileceğini bildirmiştir. Wikipedia’dan derlenmiştir. | |
|
Etiketler |
intel, kütüphanesi, tbb |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Oyuncak kütüphanesi | Aze | Haber Arşivi | 0 | 09 Ağustos 2012 14:54 |
C# Matematik Kütüphanesi | Sunay | C# | 0 | 23 Nisan 2010 19:55 |
Iskenderiye kütüphanesi | Süslü | Merak Ettikleriniz | 0 | 10 Şubat 2010 23:48 |
Ziya bey kütüphanesi | PopSy | Felsefe | 0 | 24 Mart 2009 00:39 |