---
title: 'Paralel İşleme Sınırları'
source: 'https://academia.sh/tr/kurslar/gorsellestirme-ve-raporlama/paralel-isleme-sinirlari'
course: 'Görselleştirme, Raporlama ve Ölçekli Analiz'
language: tr
updated: '2026-08-17T18:08:48+00:00'
license: 'CC BY-SA 4.0'
---

# Paralel İşleme Sınırları

Dağıtımın maliyeti ve ne zaman gereksiz olduğu, bölünemeyen pay ile hızlanma tavanı üzerinden sayılıyor: kurgu rapor zincirinin 6.753 dokunuşunun 310'u bölünemez, pay yüzde 4,59 ve tavan 21,78 kattır. Bölünemeyen pay yüzde 2 iken tavan 50, yüzde 30 iken 3,33 kattır ve 4.096 birim bile tavanı geçemez. Eklenen birim başına kazanç 0,91'den 0,00011'e iner; 256 birimden sonra her yeni birim binde ikiden az kazandırır. Tavanın iş boyuyla nasıl davrandığı bir varsayım kararıdır: bölünemeyen kalemler sabit sayılırsa tavan 206.388 kata çıkar, eşgüdüm kalemi ile satır kümesi başlığı iş boyuyla büyütülürse 43,64 katta doyar. Kurs kapanışı on sekiz dersin kaynaktaki ve geri okunan sayısını, müfredat kapanışı M26'nın altı kursunu ve 90 dersini tek tabloda toplar.

Dört ders dağıtımın kalemlerini tek tek saydı: karışım geçişinde taşınan kayıt, iş başına eklenen
eşgüdüm kalemi, dosya düzeninin okuttuğu değer. Üçü de azaltılabilir kalemlerdi ve her birinde
savunulabilir iki karar bulundu. Bu ders azaltılamayan payı ölçer.

Bir işin her adımı bölünmez. Kaynağın şeması bir kez okunur, iş planı bir kez çıkarılır, sonuç
tablosu bir kez kurulur ve yazılır; bu adımlar kaç birim eklenirse eklensin bir kez yapılır ve
süreleri kısalmaz. Dersin ölçüsü **bölünemeyen paydır** — işin bölünemeyen kısmının toplam işe
oranı — ve o paydan türeyen ikinci sayı **hızlanma tavanıdır**: birim sayısı sonsuza gitse bile
hızlanmanın çıkabileceği en yüksek kat.

- **OA25.** Rapor zinciri önceki dört dersin saydığı kalemlerden kurulur ve **kurgudur**: satır
  sayısı 3.199, başlık değeri 150 (dördüncü dersin en iyi satır kümesi boyutundan), eşgüdüm kalemi
  100 (üçüncü dersin dört aşama ve sekiz bölümlü zincirinden), karışım geçişinde taşınan kayıt 40
  (ikinci dersten). **Modeldir.**
- **OA26.** İş birimi bir dokunuştur; ham milisaniye yazılmaz ve ölçülen sayı **hızlanma katıdır**.
- **OA27.** Hızlanma, bölünemeyen pay $s$ ve birim sayısı $p$ ile
  $1 / (s + (1 - s) / p)$ olarak hesaplanır; $p$ sonsuza giderken tavan $1 / s$ olur.
- **OA28.** Bölünebilir adımların birimler arasında eşit dağıldığı varsayılır. Bölüm dengesizliği
  M26/K04'te ölçüldü ve burada hesaba katılmaz; bu varsayım tavanı **iyimser** verir.
- **OA29.** Bölünemeyen kalemlerin iş boyuyla büyüyüp büyümediği bir karardır ve iki varsayımla
  sınanır: sabit kalan seri ile üçüncü ve dördüncü dersin formüllerine göre büyüyen seri.
- **OA30.** Tavanın yüzde 90'ına varmak için gereken birim sayısı ikinin katları taranarak bulunur.

