Anketa

Čo mám používať ?

AMD
Intel

AMD vs Intel pre programátora + problem optimalizacie

Ymzk

AMD vs Intel pre programátora + problem optimalizacie
« kdy: 16. 07. 2020, 17:02:51 »
Ahojte, riesim docela problem ku ktoremu som sa na internete nevedel nic dopatrat.

Som programator C#, SQL Server, Python zaciatocnik a administrátor
Situacia bola na zaciatku uplne jasna. Po rokoch znovu investovat do developerskeho pc.  Po rokoch (15 rokov) pouzivania iba Intel procesorov som sa rozhodol z jasnych dovodov ze switchnem na AMD CPU. Tolko clankov co som precital co ospevovali nove AMD CPU som si teda vybral, AMD RYZEN Threadripper 3960X. 64 GB RAM a NVMe disky v RAID10, nvidia RTX 2070.

Uz teda spokojny ze coskoro uskutocnim nakup som potreboval pre klienta objednat server v Datacentre a videl som ze tam maju 24 jadrovy AMD Epyc. Doteraz vzdy som pouzival iba xeony na servre a tak si hovorim ze skusim. Klient obchoduje na forexe a ma tam spustene metatradre ktore ficia na Xeonoch perfektne uz 10 rokov a nikdy ziadny problem.  Ale zrazu sa zacali diat veci. Po desiatkach serveroch na Xeonoch co som od 10 rokov spravoval zrazu prisiel problem s vykonom.

CPU nebol vobec vytazeny ale Metatradre sa zacali sekat. Stacila mensia zataz a zacalo to ist cele vsetko mimoriadne zvlastne. Urobil som klasicke veci od diagnostiky serveru az po benchmarky a vsetko vyzera super. ale proste metatrader ide ako keby na starom intel celeron a neuveritelne sa seka ked AMD Epyc je vytazeny co aj viem len na 40 percent. Aj nacitavania grafov tam trva sekundy co na xeonoch je nepostrehnutelna vec.

Teraz zacinam mat obavy o optimalizacie beznych veci ktore clovek pouziva. Ci uz je to visual studio, compiler, sql server databaze a taketo. Rozmyslam ci je to dobry krok a ci neist radsej stale cestou intelu aj ked AMD je co sa tyka vykonu daleko za hranicou toho co teraz ponuka intel. Zostal som kompletne zarazeny a neviem ci mam tomu verit a co mam urobit.

Dakujem za hinty pokial sa niekto stretol s niecim podobnym nejakym problemom s optimalizaciou alebo s niecim podobnym.


RDa

  • *****
  • 2 789
    • Zobrazit profil
    • E-mail
Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #1 kdy: 16. 07. 2020, 17:22:35 »
Spis to vypada jako problem s konektivitou.

CPU nevytizene na 100% znamena, ze to na neco ceka... typicky IO... disk nebo sit, vyber si.

Ymzk

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #2 kdy: 16. 07. 2020, 17:28:26 »
Spis to vypada jako problem s konektivitou.

CPU nevytizene na 100% znamena, ze to na neco ceka... typicky IO... disk nebo sit, vyber si.

CPU nieje na 100%, ale na nejakych 40%, ani disky sa nehybu skoro. Konektivita je tam gigabit a je tam dalsich 8 serverov postavene na Inteloch a tie idu bezproblemovo. Problem robi iba AMD. Niektore servre kde je ten Intel bezia na 80 % CPU a aj tak je to naasobky rychlejsie ako to AMD ktore ide na 40%.


RDa

  • *****
  • 2 789
    • Zobrazit profil
    • E-mail
Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #3 kdy: 16. 07. 2020, 17:37:49 »
Tak holt si tu appku musis otevrit v profileru a podivat se na slaba mista, co trvaj dele.

Ale pokud je to binarka, tak to klidne mohlo byt kompilovano skrze icc a ten produkuje pro AMD zcela blbej kod (ale ten by vytezoval cpu na 100%).

Nemas tam treba OS, ktery se s temi Epyc cpu nerozumi a prehazuje treba procesy mezi cipama? Je to Epyc1 nebo Epyc2 ?

Ymzk

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #4 kdy: 16. 07. 2020, 17:42:46 »
Tak holt si tu appku musis otevrit v profileru a podivat se na slaba mista, co trvaj dele.

Ale pokud je to binarka, tak to klidne mohlo byt kompilovano skrze icc a ten produkuje pro AMD zcela blbej kod (ale ten by vytezoval cpu na 100%).

Nemas tam treba OS, ktery se s temi Epyc cpu nerozumi a prehazuje treba procesy mezi cipama? Je to Epyc1 nebo Epyc2 ?

Hmm presne to co si spominal icc tak taketo hinty potrebujem nech si to odsledujem. Je tam Windows Server 2019 kedze sa tam spustaju desktopove appky. Konkretne https://www.metatrader4.com/
A CPU EPYC™ 7401P.

Su tam aj starsie xeony a pod ovela vacsou zatazou a na nich to ide perfektne.

Chcem sa este opytat tym icc je skompilovanych asi vela appiek a to teoreticky moze byt problem vo viac veciach. Nielen jedna konkretna appka.


RDa

  • *****
  • 2 789
    • Zobrazit profil
    • E-mail
Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #5 kdy: 16. 07. 2020, 17:49:04 »
Napis im na support, ladit komercni binarni appku moc neni ve tvych dispozicich.

A u win si budes muset overit, zda ta verze co mas umi slusne planovat, s tim ti tady nikdo moc neporadi, spletl sis trocha web :-)

Ymzk

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #6 kdy: 16. 07. 2020, 17:53:46 »
Napis im na support, ladit komercni binarni appku moc neni ve tvych dispozicich.

A u win si budes muset overit, zda ta verze co mas umi slusne planovat, s tim ti tady nikdo moc neporadi, spletl sis trocha web :-)

Nic lepsie ma nenapadlo :) verim ze tu je ale dost skillerov co toto poznaju z pohladu toho co moze znamenat programovanie pre rozne platformy a tak podobne :)

Tom K

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #7 kdy: 16. 07. 2020, 18:17:40 »
Ten MetaTrader SW asi nebude moc moderní z hlediska technologie. Není to náhodou Java?
Něco málo jsem si všiml tady, https://admiralmarkets.com/education/articles/trading-software/how-to-optimise-the-mt4-platform, ale nechci učit orla lítat :-)

Kdysi jsem řešil podobný problém s appkou ve stařičkém PC Fandu. Na novém Xeonu s SSD jela stejně blbě jako na starém PC s HDD. A nepomohlo nic, byla to stará single-thread technologie.
« Poslední změna: 16. 07. 2020, 18:20:30 od Tom K »

Ymzk

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #8 kdy: 16. 07. 2020, 18:22:36 »
Ten MetaTrader SW asi nebude moc moderní z hlediska technologie. Není to náhodou Java?
Něco málo jsem si všiml tady, https://admiralmarkets.com/education/articles/trading-software/how-to-optimise-the-mt4-platform, ale nechci učit orla lítat :-)

Kdysi jsem řešil podobný problém s appkou ve stařičkém PC Fandu. Na novém Xeonu s SSD jela stejně blbě jako na starém PC s HDD. A nepomohlo nic, byla to stará single-thread technologie.
jj ono to moderne nieje teda vobec. V jave to naprogramovane nieje urcite. Inak je to fajn a bezi ako vystrelene z dela. Ale date to na AMD a konec. pruser ako blazon v zatazi. Inak tieto optimalizacie co ste poslal to poznam vsetko uplne dopodrobna uz za tie roky. Je to vyladene v tomto az na kost.

Tom K

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #9 kdy: 16. 07. 2020, 18:25:46 »
Vzhledem k Win mne napadá vyzkoušet uzamčít jednotlivé instance MT na konkrétní jádro/jádra (CPU affinity). Tím si ověříš, že za to nemůže scheduler.

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #10 kdy: 16. 07. 2020, 18:38:20 »
Tam v tom okýnku který se jmenuje "Task manager" je dole takový odkaz který se jmenuje "Open resource monitor", a tam by se určitě dalo najít mnoho zajímavého  8) . Navíc ty grafy vytížení jednotlivých jader vypadají na první pohled poněkud podivně.

Ymzk

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #11 kdy: 16. 07. 2020, 18:46:04 »
Tam v tom okýnku který se jmenuje "Task manager" je dole takový odkaz který se jmenuje "Open resource monitor", a tam by se určitě dalo najít mnoho zajímavého  8) . Navíc ty grafy vytížení jednotlivých jader vypadají na první pohled poněkud podivně.

Tam v podstate nieje nic. Disky nic nerobia. 1 metatrader zerie cca 3-4 percenta cpu.

Ymzk

Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #12 kdy: 16. 07. 2020, 18:46:40 »
Vzhledem k Win mne napadá vyzkoušet uzamčít jednotlivé instance MT na konkrétní jádro/jádra (CPU affinity). Tím si ověříš, že za to nemůže scheduler.

Dakujem toto vyskusam. To mi dava zmysel


Re:AMD vs Intel pre programátora + problem optimalizacie
« Odpověď #14 kdy: 16. 07. 2020, 19:48:05 »
Tam je pruser v tom, ze scheduler windows vi prd o cipletove architekture pouzityho CPU a pak prehazuje zatez z jednoho cipletu na druhej, misto na jadro ve stejnym cipletu

Jinak Metatrader je i pro Linux, je-li to server ciste pro Metatrader (nebo je potreba pro nej vyssi vykon), tak bych ho provozoval na Linuxu, kterej problemem s planovacem netrpi
« Poslední změna: 16. 07. 2020, 19:50:40 od Ziktofel »