SORU
21 ŞUBAT 2013, PERŞEMBE


Neden Haskell hiçbir örtülü paralellik var mı?

Haskell fonksiyonel ve saf, temelde tüm özellikleri bir derleyici implicit parallelism mücadele edebilmek için ihtiyaç vardır.

Düşünün bu önemsiz bir örnek:

f = do
  a <- Just 1
  b <- Just $ Just 2
  -- ^ The above line does not utilize an `a` variable, so it can be safely
  -- executed in parallel with the preceding line
  c <- b
  -- ^ The above line references a `b` variable, so it can only be executed
  -- sequentially after it
  return (a, c)
  -- On the exit from a monad scope we wait for all computations to finish and 
  -- gather the results

Şematik olarak yürütme planı olarak tarif edilebilir:

               do
                |
       --------- --------- 
      |                   |
  a <- Just 1      b <- Just $ Just 2
      |                   |
      |                 c <- b
      |                   |
       --------- --------- 
                |
           return (a, c)

Neden bu tür bir işlevi derleyici uygulanan bir bayrak veya bir pragma henüz var mı? Pratik sebepleri nelerdir?

CEVAP
21 ŞUBAT 2013, PERŞEMBE


Bu kadar uzun süre çalışılan bir konudur. Örtülü olarak Haskell kodu paralellik türetmek mümkün olmakla birlikte, sorun çok fazla paralellik, çok ince taneli, mevcut donanım için.

Tutmak kitap, işler daha hızlı çalışan değil, çaba harcama sonunda.

Sonsuz paralel donanım olmadığına göre, doğru parçalı yapı -- toplama da olur kaba ve boşta işlemci olacak, çok ince ve giderleri kabul edilemez olacaktır.

Ne var daha iri taneli paralellik (kıvılcım) uygun üreten binlerce hatta milyonlarca paralel görevler (yani öğretim düzeyi), hangi harita aşağı üzerine sadece avuç çekirdek var biz genellikle bugün mevcut.

(Örneğin dizi işleme) bazı alt kümeleri için sıkı maliyet modelleri ile tam otomatik paralellik kütüphaneler olduğunu unutmayın.

Bu arka plan için par ekleme için otomatik bir yaklaşım tanıtmak, http://research.microsoft.com/en-us/um/people/tharris/papers/2007-fdip.pdf, keyfi Haskell programlarına bakın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • Miles Fisher

    Miles Fisher

    8 NİSAN 2009