## İşin Bölünemeyen Payı

```python
# tavan.py — isin bolunemeyen payi ve hizlanma tavani. MODELDIR: rapor zinciri
# adimlara ayrilir, her adima bir dokunus sayisi ve bolunup bolunmedigi yazilir;
# olcu hizlanma katidir, ham sure degil.
N = 3199
ADIM = (("kaynak semasinin okunmasi", 150, "hayir"),
        ("is planinin cikarilmasi ve gorev dagitimi", 100, "hayir"),
        ("satirlarin okunmasi ve suzulmesi", N, "evet"),
        ("yerel indirgeme", N, "evet"),
        ("karisim gecisinde tasinan kayit", 40, "evet"),
        ("son indirgeme (5 anahtar)", 5, "evet"),
        ("tek rapor tablosunun kurulmasi ve yazimi", 60, "hayir"))

print(f"{'adim':<42}{'dokunus':>9}{'bolunur':>9}")
for ad, d, b in ADIM:
    print(f"{ad:<42}{d:>9}{b:>9}")
TOPLAM = sum(d for _, d, _ in ADIM)
SERI = sum(d for _, d, b in ADIM if b == "hayir")
S = SERI / TOPLAM
print(f"toplam dokunus {TOPLAM}, bolunemeyen {SERI}, bolunemeyen pay "
      f"{100 * S:.2f} yuzde, hizlanma tavani {1 / S:.2f} kat")
```

```
adim                                        dokunus  bolunur
kaynak semasinin okunmasi                       150    hayir
is planinin cikarilmasi ve gorev dagitimi       100    hayir
satirlarin okunmasi ve suzulmesi               3199     evet
yerel indirgeme                                3199     evet
karisim gecisinde tasinan kayit                  40     evet
son indirgeme (5 anahtar)                         5     evet
tek rapor tablosunun kurulmasi ve yazimi         60    hayir
toplam dokunus 6753, bolunemeyen 310, bolunemeyen pay 4.59 yuzde, hizlanma tavani 21.78 kat
```

Bölünemeyen pay bir kod özelliği değil, bir **adım listesidir**. Tablodaki üç adım toplam 310
dokunuş tutuyor ve 6.753 dokunuşluk işin yüzde 4,59'unu ediyor. Üçünün de bölünmemesinin ayrı bir
sebebi var: şema okuma kaynağın tek bir yerinde durur, iş planı bütün bölümleri görmek zorundadır,
sonuç tablosu tek bir çıktı olmalıdır.

Yüzde 4,59 küçük bir sayı gibi durur. Karşılığı 21,78 kattır: bu işi kaç birime bölerseniz bölün,
hızlanma 21,78 katı geçemez. Yüzde 4,59'luk bir pay hızlanmanın yirmi ikide birini baştan kesiyor.

## Hızlanma Tavanı

```python

# hizlanma.py — ayni is farkli bolunemeyen paylarla ve artan birim sayisiyla
# kosulur. hizlanma(p) = 1 / (s + (1 - s) / p); tavan p sonsuza giderken 1 / s.
BIRIM = (1, 2, 4, 8, 16, 64, 256, 1024, 4096)


def hizlanma(s, p):
    return 1.0 / (s + (1.0 - s) / p)


def yuzde90(s):
    p = 1
    while hizlanma(s, p) < 0.9 / s and p < 10 ** 7:
        p *= 2
    return p


PAY = (0.02, S, 0.10, 0.30)
print("birim".ljust(8) + "".join(f"s={s:.4f}".rjust(10) for s in PAY))
for p in BIRIM:
    print(f"{p:<8}" + "".join(f"{hizlanma(s, p):>10.2f}" for s in PAY))
print(f"{'tavan':<8}" + "".join(f"{1 / s:>10.2f}" for s in PAY))
print(f"{'p90':<8}" + "".join(f"{yuzde90(s):>10}" for s in PAY))
```

