MT5 ve iş başında hız - sayfa 69

 
Andrei Trukhanovich :

nasıl hayal ediyorsunuz - bir iş parçacığında paralel işleme?

olay döngüsü.
Genel olarak, bu geliştiriciler için bir sorundur, neden her şey tek bir iş parçacığında yapılır.

Market Watch'ın eşzamansız olarak işlendiği ve kullanıcı programlarındaki işleyicilerin eşzamanlı olarak işlendiği ortaya çıktı.
Shikardos basitçe, kelime yok.

 

İstatistik incelemesi için teşekkürler! Herkesin OnTick/OnBook gecikmesi var gibi görünüyor. Uyku (1) 1 ms veya 15 ms. Neden bağlı olduğu açık değil.

 
fxsaber :

Herkesin OnTick/OnBook gecikmesi var gibi görünüyor.

OnTimer() öğesinin 10-16 milisaniyeden fazla çağrılamayacağını bildiğinizi düşünüyorum. Diğer OnXXX işlevlerinin artık daha sık çağrılmadığını varsaymak mantıklıdır. Belki bu yüzden gecikmeleriniz alınır?

 
pivomoe :

OnTimer() öğesinin 10-16 milisaniyeden fazla çağrılamayacağını bildiğinizi düşünüyorum. Diğer OnXXX işlevlerinin artık daha sık çağrılmadığını varsaymak mantıklıdır. Belki bu yüzden gecikmeleriniz alınır?

Mantıklı değil, işleyiciler GetTickCount zamanlayıcısının frekansına/çözünürlüğüne bağlı değildir. Olaylar, meydana geldikleri anda anında tetiklenir.

OnTimer ayrıca 16ms hataya bağlı değildir. Bilgisayarın kapanmaması ve %100'de yüklenmemesi durumunda, çoğu durumda 1 ms'lik bir zamanlayıcıyı kolayca alabilirsiniz.


Neredeyse tüm fxsaber testlerindeki sorun, çok sayıda ortalama almak yerine tek çağrıların aykırı değerlerini ölçmeye çalışması ve iş parçacığı yöneticisinin gerçekliğini anlamak istememesidir.

O:

  • 4/8 çekirdekte minimum 1500-2000 iş parçacığı
  • zavallı akış yöneticisi onları delicesine az sayıda sanatçı arasında dağıtıyor - insanlar görevlerinin yüzlerce rakibi olduğundan tamamen habersizler
  • bazen kısa bir süre için diğerlerinden daha fazla zaman dilimleri yiyen öncelikli diziler uyanır
  • herhangi bir zamanda herhangi bir iş parçacığı besleyiciden önemli bir süre uzaklaştırılabilir - burada banal i ++ üzerinde milisaniye var (bunu kaç kez tekrarlamak için?)

