Burak Selim Senyurt
Matematik Mühendisi bir .NET Severin Yazıları...

Parallel Programming–Reduction

Cuma, 2 Aralık 2011 22:51 by bsenyurt
Merhaba Arkadaşlar, Neredeyse son bir kaç saattir yoğun bir şekilde Wolfenstein isimli bilgisayar oyununu oynamaktaydım. Aslında çok fazla bilgisayar oyunu oynayan birisi değilimdir. Hatta bu oyunun ilk versiyonunu çok çok uzun zaman önce oynadığımı ve arada çok az oyunla haşır neşir olduğumu itiraf edebilirim Lakin bazen oyun perisi gelip beni bir dürtmekte ve saatlerce bilgisayar başından kalkmadan oyun oynamamı istemekte. Bu gece kendisini kıram... [Fazlası]

Task Relations–Continuation Metodları

Cuma, 18 Kasım 2011 23:00 by bsenyurt
Merhaba Arkadaşlar, Böylesine yağmurlu ve sabah trafiğinin tavan yaptığı bir günde size ne Radyo Eksen’ deki güzel melodiler, ne de okuduğunuz mizah dergisindeki karikatürler iyi gelmiyorsa, başka bir şeyle uğraşmanın yeridir diyebilirim. Ben bu sıkıntıyı aşmak ve kendimi daha iyi hissetmek adına bir makale daha yazmaya karar verdim ve hemen Windows Live Writer programını açtım Yanında da Paint.Net’ i. Bakalım bu gün menümüzde neler var?(Ge... [Fazlası]

Barrier Class, Sıralama Algoritmaları ve At Yarışı

Pazartesi, 17 Ekim 2011 21:47 by bsenyurt
Merhaba Arkadaşlar, At yarışlarına pek ilgim yoktur aslında ama tam da bu günlerde okuduğum kitap nedeniyle, paralel programlama ile aralarında sıkı bir ilişki olduğunu ifade edebilirim   Bildiğiniz üzere bu yarışların pek çok meraklısı bulunmaktadır. Özellikle yarışları stadyumdan seyredenler oldukça heyecanlıdır. Gerçi yarışın başlamasından önceki tahminler tam başlangıç anında yerini endişeye bırakır. Bizim gibi yazılımcılar için &o... [Fazlası]

Composite Cancellations

Pazartesi, 20 Aralık 2010 00:15 by bsenyurt
Merhaba Arkadaşlar, Hatırlayacağınız üzere bir önceki yazımızda (Task İptal İşlemlerinin İzlenmesi(Monitoring Cancellation) ) Task Cancellation işlemlerinin izlenmesi ile ilişkili teknikleri ve konuları irdelemeye başlamıştık. Bu yazımızda da iptal işlemleri ile ilgili farklı bir konuya değinmeye çalışıyor olacağız. Bu gün kü konumuz Composite Cancellation vakası. Bildiğiniz üzere Task iptal taleplerinde, CancellationTokenSource örneğine ait Cancel metodun... [Fazlası]

Task İptal İşlemlerinin İzlenmesi(Monitoring Cancellation)

Pazartesi, 20 Aralık 2010 00:10 by bsenyurt
Merhaba Arkadaşlar, Bu yazımızda daha önceden .Net Framework Beta 1 ve Beta 2 sürümlerinde incelediğimiz Task iptal işlemlerini son sürümde ele alıp toparlamaya çalışıyor olacağız. Task iptal işlemleri oldukça önemli ve üzerinde titizlikle durulması gereken bir konudur. Nitekim bazı hallerde çalıştırılmakta olan Task işlevlerinin iptal edilmesi gerekebilir. Bu iptal işlemi, sistem tarafından her hangibir koşulun gerçeklenmesi sonuc... [Fazlası]

TPL Senkronizasyonu Sağlamak – 2 (Interlocked)

Pazar, 19 Aralık 2010 00:45 by bsenyurt
Merhaba Arkadaşlar, “Seçimi zaten yaptın. Şimdi onu anlaman gerekli.” Sanırım Matrix filminde Neo ile Oracle’ ın felsefe içeren ve uzun uzun düşünüldüğünde akla son derece anlaşılır gelen bir kaç sohbetinde geçen repliklerden birisi de buydu. Aslında ben bunu kendi hayatımda zaman zaman “Çözümü uyguladın. Şimdi onun her parçasının ne anlama geldiğini öğrenmen gerekli” diye &cced... [Fazlası]

TPL Senkronizasyonu Sağlamak - 1

Pazar, 19 Aralık 2010 00:40 by bsenyurt
Merhaba Arkadaşlar, Pek çoğumuzun anahtarlığında sayısız anahtar bulunmaktadır. Özellike gerilim filmlerinde bu anahtarlardan doğru olanı bulmak ve anahtar deliğine sokmak, hep zaman alan başarısız kaçış girişimleri olarak sahnelenir. Genellikle bu başarız girişimlerin sonunda ne olduğu malumdur. Ancak ister gerilim filmi olsun ister olmasın sonuçta anahtar deliğine herhangibir zamanda takılabilecek sadece tek bir anahtar söz konusudur. Üstelik bu anahtar, a... [Fazlası]

TPL ve Shared Data Isolation

Pazar, 19 Aralık 2010 00:35 by bsenyurt
Merhaba Arkadaşlar, Sanıyorum ki, “Bir elin nesi var, iki elin sesi var” deyimini bilmeyen yoktur. Bir matematikçi olarak tüme varım yaparsam, n tane elin çok daha sesli olduğunu ispat etmek isteyebilirim. Ne varki dünya kupasındaki n tane elin tuttuğu Vuvuzela’ ların çıkarttığı sesi düşününce, bu teoremden hemen vazgeçebilirim de. Neyseki konumuz bu değil. Konumuz paralel kütüphanede, paylaşımlı verileri nasıl ele... [Fazlası]

Paralel Programlamada İstisna Yönetimi

Pazar, 19 Aralık 2010 00:30 by bsenyurt
Merhaba Arkadaşlar, Balık tutmak farklı bir hobidir. Özellikle olta ile balık yakalamaktan büyük keyif alanlar vardır. (Hatta laf aramızda, şirkette yanımda oturan çalışma arkadaşımın çekmecesinde, bir olta takımı var) Çoğu zaman Haliç köprüsü gibi alanlarda yandaki resimde olduğu gibi bu işin sevdalılarını görebiliriz. Kimisi sabahın erken saatlerinde gelip, akşamın geç saatlerine kadar burada olta sallar ve “Rastge... [Fazlası]

Task Wait,WaitAll,WaitAny

Pazar, 19 Aralık 2010 00:25 by bsenyurt
Merhaba Arkadaşlar, Task Süreçlerinde Bilinçli Olarak Duraksatma başlıklı bir önceki yazımızda CancellationToken.WaitHandle.WaitOne, Thread.Sleep ve Thread.SpinWait metodlarından yararlanarak bir Task çalışmasının bekletme işlemlerinin nasıl yapılabileceğini incelemeye çalışmıştık. Özellikle WaitOne metodunun, CancellationToken.WaitHandle özeliği üzerinden çalıştırıldığını unutmayalım. Diğer yandan tüm bu teknikleri Task gövd... [Fazlası]

Task Süreçlerinde Bilinçli Olarak Duraksatma

Pazar, 19 Aralık 2010 00:20 by bsenyurt
Merhaba Arkadaşlar, Pek çoğumuz hayatımızın çeşitli dönemlerinde ayakta veya oturarak bir şeyler için beklemek zorunda kalırız. Kimi zaman seyahat edeceğimiz yere gidecek aracı bekleriz. Özellikle uçak seyahatleri gibi gecikmelerin sıklıkla yaşanabileceği durumlardan tutunda, İstanbul trafiğinin akşam saatlerindeki yoğunluğu yüzünden yine belirsiz süre dolmuş beklenmesi gibi hallerle sıklıkla karşılaşılır. Fakat bazı zamanlarda belirli s&uu... [Fazlası]

AttachedToParent Hakkında Detaylar

Perşembe, 2 Eylül 2010 20:30 by bsenyurt
Merhaba Arkadaşlar, Malum "her yiğidin farklı bir yoğurt yiğiş tarzı vardır" derler. Genellikle programlama dilleri veya .Net Framework gibi yapılarda da bir sonuca ulaşmak için birden fazla ve farklı yol söz konusu olabilir. Böyle bir durumun oluşmasına neden olan etkenlerin başında, çevresel ortam parametrelerinin farklılaşmasının geldiğini ifade edebiliriz. Çok basit bir kaç örnek vererek olayı kafamızda daha net bir şekilde canlandırmaya ça... [Fazlası]

Parent-Child Task Exception Durumları

Salı, 3 Ağustos 2010 09:10 by bsenyurt
Merhaba Arkadaşlar, Daha orta okul sıralarındayken havacılığa karşı müthiş bir ilgim vardı. Hiç unutmuyorum o yıllarda Uçan Türk dergisinin sıkı bir fanatiğiydim. Pek çok savaş uçağının teknik özelliklerini ezbere bilirdim ve hatta onları arşivlediğim bir not defterim dahi vardı. Uçmaktan korkan birisi olmama rağmen bunu yeneceğimi düşünerekten Lise yıllarında Hava Harp Okuluna girebilmek için özel bir çalışma progra... [Fazlası]

TPL – Göz Göre Göre Başımızı Belaya Sokmak

Pazartesi, 21 Haziran 2010 18:08 by bsenyurt
Merhaba Arkadaşlar, Bazen göz göre göre başımıza bi ton dert açarız. Kimi zaman başlayacağımız iş bize çok eğlenceli gelebilir (Yandaki resimde yüzü görünmeyen şahsın da bu heyacanla Hamburgere bindiğinden eminiz) Ama işin sonuçlarını biliyorsak eğer, bunu yapmamızın nedeni büyük olasılıkla adrenalindir. Tabi ki bir yazılımcı için adrenalin genellikle üst yöneticisi tarafından salgılanan bir hormondur. Nitekim y... [Fazlası]

Parent-Child Tasks Kavramı

Cuma, 11 Haziran 2010 14:00 by bsenyurt
Merhaba Arkadaşlar, Planlama gerçek hayatta her zaman karşımıza çıkan ve yaşamımızın, işlerimizin düzenli devam edebilmesi için gereken olmazsa olmazlar arasında yer alan bir kavramdır. Toplantıların planlanmasından tutun da, işlerin hangi sırada yapılacağına karar verilmesine kadar pek çok yerde planlamanın önemini görürüz. Aslında başarılı sistemlerin tasarlanması, çalışması ve istenen sonuçları üretmesi iyi planlamayla i... [Fazlası]

Int32 ve Int64 Haricindekiler için Parallel.ForEach

Pazartesi, 17 Mayıs 2010 09:46 by bsenyurt
Merhaba Arkadaşlar, Bir kaç yıl öncesine kadar Bizitek firmasına Junior Developer olarak görev almaktaydım. Bu şirkette çalıştığım süre boyunca pek çok projede görev alma fırsatım oldu. Ancak genellikle şirketin iş akışları üzerine geliştirdiği bir ürünün kurulması ve ihtiyaçlara göre düzenlenmesi ile ilgilenmekteydim. Söz konusu uygulamanın belki de en önemli özelliklerinden birisi, kurulduğu firmanın ... [Fazlası]

Paralel Programlamada Performans, Hız, Verimlilik ve Ölçeklenebilirlik Ölçümleri

Pazartesi, 22 Şubat 2010 10:05 by bsenyurt
Merhaba Arkadaşlar, Ben Matematik Mühendisliği eğitimi almış bir bireyim. Öğrenim hayatım boyunca en çok yaptığım işlerden birisi, matematiksel teoremlerin bilimsel ispatlarını gerçekleştirmek olmuştur. Hemen hemen mühandisliğin her alanındaki farklı problemlerin modellenmesi ve ispatlarının yapılarak en uygun yol olduklarının gösterilmesi adına pek çok kağıt karalamış ve tüketmişimdir. Zaman zaman neden yaptığımızı anlamadığım ispatlardan tutu... [Fazlası]

Webiner - .Net 4.0 ile Paralel Programlamaya Giriş [Beta 2]

Cumartesi, 26 Aralık 2009 01:45 by bsenyurt
Merhaba Arkadaşlar, Bundan yıllar önce üniversitede öğrenciyken ilk kişisel bilgisayarımı almak üzere rahmetli babam ile birlikte Perpa' ya gittiğimi hatırlıyorum. O sıralar piyasada var olan bilgisayar dergilerini hatırlıyorum da...486 DX-33 tabanlı işlemcilere sahip sistemler anlatılıyor ve öneriliyordu. Ancak bütçe belli olunca Perpa' daki mağazada ancak 486 SX-25 işlemcili bir modeli alabileceğimizi farketmiştik. Aradaki tek farkın, SX-25' in DX-33'... [Fazlası]

Parallel.For Metodu için Stop, Break Kullanımı [Beta 1]

Perşembe, 18 Haziran 2009 18:32 by bsenyurt
Merhaba Arkadaşlar, Parallel.For metodu bildiğiniz gibi döngüsel işlemleri birden fazla göreve bölerek kısa sürede yapılmasına olanak sağlamaktadır. Bu yazımda, kelimeler ile ifade etmeyi bir türlü beceremediğim ancak bir örnek üzerinden sizlere aktarabileceğim Stop ve Break metodları üzerinde durmaya çalışacağım. Aslında amaç tahmin edeceğiniz üzere paralel çalışan döngü içerisinden çıkmak. Bu a... [Fazlası]

Concurrent Collections : Macera BlockingCollection ile Devam Ediyor [Beta 1]

Salı, 16 Haziran 2009 18:54 by bsenyurt
Merhaba Arkadaşlar, Bir önceki blog yazımda paralel programlama kabiliyetlerinden birisi olan Concurrent Collections(Eş Zamanlı Koleksiyonlar) kavramını incelemeye çalışmıştım. Ne varki kendimi bunlara olan gereklilikler konusunda bir süredir ikna edebilmiş değilim. Dolayısıyla ihtiyaçları ortaya koymak adına basit bir senaryo üzerinden ilerlemeye karar verdim. Aslında eş zamanlı koleksiyonların kullanılması için en büyük gereksinim, bir koleksiyonu... [Fazlası]

Concurrent Collections (Eş Zamanlı Koleksiyonlar) [Beta 1]

Cumartesi, 13 Haziran 2009 01:20 by bsenyurt
Merhaba Arkadaşlar, .Net Framework 4.0 ve içerdiği paralel genişletmeler(Parallel Extensions) ile birlikte gelmekte olan yenilikler arasında, eş zamanlı(Concurrent) çalışabilen ve Thread Safe olan koleksiyonlarda bulunmaktadır. Bu koleksiyonlar aslında veri yapıları(Data Structures) ile birlikte gelen yeni tipler arasında yer almaktadır. Geçtiğimiz günlerde çok şanslı bir insan olarak hafta sonumu bir tatil beldesinde geçirirken, bu kez gecenin deri... [Fazlası]