```
birim     s=0.0200  s=0.0459  s=0.1000  s=0.3000
1             1.00      1.00      1.00      1.00
2             1.96      1.91      1.82      1.54
4             3.77      3.52      3.08      2.11
8             7.02      6.05      4.71      2.58
16           12.31      9.48      6.40      2.91
64           28.32     16.44      8.77      3.22
256          41.97     20.15      9.66      3.30
1024         47.72     21.35      9.91      3.33
4096         49.41     21.67      9.98      3.33
tavan        50.00     21.78     10.00      3.33
p90            512       256       128        32
```

Tablonun sağ sütunu en öğreticisidir. Bölünemeyen pay yüzde 30 olduğunda 4.096 birim **3,33 kat**
veriyor: dört bin doksan altı birim, üç buçuk kat. Aynı işin iki birimle hızlanması 1,54 kat; yani
son 4.094 birim yalnız 1,79 kat ekliyor. Payın yüzde 30 olması işin yüzde 70'inin bölünebildiği
anlamına gelir ve bu, kulağa dağıtılabilir bir iş gibi gelir.

Sol sütun aynı şeyi tersinden gösteriyor. Bölünemeyen pay yüzde 2 iken tavan 50 kat ve 4.096 birim
49,41 kat veriyor. Yüzde 2 ile yüzde 30 arasındaki fark on beş kat değil, tavanda **on beş kat**
farktır: 50'ye karşı 3,33. Bölünemeyen pay doğrusal artar, tavan tersine orantılı düşer.

Son satır işin pratik tarafını veriyor. Tavanın yüzde 90'ına varmak için gereken birim sayısı, pay
küçüldükçe büyüyor: yüzde 30'da 32 birim yetiyor, yüzde 2'de 512 birim gerekiyor. Küçük bölünemeyen
pay yüksek tavan verir, ama o tavana varmak için daha çok birim ister.

## Eklenen Birim ve Tavanın Kendisi

```python

# sinir.py — tavan yaklastikca eklenen birimin kazandirdigi kat erir; ve
# bolunemeyen pay is boyuyla degisir cunku bolunebilir kalemler buyur,
# bolunemeyen kalemler buyumez.
print(f"bolunemeyen pay {100 * S:.2f} yuzde; tavan {1 / S:.2f} kat")
print(f"{'birim':<8}{'hizlanma':>10}{'onceki katindan artis':>23}"
      f"{'eklenen birim basina':>22}{'tavana uzaklik':>16}")
onceki_p, onceki_h = 1, 1.0
for p in BIRIM[1:]:
    h = hizlanma(S, p)
    print(f"{p:<8}{h:>10.2f}{h - onceki_h:>23.3f}"
          f"{(h - onceki_h) / (p - onceki_p):>22.5f}{1 / S - h:>16.2f}")
    onceki_p, onceki_h = p, h

import math
SABIT = sum(d for _, d, b in ADIM if b == "hayir")


def buyuyen(n):
    """03'un esgudum kalemi ve 04'un baslik degeri is boyuyla buyur."""
    bolum = max(8, math.ceil(n / 400000))
    return 4 * bolum * 3 + 4 + 3 * math.ceil(n / 64) + 60


print(f"{'is boyu':<12}{'bolunebilir':>13}{'sabit seri':>11}{'sabit tavan':>13}"
      f"{'buyuyen seri':>14}{'buyuyen tavan':>15}{'p90':>9}")
for n in (3199, 31990, 319900, 3199000, 31990000):
    bol = 2 * n + 45
    s1, s2 = SABIT / (bol + SABIT), buyuyen(n) / (bol + buyuyen(n))
    print(f"{n:<12}{bol:>13}{SABIT:>11}{1 / s1:>13.1f}{buyuyen(n):>14}"
          f"{1 / s2:>15.2f}{yuzde90(s2):>9}")
EN_BUYUK = 31990000
doyum = (2 * EN_BUYUK + 45 + buyuyen(EN_BUYUK)) / buyuyen(EN_BUYUK)
print(f"sabit seri varsayimi tavani is boyuyla dogru orantili buyutur; buyuyen "
      f"seri varsayiminda tavan {doyum:.2f} katta doyar ve yuzde 90'ina 512 "
      f"birimde varilir")
```

```
bolunemeyen pay 4.59 yuzde; tavan 21.78 kat
birim     hizlanma  onceki katindan artis  eklenen birim basina  tavana uzaklik
2             1.91                  0.912               0.91222           19.87
4             3.52                  1.604               0.80180           18.27
8             6.05                  2.539               0.63466           15.73
16            9.48                  3.421               0.42762           12.31
64           16.44                  6.968               0.14517            5.34
256          20.15                  3.704               0.01929            1.64
1024         21.35                  1.202               0.00157            0.43
4096         21.67                  0.323               0.00011            0.11
is boyu       bolunebilir sabit seri  sabit tavan  buyuyen seri  buyuyen tavan      p90
3199                 6443        310         21.8           310          21.78      256
31990               64025        310        207.5          1660          39.57      512
319900             639845        310       2065.0         15157          43.21      512
3199000           6398045        310      20639.9        150115          43.62      512
31990000         63980045        310     206388.2       1500556          43.64      512
sabit seri varsayimi tavani is boyuyla dogru orantili buyutur; buyuyen seri varsayiminda tavan 43.64 katta doyar ve yuzde 90'ina 512 birimde varilir
```

İlk tablo eklenen birimin ne kazandırdığını veriyor. İkinci birim 0,91 kat ekliyor; 4.096'ncı birim
grubundaki her birim 0,00011 kat. **256 birimden sonra eklenen her birim binde ikiden az
kazandırıyor** ve tavana uzaklık 1,64 kata inmiş oluyor. Aradan sonrası ölçülebilir bir kazanç
değil, yalnızca tavana asimptotik yaklaşmadır.

İkinci tablo dersin gizlenen kararıdır. "Küme büyüdükçe dağıtım daha çok kazandırır" cümlesi
doğrudur, ama ne kadar kazandırdığı bir varsayıma bağlıdır. Bölünemeyen kalemler sabit sayılırsa
tavan iş boyuyla doğru orantılı büyür ve 31.990.000 satırda 206.388 kata çıkar. Oysa üçüncü ders
eşgüdüm kaleminin bölüm sayısıyla, dördüncü ders satır kümesi başlığının satır kümesi sayısıyla
büyüdüğünü ölçtü. Bu iki formül hesaba katıldığında tavan **43,64 katta doyuyor** ve iş boyunu
büyütmek onu bir daha oynatmıyor.

İki sayı arasındaki oran 4.729 kattır ve ikisi de aynı modelden, aynı kümeden, aynı zincirden
çıkıyor. Aradaki tek fark bölünemeyen kalemlerin iş boyuyla büyüyüp büyümediği varsayımıdır ve o
varsayım hiçbir hızlanma raporunda kendiliğinden yazılmaz.

Dağıtımın ne zaman gereksiz olduğu da buradan okunur. Kurgu kümenin 3.199 satırında tavan 21,78 kat
görünüyor, ama üçüncü ders bu iş boyunda bir eşgüdüm kalemine yalnız 61,5 satır düştüğünü ve kalem
başına 10.000 satır hedefinin 520.000 satırda karşılandığını saymıştı; birinci ders de kümenin
seçilen kararla 23.173.893 satırda tek makineye sığmaz hale geldiğini yazmıştı. Üç sayı aynı yöne
işaret ediyor: bu küme dağıtılmaz. Tavanın yüksek olması dağıtmayı gerektirmez; dağıtmayı
gerektiren şey işin kendisinin tek makineyi aşmasıdır.

## Özet

- Bölünemeyen pay bir kod özelliği değil bir adım listesidir: şema okuma, iş planı ve tek rapor
  tablosunun yazımı 310 dokunuş tutar ve 6.753 dokunuşluk işin yüzde 4,59'unu eder.
- Yüzde 4,59'luk pay hızlanma tavanını 21,78 kata çiviler; pay yüzde 2 iken tavan 50, yüzde 30 iken
  3,33 kattır ve 4.096 birim bile tavanı geçemez.
- Tavana varmak da bedavaya gelmez: tavanın yüzde 90'ına yüzde 30'luk payda 32, yüzde 2'lik payda
  512 birimde varılır.
- Eklenen birimin kazancı erir: ikinci birim 0,91 kat ekler, 256 birimden sonra her birim binde
  ikiden az ekler ve tavana uzaklık 1,64 kata iner.
- Tavanın iş boyuyla davranışı bir varsayım kararıdır: bölünemeyen kalemler sabit sayılırsa tavan
  206.388 kata çıkar, üçüncü ve dördüncü dersin formülleriyle büyütülürse 43,64 katta doyar; iki
  sayı arasında 4.729 kat vardır.
- Yüksek tavan dağıtmayı gerektirmez: 3.199 satırlık kümede tavan 21,78 kat olduğu halde kalem
  eşiği 520.000, hacim eşiği 23.173.893 satırdır.

## Kurs Kapanışı

On sekiz dersin her birinde iki sayı yan yana durdu: veride ne olduğu ve okuyana ne ulaştığı. Her
sayı kendi dersinden okundu.

| Ders | Kaynaktaki sayı | Geri okunan sayı | Fark |
|---|---|---|---|
| Grafik 01 grafik türü seçimi | doğu - kuzey 4,463 m³ | alan kanalından 2,500 m³ | -1,963 m³ |
| Grafik 02 dağılım görselleştirme | 2 tepe, uç değer 45,47 m³ | kutu özetinde 0 tepe | 2 tepe kayıp |
| Grafik 03 kategorik görselleştirme | ayrılması gereken 39 çift | yığılmışta 35 çift | 4 çift, hata yüzde 47,2 |
| Grafik 04 ilişki görselleştirme | 1.101 nokta | 309 dolu hücre | 792 nokta, yüzde 71,9 |
| Grafik 05 zaman serisi görselleştirme | eğilim -0,140 m³/dönem | -0,1347 m³/dönem | 0,0053, bedeli 12 dönem |
| Grafik 06 coğrafi görselleştirme | ortalama 19,713 m³ | alanla ağırlıklı 18,484 m³ | -1,228 m³ |
| Grafik 07 görsel yanıltma | kuzey 20,210 m³ | kırpılmış eksende 8,019 m³ | -12,191 m³ |
| Grafik 08 erişilebilir grafik | 8 seri | ton okunmayınca 4 seri | 4 seri, yedeklemeyle 0 |
| Rapor 01 gösterge tablosu tasarımı | 12 ölçüt | karara göre düzende 9 ölçüt | 3 ölçüt dışarıda |
| Rapor 02 anahtar başarım göstergeleri | kapsama 60,948 | altı yolla 93,766'ya kadar | 32,818 puan |
| Rapor 03 iş zekâsı araçları | nihai değer 63,055 | önceden toplanmışta 36,042 | 27,013 puan |
| Rapor 04 veriyle anlatı kurma | 16 önerme | bir adım eksikken 2-4 çıkarım | 11 yanlış varsayılan, 9'u lehte |
| Rapor 05 rapor yeniden üretilebilirliği | 59 sabitlenecek kalem | 11 kalemin 10'u oynatır | 36,042 ↔ 100,000 |
| Ölçek 01 büyük veri kavramı | satır başına 278,0 bayt | eşik 23.173.893 satır | 7.724.631 ↔ 247.188.193 |
| Ölçek 02 eşle-indirge modeli | 3.199 kayıt | karışımda 40 kayıt | 79,97 kat |
| Ölçek 03 dağıtık analiz motorları | 8 işlem | 4 aşama, 100 kalem | 61,5 satır/kalem |
| Ölçek 04 sütunlu depolama biçimleri | 22.393 değer | en iyi düzende 1.174 değer | 19,07 kat |
| Ölçek 05 paralel işleme sınırları | 6.753 dokunuş | tavan 21,78 kat | 43,64 ↔ 206.388 |

