İşlemci çoklu çekirdeği tek çekirdek olarak kullanma

Minecraft sunucusu için lazım öncelikle Minecraft sunucusu genel olarak tek çekirdek üzerinde çalıştığı için bana program gibi bir şey lazım. muhtemelen tek çekirdeğe binen yükü diğer çekirdeklere bölebilecek bir sisteme. Var mı böyle bir sistem? Misal 20 çekirdek performansını kayıplı bir şekilde tek çekirdek gibi kullandırmak mümkün müdür?
Senin dediğini ancak sunucu yazılımını yapan her kimse onun halledeceği türden bir şey.
 
Son düzenleme:
Hayır. Çok çekirdeği tek çekirdek gibi kullanamazsın.

Java programını çoklu çekirdekte çalışmaya zorlarsın, ama gel de çök diye kapı açmış olursun. Mantıksız bir hareket olur.

O binlerce oyunculu sunucular özel yazılım kullanıyorlar. Özel yazılıma ayıracak bütçen yoksa Folia'ya bakabilirsin.

Mesela hangi özel yazılımları önerebilirsiniz?
 
Mesela hangi özel yazılımları önerebilirsiniz?
Dedim ki yazılım yazdırtacak paran yoksa Folia kullanabilirsin.

Özel yazılım adı üstünde özel. Bir yazılımcı bulursun. Ona klavye, fare ve bilgisayar verirsin. Günde 3 öğün de parayla duş imkanı sağladığında o sana özel sunucu yazılımını sağlar.
 
Dedim ki yazılım yazdırtacak paran yoksa folia kullanabilirsin.

Özel yazılım adı üstünde özel. Bir yazılımcı bulursun. Ona klavye, fare ve bilgisayar verirsin. Günde 3 öğün de parayla duş imkanı sağladığında o sana özel sunucu yazılımını sağlar.

Anladım hocam foliayı kurmasını başaramadım bir türlü bir hatadan dolayı kurulmuyor çözemedim.
 
Bana saçma geliyor. Bugünün gelişmiş derleyicileri standart yazdığınız kodu x86'daki SSE, FMX, AVX gibi özel komut setlerine uygun olarak derleyebiliyor ve LTO gibi optimizasyonlarda bulunabiliyor. Performans kazançları aynı kodla ve aynı donanımla sadece derleyici farkından artı olarak fark ediyor. Tekli çekirdek uygulamaları çoklu çekirdeğe niye bölemiyoruz ki?

Bunlar tum instructionlara yapilabilecek islemler degil cunku, sadece belirli bir grup insruction eger data uygunsa paralelize edilebilir.

a+b+c+d islemini a+b ve b+c seklinde paralelize edebilirsin ama a/b/c/d yi ayni sekilde edemezsin.

Islem sirasi ve programin geri kalaninin variable kullanim analizini yapmadan bunu yapmak cok ciddi problem.

ARM gibi instruction size sabit mimaride lookup yapip bagimsiz kisimlar paralelize edilebilse de x64 icin bu her zaman mumkun degil. Deadlock ve racecondition prevention yapmasi da gerekiyor.

Mantikli geliyor mu yazdiklarim?
 
Bunlar tum instructionlara yapilabilecek islemler degil cunku, sadece belirli bir grup insruction eger data uygunsa paralelize edilebilir.

A+b+C+D islemini a+b ve b+C seklinde paralelize edebilirsin ama a/b/c/d yi ayni sekilde edemezsin.

Islem sirasi ve programin geri kalaninin variable kullanim analizini yapmadan bunu yapmak cok ciddi problem.

ARM gibi instruction size sabit mimaride lookup yapip bagimsiz kisimlar paralelize edilebilse de X64 icin bu her zaman mumkun degil. Deadlock ve racecondition prevention yapmasi da gerekiyor.

Mantikli geliyor mu yazdiklarim?

Aslında mantıken olumlu gözükürken gerçek mantıkla uğraşılması gerekilen bir şey. Çünkü mimari düzeyine inilmesi gerekiliyor bir yerde. Ama farklı bir mantıklada tekli çekirdeğe verilen işleri tablolayıp çekirdeklere farklı görevler verilirse ve tek çekirdekte bu değerler denetlenirse mantıken olur gibi. Ama bu hem Java mantığını hem de X86, X64 işlemci birimi bazlı yapılması gerekiliyor. Ben cevabımı almış oldum dolaylı yoldan teşekkür ederim hepinize.
 

Technopat Haberler

Yeni konular

Geri
Yukarı