[]
bilgisayarın hızı teorik olarak ne ile sınırlı?
başlık yanıltmasın, açıklamaya çalışayım.
söz gelimi bilgisayar destekli çeviri yazılımları (google translate vs), çok hızlı şekilde çeviri yapıyorlar. bir sürü parametre olmasına karşın güçlü işlemcili sunucular bu çeviri işlemlerini kısaltıyor.
ya da bilgisayar destekli görüntü üretme yazılımları örneğinden gidelim, çevirye göre daha yavaş bir perfomans ile üretiyor, işlem maliyeti daha yüksek.
peki bu işlem süresini kısaltmak ne derece mümkün? gelişmiş algoritmalar ya da başka optimizasyonları gözardı ederek (daha doğrusu maksimum derecede optimize olduğunu varsayarak), sadece donanımsal olarak soruyorum.
yani elimizde çok güçlü bir sunucu var, bu sunucuları (tüm maliyetleri göz ardı ederek) arttığımızda dayandığı darboğaz teorik olarak ne olacak?
elektriğin iletilme hızı mı ya da ışık hızı ile mi ilgili olacak? cpu clock hızı mı?
basit bir soruyu karışık anlatmış olmak istemem, teorik olarak olarak bilgisayarın bir noktada bildiğimiz fizik kuralları çerçevesinde limitlendiğini düşünüyorum.
soruma super bilgisayarlar, kuantum bilgisayarlar (vesair de) dahil.
söz gelimi bilgisayar destekli çeviri yazılımları (google translate vs), çok hızlı şekilde çeviri yapıyorlar. bir sürü parametre olmasına karşın güçlü işlemcili sunucular bu çeviri işlemlerini kısaltıyor.
ya da bilgisayar destekli görüntü üretme yazılımları örneğinden gidelim, çevirye göre daha yavaş bir perfomans ile üretiyor, işlem maliyeti daha yüksek.
peki bu işlem süresini kısaltmak ne derece mümkün? gelişmiş algoritmalar ya da başka optimizasyonları gözardı ederek (daha doğrusu maksimum derecede optimize olduğunu varsayarak), sadece donanımsal olarak soruyorum.
yani elimizde çok güçlü bir sunucu var, bu sunucuları (tüm maliyetleri göz ardı ederek) arttığımızda dayandığı darboğaz teorik olarak ne olacak?
elektriğin iletilme hızı mı ya da ışık hızı ile mi ilgili olacak? cpu clock hızı mı?
basit bir soruyu karışık anlatmış olmak istemem, teorik olarak olarak bilgisayarın bir noktada bildiğimiz fizik kuralları çerçevesinde limitlendiğini düşünüyorum.
soruma super bilgisayarlar, kuantum bilgisayarlar (vesair de) dahil.
Moore kanuna gore teorik limit islemci icine koyulan transistor miktari ile baglantili. bu miktar her yeni islemci ilerlemesi ile artiyor ama bir noktada transistor miktari islemci icinde isi tahliyesine yetmeyecek ve daha fazla transistor koyulamayacak. bu konuda "Moore's Law" bakabilirsin.
Bir baska limit ise islemci saati ile ilgili. islemci saat dongusu birim zamanda yapilacak islemi belirliyor. bu da elektrik hizi ile iliskili.
Ayrica islenen bilgide ulasilabilcek miktar da bilginin niteligi ile de ilgili. bilgi paralel veya seri olarak islenebiliyor mu bu cok onemli. bazi bilgi bir fonksiyona girip o fonksiyondan cikan bilgi baska bir fonksiyona girmesi gerekiyordur. bu seri bir islemdir. Ama diger taraftan bazi bilgi paralel islenebilir. yani bircok fonksiyon bir digerinin ciktisina ihtiyac duymadan paralel calisabilir. bu durum tamamen problemin niteligi ile ilgili. ornegin 1 cocugu 1 kadin 9 ayda dogurursa, yine 1 cocugu 2 kadin 4.5 ayda doguramaz. isin niteligi buna uygun degil, paralel bir islem degil. ama bircok matematik hesabi ayni inputa ayni output veriyorsa yani fonksiyonel bir problemse paralel olarak ele alinabilir.
paralel islemlerde islemci sayisini arttirmak ile ulasilan limit der artar, gunumuzdeki bulut sistemlerinin yatay olceklendirmesi bu sekilde tasarlanmistir. cok islem varsa, ve paralel islemlerse daha fazla islemci ile is/islemci seklinde cozulebilir. tabi bu durumda da limit dunyadaki islemci sayisi ve enerji miktari ile baglantili.
tabi bir de paralel islemlerde quantum bilgisayar kullanilmasi bir secenek. bu durumda birim zamanda islenilen bilgi miktari newton fiziginin kurallarindan cikarak quantum fiziginin kurallarina gore belirleniyor ve bunun matematiksel kanitina benim zekam yetmiyor, aklim almiyor.
Bir baska limit ise islemci saati ile ilgili. islemci saat dongusu birim zamanda yapilacak islemi belirliyor. bu da elektrik hizi ile iliskili.
Ayrica islenen bilgide ulasilabilcek miktar da bilginin niteligi ile de ilgili. bilgi paralel veya seri olarak islenebiliyor mu bu cok onemli. bazi bilgi bir fonksiyona girip o fonksiyondan cikan bilgi baska bir fonksiyona girmesi gerekiyordur. bu seri bir islemdir. Ama diger taraftan bazi bilgi paralel islenebilir. yani bircok fonksiyon bir digerinin ciktisina ihtiyac duymadan paralel calisabilir. bu durum tamamen problemin niteligi ile ilgili. ornegin 1 cocugu 1 kadin 9 ayda dogurursa, yine 1 cocugu 2 kadin 4.5 ayda doguramaz. isin niteligi buna uygun degil, paralel bir islem degil. ama bircok matematik hesabi ayni inputa ayni output veriyorsa yani fonksiyonel bir problemse paralel olarak ele alinabilir.
paralel islemlerde islemci sayisini arttirmak ile ulasilan limit der artar, gunumuzdeki bulut sistemlerinin yatay olceklendirmesi bu sekilde tasarlanmistir. cok islem varsa, ve paralel islemlerse daha fazla islemci ile is/islemci seklinde cozulebilir. tabi bu durumda da limit dunyadaki islemci sayisi ve enerji miktari ile baglantili.
tabi bir de paralel islemlerde quantum bilgisayar kullanilmasi bir secenek. bu durumda birim zamanda islenilen bilgi miktari newton fiziginin kurallarindan cikarak quantum fiziginin kurallarina gore belirleniyor ve bunun matematiksel kanitina benim zekam yetmiyor, aklim almiyor.
- emrahday (22.03.23 11:51:39 ~ 11:53:15)
Verdiginiz örnekler genel olarak yapay zeka modelleri. Bu sebeple sizin verdiginiz ornekler icin darbogaz gpu oluyor. Gpu performansinin artmasiyla, bu modeller cok daha hizli calisacaktir.
- ciagra (22.03.23 11:54:33)
tüm complexity problemlerini optimal çözdüğümüz ve donanımsal olarak en güçlü makineyi yapmak istediğimiz yerde, 0 kelvin en üst limit. diğer deyişle termodinamik. termodinamiğin izin verdiği son noktaya kadar teorik olarak gidilebilir diye düşünüyorum.
- gule gule (22.03.23 11:55:00 ~ 11:58:43)
Algoritmaya uygun donanım kullanıldığında(örneğin bitcoin mining için özel üretim işlemci, yani ASIC’i hiç bir GPU geçemez) en temel limit ısı, yani iletkendeki direnç olmuş oluyor.
Duymuşsundur, Intel 10nm ürerim yapıyor sonra TSMC 5nm a geçiyor falan ve hız artıyor ya, bu git gide transistör ve devre boyutunun küçülmesi olayı.
Ne oluyor küçülünce? Direnç ve bundan kaynaklı ısı üretimi azalıyor çünkü direnç eşittir iletkenin katsayısı çarpı uzunluğu.
O boyutlara inildiğinde bir takım quantum etkileri ortaya çıkmaya da başlıyor ve limitleri bunlar belirlemeye başlıyor.
TSMC bu sene 3nm üretime başladı, Apple’ın yeni işlemcileri bununla üretilecek ve sırf bu küçültme sayesinde %30 performans artışı ve bir o kadar da tüketim düşüşü olması bekleniyor.
Duymuşsundur, Intel 10nm ürerim yapıyor sonra TSMC 5nm a geçiyor falan ve hız artıyor ya, bu git gide transistör ve devre boyutunun küçülmesi olayı.
Ne oluyor küçülünce? Direnç ve bundan kaynaklı ısı üretimi azalıyor çünkü direnç eşittir iletkenin katsayısı çarpı uzunluğu.
O boyutlara inildiğinde bir takım quantum etkileri ortaya çıkmaya da başlıyor ve limitleri bunlar belirlemeye başlıyor.
TSMC bu sene 3nm üretime başladı, Apple’ın yeni işlemcileri bununla üretilecek ve sırf bu küçültme sayesinde %30 performans artışı ve bir o kadar da tüketim düşüşü olması bekleniyor.
- bk (22.03.23 12:46:46)
Kuantum bilgisayar dediğin şeyin normal bilgisayardan çok bi farkı yok. Bu kadar yaygara, bu bilgisayarlar eğer yapılırsa, onun üzerinde çalışacağı teorize edilen "kuantum algoritmalar" yüzünden koparılıyor. Ama onlar da şu an saf spekülasyon yani, öyle bişey olup olmadığını bile bilmiyoruz. Ekşi'de yazayım bi ara bununla ilgili en iyisi.
Neyse, asıl söyleyeceğim o değil. Bu "algoritma optimize ama donanımsal limit" yaklaşımı mantıklı değil. Mesela herkes bahsetmiş işte "işlemciye çok transistör koyarsan daha hızlı çalışır" diye ama niye öyle olduğundan bahsetmemişler.
Sebep şu, transistörleri kullanarak matematik işlemi yapıyorsun diyelim. Toplama işlemi yapacaksan sana 5 tane transistör yeter. Ama çarpma işlemi yapayım dersen elinde 2 seçenek var:
1- İşlemci üzerinde tek tek toplama işlemlerini yapacaksın
2- Direkt çarpma işlemini yapabilecek bi işlemci tasarımı yapıp ona göre transistör koyacaksın
Yani bu "daha fazla transistör" mevzuunun altında yatan sebep, işlemcilere aynı anda daha "karmaşık" işlemler yaptırabilmek. Çünkü tek tek yaparsan, sonucu al, memory'e yaz, yeni veriyi işlemciye gönder vs. derken işlemci ile memory arasında çok fazla git-gel yapıyorsun. Bu git-gel dediğin şey de bakır kablodan elektrik geçmesi, o da vakit alıyor. Halbuki tek seferde çok daha fazla veri gönderip daha karmaşık işler yaptırabilirsen işlemciye, o bakır kabloda geçen vakti minimize edeceksin, bu da performans iyileşmesi anlamına geliyor. Çünkü bottleneck burası.
Mesela bu "5 nanometre, 3 nanometre" muhabbetinin temeli de bu. Bu işlemcideki transistörler arasındaki mesafe. Bu mesafeyi niye kısaltıyorlar? Niye daha küçük alana daha çok transistör sıkıştırmaya çalışıyorlar yani? Yayla gibi işlemci yap, sınırsız transistör koy. Olmaz, çünkü asıl sıkıntı o bakır kabloda geçen süre. Fiziksel olarak çok büyük işlemci yapsan bakır kabloda daha fazla vakit geçecek, memory'e ulan uzaklık artacak falan, yine işler yavaşlayacak epey.
Peki şunu düşün, diyelim biz bilgisayarda yapılan bütün işlemleri "toplama işlemi" seviyesine indirebilecek bi algoritma yazabildik. Bize trilyonlarca transistörü olan güçlü işlemciler lazım değil, 5 transistör işimizi görüyor. Çarpma işlemi yaparken, tek işlemciye karmaşık işlemler sığdırmak yerine, bir sürü işlemciye aynı anda toplama işlemlerini gönderip, sonucu da çat diye birleştirsek daha hızlı olmaz mı?
GPU teknolojisi üç aşağı beş yukarı böyle çalışıyor. Ama işte bu fiziksel modelde verimli çalışabilen algoritmalar belli, oyunlar, yapay zeka vs.
Peki bilgisayarda yaptığımız günlük işlemleri kategorize etsek, her işlem tipi için, o işlemde çok verimli çalışacak spesifik işlemciler kullansak ne olur? Grafik için ayrı kart / işlemci kullanıyoruz, e internet için de başka bi çeşit işlemci kullanalım, yazı yazmak için de başka kullanalım vs.
Eskiden mesela vardı böyle şeyler, virgüllü sayılarla işlem yapacaksan ekstra işlemci alıyordun falan. Sonra intel mevcut mimarinin sınırlarını zorlayana kadar bu yönde ilerledik, ama şimdi o mimarinin sonuna geldik. O yüzden üst paragrafta bahsettiğim yolda ilerliyoruz.
Misal apple'ın bu son çıkardığı M serisi işlemcilerin olayı temelde bu. Tek bir işlemci içinde, farklı işlerde özelleşmiş küçük küçük bir sürü işlemci var. Bu sayede intel'in 20-25 milyar transistörle yaptığı işi 15 milyar transistörle yapabiliyor.
Bu birden fazla "çekirdek" işinin de temeli buydu aslında. Yani tek bir çipi büyütmek yerine, oraya bir limit koyup, birden fazla çipte aynı anda işlem yapıp, sonuçları birleştirmek daha iyi bir yöntemdi. Ama o çekirdekler aynıydı ve "general purpose" idi, şimdi onları da özelleştirmeye başladılar.
Yani bilgisayarda yazılan kodun algoritması ne olursa olsun, onun nasıl derlendiği ve işlemcilerde nasıl işleneceği de bir "algoritma", ve baya son 10-15 yıldır işlemci teknolojisi "donanımsal limit"ler üzerinden değil, daha iyi algoritmalar geliştirilmesi sayesinde ilerliyor. Darboğaz buydu çünkü.
Bundan sonrası için asıl atılımın, intel'in 34590384 çekirdekli / transistörlü işlemcilerinden değil, spesifik olarak üretilen ve ona göre kodu yazılan işlemcilerden geleceğini düşünüyorum. Misal şu an "network on a chip" baya popüler bi konu, bir sürü farklı işlemcinin aralarına nasıl verimli konuşabileceğini çözmeye çalışıyorlar. Burada ilerleme olursa baya ilginç şeylerle karşılaşabiliriz.
Neyse, asıl söyleyeceğim o değil. Bu "algoritma optimize ama donanımsal limit" yaklaşımı mantıklı değil. Mesela herkes bahsetmiş işte "işlemciye çok transistör koyarsan daha hızlı çalışır" diye ama niye öyle olduğundan bahsetmemişler.
Sebep şu, transistörleri kullanarak matematik işlemi yapıyorsun diyelim. Toplama işlemi yapacaksan sana 5 tane transistör yeter. Ama çarpma işlemi yapayım dersen elinde 2 seçenek var:
1- İşlemci üzerinde tek tek toplama işlemlerini yapacaksın
2- Direkt çarpma işlemini yapabilecek bi işlemci tasarımı yapıp ona göre transistör koyacaksın
Yani bu "daha fazla transistör" mevzuunun altında yatan sebep, işlemcilere aynı anda daha "karmaşık" işlemler yaptırabilmek. Çünkü tek tek yaparsan, sonucu al, memory'e yaz, yeni veriyi işlemciye gönder vs. derken işlemci ile memory arasında çok fazla git-gel yapıyorsun. Bu git-gel dediğin şey de bakır kablodan elektrik geçmesi, o da vakit alıyor. Halbuki tek seferde çok daha fazla veri gönderip daha karmaşık işler yaptırabilirsen işlemciye, o bakır kabloda geçen vakti minimize edeceksin, bu da performans iyileşmesi anlamına geliyor. Çünkü bottleneck burası.
Mesela bu "5 nanometre, 3 nanometre" muhabbetinin temeli de bu. Bu işlemcideki transistörler arasındaki mesafe. Bu mesafeyi niye kısaltıyorlar? Niye daha küçük alana daha çok transistör sıkıştırmaya çalışıyorlar yani? Yayla gibi işlemci yap, sınırsız transistör koy. Olmaz, çünkü asıl sıkıntı o bakır kabloda geçen süre. Fiziksel olarak çok büyük işlemci yapsan bakır kabloda daha fazla vakit geçecek, memory'e ulan uzaklık artacak falan, yine işler yavaşlayacak epey.
Peki şunu düşün, diyelim biz bilgisayarda yapılan bütün işlemleri "toplama işlemi" seviyesine indirebilecek bi algoritma yazabildik. Bize trilyonlarca transistörü olan güçlü işlemciler lazım değil, 5 transistör işimizi görüyor. Çarpma işlemi yaparken, tek işlemciye karmaşık işlemler sığdırmak yerine, bir sürü işlemciye aynı anda toplama işlemlerini gönderip, sonucu da çat diye birleştirsek daha hızlı olmaz mı?
GPU teknolojisi üç aşağı beş yukarı böyle çalışıyor. Ama işte bu fiziksel modelde verimli çalışabilen algoritmalar belli, oyunlar, yapay zeka vs.
Peki bilgisayarda yaptığımız günlük işlemleri kategorize etsek, her işlem tipi için, o işlemde çok verimli çalışacak spesifik işlemciler kullansak ne olur? Grafik için ayrı kart / işlemci kullanıyoruz, e internet için de başka bi çeşit işlemci kullanalım, yazı yazmak için de başka kullanalım vs.
Eskiden mesela vardı böyle şeyler, virgüllü sayılarla işlem yapacaksan ekstra işlemci alıyordun falan. Sonra intel mevcut mimarinin sınırlarını zorlayana kadar bu yönde ilerledik, ama şimdi o mimarinin sonuna geldik. O yüzden üst paragrafta bahsettiğim yolda ilerliyoruz.
Misal apple'ın bu son çıkardığı M serisi işlemcilerin olayı temelde bu. Tek bir işlemci içinde, farklı işlerde özelleşmiş küçük küçük bir sürü işlemci var. Bu sayede intel'in 20-25 milyar transistörle yaptığı işi 15 milyar transistörle yapabiliyor.
Bu birden fazla "çekirdek" işinin de temeli buydu aslında. Yani tek bir çipi büyütmek yerine, oraya bir limit koyup, birden fazla çipte aynı anda işlem yapıp, sonuçları birleştirmek daha iyi bir yöntemdi. Ama o çekirdekler aynıydı ve "general purpose" idi, şimdi onları da özelleştirmeye başladılar.
Yani bilgisayarda yazılan kodun algoritması ne olursa olsun, onun nasıl derlendiği ve işlemcilerde nasıl işleneceği de bir "algoritma", ve baya son 10-15 yıldır işlemci teknolojisi "donanımsal limit"ler üzerinden değil, daha iyi algoritmalar geliştirilmesi sayesinde ilerliyor. Darboğaz buydu çünkü.
Bundan sonrası için asıl atılımın, intel'in 34590384 çekirdekli / transistörlü işlemcilerinden değil, spesifik olarak üretilen ve ona göre kodu yazılan işlemcilerden geleceğini düşünüyorum. Misal şu an "network on a chip" baya popüler bi konu, bir sürü farklı işlemcinin aralarına nasıl verimli konuşabileceğini çözmeye çalışıyorlar. Burada ilerleme olursa baya ilginç şeylerle karşılaşabiliriz.
- plutongezegendegilmi (22.03.23 13:43:23 ~ 13:45:18)
1