Üçüncü sütun kursun kuralıdır: **bir gösterim, okuyucunun geri okuyabildiği sayı kadar doğrudur;
geri okunamayan gösterim raporlanmamış sayılır.** İlk sekiz satırda geri okunan şey bir m³ değeri,
bir tepe sayısı ya da bir seri sayısıdır ve fark sütunu kanalın kaybettiğini verir. Ortadaki beş
satırda okuyucu bir karar vericidir ve geri okunan şey tek bir sayı değil karardır: kaç ölçüt
görülüyor, ölçüt ölçtüğünü oynatmadan nereye taşınabiliyor, aynı rapor ikinci kez üretilebiliyor mu.

Son beş satırda geri okunan sayı bir gösterimden değil **ölçekten** okunuyor: taşınan kayıt,
eşgüdüm kalemi, okunan değer, hızlanma katı. Kural değişmiyor. Bir hesabın bölünebilirliği de
ancak sayıldığı kadar bilinir ve sayılmayan kalem hesabın içinde değil, faturanın içinde çıkar.

M26'nın altı kursu aynı ekseni altı ayrı yerde okudu.

| Kurs | Ders | Ölçü ekseni | Birim |
|---|---|---|---|
| K01 Veri Analitiğine Giriş | 9 | sayı tanım anında oynar | tanım |
| K02 Elektronik Tablolarla Analiz | 11 | kararın yeri | kararın kurtarılabilirliği |
| K03 Veri Toplama ve Hazırlama | 17 | satır sayısı yolda değişir | giren ve çıkan satır |
| K04 Python ile Veri Analizi | 22 | soyutlamanın kazandırdığı ve gizlediği | kazanç ve gizlenen karar |
| K05 İstatistiksel Analiz ve Keşifsel Veri Analizi | 13 | sayının oynama payı | pay |
| K06 Görselleştirme, Raporlama ve Ölçekli Analiz | 18 | kanalın geri okuttuğu sayı | geri okuma hatası |
| Toplam | 90 | | |

Doksan ders tek bir kuralı altı kez kurdu: **bir sayının yanında hangi kararla üretildiği
yazılmıyorsa o sayı bir bulgu değil, bir seçimdir.** Kural her kursta başka bir yerde sınandı —
tanımda, elektronik tablonun hücresinde, hazırlama adımında, çağrının varsayılanında, oynama
payında ve kodlama kanalında — ve her seferinde aynı biçimde ödendi: aynı veriden, aynı soruya,
iki savunulabilir kararla iki farklı sayı çıktı ve ikisi de yan yana basıldı. Doğu ile kuzey
arasındaki 4,463 m³'lük fark bu doksan dersin hepsinde durdu ve hiçbir yerde kendiliğinden bir
şey söylemedi.

Doksan derste veriden karara giden yolun her adımı ölçüldü ve her adımda kararın sayıyı oynattığı
gösterildi. Ama bütün bu kararları **insan** verdi: hangi satır sayılacak, hangi eşik seçilecek,
hangi kanal kullanılacak, iş hangi anahtara göre bölünecek. Kararı veriden **öğrenen** bir yordamın
hangi sayıyı oynattığı ve o yordamın kendi kararlarının nerede durduğu hiç sorulmadı. Sonraki
müfredat, Makine Öğrenmesi ve Veri Bilimi, bu soruyla açılır.