Gerçek zamana yaklaşmak için mücadele yöntemleri:

  • iş parçacığı yöneticisini boşaltmak için daha fazla çekirdek
  • modern önbelleklere, iyi saat hızına ve artırılmış IPC'ye sahip kesinlikle yeni CPU'lar (döngü/saat başına talimatlar)
  • herhangi bir üçüncü taraf iştahının etkisini önemli ölçüde ortadan kaldıran daha hızlı bellek ve nvme diskleri
  • banal ağ kartının kesintileri sessizce sabote etmemesi için doğru sürücüler ve bios (özellikle, sağlayıcı yöneticilerinin yalnızca sorunun farkında olmadığı değil, aynı zamanda genellikle gecikmelerden, SR-IOV'dan ve boşaltma / ayırmadan habersiz oldukları sanal makinelerde canavarca) darboğazlar)
  • işletim sistemleri ve programlar için herhangi bir 2D işleme arabirimi yükünü kaldırabilen vasat bir ayrı video kartı (sunucularda ve sanal makinelerde her zaman bir sıkıntıdır)
  • kullanılmayan süreç/program sayısında azalma
  • Çevresel gereksiz ekipman ve sürücülerinin miktarını azaltmak

Bu nedenle ahlaki - sıradan klasik VPS terminallerinde (diğer programlar gibi) beklenmedik gecikmeler nedeniyle her zaman zarar görecektir. Daha ucuz/aşırı satılan VPS, daha fazla sorun.

VPS'nize SR-IOV'nin etkin olup olmadığını sorun ve bunun için yeni (yalnızca ve yalnızca manuel olarak yüklenen) özel ağ kartı sürücüleri var mı? Vakaların %99'unda hayır, çünkü bu, demir hayvanat bahçesi etrafındaki sanal makinelerin geçişini bozar. Ve onsuz, ağ paketlerinin çift (ana bilgisayar ve sanal makinede) iletimi / işlenmesi ve artan kesinti sayısı nedeniyle ek gecikmeler garanti edilir.

VPS hizmetimiz hem mimari hem de GUI'siz hafif terminaller açısından buna çok daha az duyarlıdır.

 
Renat Fatkhullin :

Mantıklı değil, işleyiciler GetTickCount zamanlayıcısının frekansına/çözünürlüğüne bağlı değildir. Olaylar meydana geldiği anda anında tetiklenir.

OnTimer ayrıca 16ms hataya bağlı değildir. Bilgisayarın kapanmaması ve %100'de yüklenmemesi durumunda, çoğu durumda 1 ms'lik bir zamanlayıcıyı kolayca alabilirsiniz.


Neredeyse tüm fxsaber testlerindeki sorun, çok sayıda ortalama almak yerine tek çağrıların aykırı değerlerini ölçmeye çalışması ve iş parçacığı yöneticisinin gerçekliğini anlamak istememesidir.

O:

  • 4/8 çekirdekte minimum 1500-2000 iş parçacığı
  • zavallı akış yöneticisi onları delicesine az sayıda sanatçı arasında dağıtıyor - insanlar görevlerinin yüzlerce rakibi olduğundan tamamen habersizler
  • bazen kısa bir süre için diğerlerinden daha fazla zaman dilimleri yiyen öncelikli diziler uyanır
  • herhangi bir zamanda herhangi bir iş parçacığı besleyiciden önemli bir süre uzaklaştırılabilir - burada banal i ++ üzerinde milisaniye var (bunu kaç kez tekrarlamak için?)

Gerçek zamana yaklaşmak için mücadele yöntemleri:

  • iş parçacığı yöneticisini boşaltmak için daha fazla çekirdek
  • modern önbelleklere, iyi saat hızına ve artırılmış IPC'ye sahip kesinlikle yeni CPU'lar (döngü/saat başına talimatlar)
  • herhangi bir üçüncü taraf iştahının etkisini önemli ölçüde ortadan kaldıran daha hızlı bellek ve nvme diskleri
  • banal ağ kartının kesintileri sessizce sabote etmemesi için doğru sürücüler ve bios (özellikle, sağlayıcı yöneticilerinin yalnızca sorunun farkında olmadığı değil, aynı zamanda genellikle gecikmelerden, SR-IOV'dan ve boşaltma / ayırmadan habersiz oldukları sanal makinelerde canavarca) darboğazlar)
  • işletim sistemleri ve programlar için herhangi bir 2D işleme arabirimi yükünü kaldırabilen vasat bir ayrı video kartı (sunucularda ve sanal makinelerde her zaman bir sıkıntıdır)
  • kullanılmayan süreç/program sayısında azalma
  • Çevresel gereksiz ekipman ve sürücülerinin miktarını azaltmak

Bu nedenle ahlaki - sıradan klasik VPS terminallerinde (diğer programlar gibi) beklenmedik gecikmeler nedeniyle her zaman zarar görecektir. Daha ucuz/aşırı satılan VPS, daha fazla sorun.

VPS'nize SR-IOV'nin etkin olup olmadığını sorun ve bunun için yeni (yalnızca ve yalnızca manuel olarak yüklenen) özel ağ kartı sürücüleri var mı? Vakaların %99'unda hayır, çünkü bu, demir hayvanat bahçesi etrafındaki sanal makinelerin geçişini bozar. Ve onsuz, ağ paketlerinin çift (ana bilgisayar ve sanal makinede) iletimi / işlenmesi ve artan kesinti sayısı nedeniyle ek gecikmeler garanti edilir.

VPS hizmetimiz hem mimari hem de GUI'siz hafif terminaller açısından buna çok daha az duyarlıdır.

Şimdi, programlardaki işleyiciler eşzamansız olarak yürütülürse, böyle optimize edilmiş bir makinede kullanıcı programlarının çalışmasının kaç kez hızlandırılacağını hayal edin.
Kullanıcı programındaki işleyiciler önceden eşzamanlı olarak yürütülüyorsa, makinenin donanımının süper yükseltme ve süper optimizasyonunun anlamını anlamıyorum.
Terminalin kendisi ve dahili çalışması için, belki evet, yukarıda açıklanan optimizasyon yararlıdır. Savaş kullanıcı programları için bundan şüpheliyim.
Kullanıcı programında işleyicilerin sıralı yürütülmesi için, herhangi bir süper optimize edilmiş makinenin olası tüm potansiyelini azaltır.
Sorun donanımda değil, terminalin dahili çalışmasının mimarisinde.

 
Roman :

Şimdi, programlardaki işleyiciler eşzamansız olarak yürütülürse, böyle optimize edilmiş bir makinede kullanıcı programlarının çalışmasının kaç kez hızlandırılacağını hayal edin.
Kullanıcı programındaki işleyiciler önceden eşzamanlı olarak yürütülüyorsa, makinenin donanımının süper yükseltme ve süper optimizasyonunun anlamını anlamıyorum.
Terminalin kendisi ve dahili çalışması için, belki evet, yukarıda açıklanan optimizasyon yararlıdır. Savaş kullanıcı programları için bundan şüpheliyim.
Kullanıcı programında işleyicilerin sıralı yürütülmesi için, herhangi bir süper optimize edilmiş makinenin olası tüm potansiyelini azaltır.
Sorun donanımda değil, terminalin dahili çalışmasının mimarisinde.

Hızlanma olmayacak. Hesaplamalarınızı, en azından yaklaşık rakamlarla, çoklu ivmeyi kanıtlayarak sunun.

Kaynaklar için yarış? Kontrolsüz yeni iş parçacığı oluşturma? Mavi çatışmalar dışında mı?

Anlaşılmaz frenler mi istiyorsunuz?

Olay modelinde , tüm olaylar her zaman sırayla formasyona girdi. çiğnendi - çiğnendi.

 
Renat Fatkhullin :

VPS hizmetimiz hem mimari hem de GUI'siz hafif terminaller açısından buna çok daha az duyarlıdır.

VPS hizmetinizde gecikmeler olursa ciddiye alır mısınız?

MQ'dan VPS kullananlar, lütfen aşağıdaki programların sonucunu orada paylaşın.

  1. OnTick/OnBook gecikmelerini yakalayan bir Uzman Danışman .
  2. Eski zamanla keneleri yakalayan Uzman Danışman .
  3. Sleep(1)'in ortalama yürütme süresini ölçen komut dosyası .
 
Uyku (1) nasıl daha hızlı çalıştırılır?
 
fxsaber :

VPS hizmetinizde gecikmeler olursa ciddiye alır mısınız?

Sınırlı sayıda çekirdek için bu kadar (bin) sayıda iş parçacığıyla, iş parçacığı başına zaman dilimleri ayırmanın kararlılığı hakkında konuşmanın genellikle delilik olduğunu kaç kez tekrarlayacağımı merak ediyorum?


inc eax gibi en basit birleştirici olanlar da dahil olmak üzere, herhangi bir komutun rastgele tek ölçümlerinde her zaman hata yaşamanız garanti edilir . Bu mimaridir ve "binlerce iş parçacığından oluşan zaman dilimlerinin az sayıda çekirdeğe dürüst bir şekilde dağıtılmasının" fiziksel sınırlamaları ile açıklanır.

Zaten aptal olmak ve milyon istek başına tek aykırı değer yakalamaya devam etmek için yeterli.

 
Renat Fatkhullin :

Zaten aptal olmak ve milyon istek başına tek aykırı değer yakalamaya devam etmek için yeterli.

Ayrıntılı açıklamalar için teşekkürler, tek emisyon ile açıktır. Şu anda hala SymbolInfoTick'i değil, hemen hemen her kene dökülen farklı nitelikteki gecikmeleri tartışıyoruz.

Neden: