CPU-painotteinen työkone pikana tilaukseen

Liittynyt
16.09.2023
Viestejä
2
Morjens!

Tarvitsen pikaisesti työkoneen, jossa keihäänkärkenä olisi nopeus selainpohjaisia palveluita käytettäessä. Eli muutamia selaimia/profiileita, useita tabeja ja selaimen lisäosia on jatkuvassa pyörityksessä. Tarkemmin kyse on sijoittamisesta, missä sekunnin murto-osatkin ovat merkittäviä pidemmässä juoksussa.

Oon käsittänyt että CPU ja riittävä muisti olisi tässä ne merkittävimmät asiat. Näyttistä ei käsittääkseni tässä niin tarvitse, kun grafiikkaa ei palveluissa paljoa liiku. Ehkä jonkinlainen voisi kuitenkin olla, ja jos sattuu vaikka kokeileen jotain peliä joskus.

Koitin näitä itse selvitellä, mutta en juuri löytänyt tietoa tällä kulmalla.

Otankin kiitollisena ja nöyränä kaikki mahdolliset vinkit vastaan. :)

Eli toiveissa olisi konepaketti jossa:
- cpu-painotus ja vähintään 16-core
- 32GB muistia
- joku nopea kiintolevy, 1T riittänee mainiosti.
- luotettava ja helppohoitonen
- osien pitää löytyä suoraan Jimmsin hyllystä niin saisin tämän mahd pian
- hinta on toissijainen, mutta eihän sitä turhasta tietenkään halua maksaa. Ehkä jos nopeus nousee vaikka prosentin tai jopa sen kymmenyksiä vielä järkevällä hinnalla, niin 3000eur on max kipuraja. Mieluummin toki sinne 1500-2500 hujakoille.

Tällaista oon alkanut kasailemaan, mutta ei mitään oo lyöty lukkoon:

1729242664934.png
 
Ihan turhaan mitään 16-ytimistä 9950X:ää otat, kun käyttökohde on selainpohjaisten palvelujen käyttäjäpääty. Suurin osa markettisivustoista on vielä antiikkisia, devaus olisi sitten eri asia. Periaatteessa pelkkään selainkäyttöön ottaisin esim. Ryzen 7700:n, mutta hinta Jimms'llä on huono. Myös muistin määrä tabien lukumäärään nähden on sinänsä urbaani legenda, että pullonkaula muodostuu selaimen arkkitehtuurista kauan, ennen kuin muisti tai prossun raaka teho rajoittaisi tabien lukumäärää.

Näytönohjain kannattaa ottaa jo siksi, että halunnet varmasti useamman näytön ja hyödyntää näytönohjaimen kiihdytystä verkkosovelluksissa.

Eliniän kannalta tilaisin seuraavaa, jos kriteerit ovat Jimms ja heti tilattavissa:

jimms_A25.png

SSD:stä voi säästää muutaman kympin vaihtamalla sen tähän, jos 1TB riittää.

Näytönohjaimeksi sitten budjetin, liitäntöjen (useammat näytöt ja niiden resoluutiot) ja verkkosivujen HW accel. tarpeen mukaan esim. 7700XT tai RTX4060Ti, tai sitten jotain huomattavasti järkevämpää foorumin myyntiosiosta.
 
Viimeksi muokattu:
Varmaan tuollaisessa käytössä alkaa verkon(reititin, nettiyhteyden tyyppi, etäisyys konesaliin) ja koko koneen latenssi vaikuttamaan siis jos oikeasti halutaan milli ja mikrosekuntejakin jauhaa operaatioista pois. Isompi kellotaajuus parempi kuin enemmän ytimiä? Jos tulee jotain muisti/cache pullonkauloja niin amd:n isolla cachella olevat cpu:ta ja pysyy data lähempänä suoritinta? Jos tavoite on enemmän sekunneista kuin milli tai mikrosekunneista niin tuskin kannattaa ottaa stressiä ostaako amd vai intel kunhan laskentatehon määrä on riittävä.

Jos on jotain megalomaanisen kokoisia datasettejä niin nvidian rapids ja gpu kiihdytys murskaa dataa nopeammin kuin cpu
 
Viimeksi muokattu:
Kiitos erinomaisista tiedoista, näistä ei olekaan ollut hajua aiemmin. En esim tajunnut tuota max nopeus vs. web browser nopeus -hommaa.

Tilanne muuttuikin nyt vähän kimurantimmaksi, kun esim toi Ryzen 7 9700x antaa noissa Jetstream 2 ja speedometer 2.0, 2.1, 3.0 testeissä ihan samanlaisia lukemia esim macbook m3 pro:n kanssa. M3 pro olisi samaa hintaluokkaa tuon ryzen-kokoonpanon kanssa kaikkine osineen, niin jäin pohtimaan sen hankintaa.

Esim speedometer 3.0:
M3 pro: 37
9700x: 36.7

Jetstream 2:
M3 pro: 402
9700x: 397

Olen siis näitä rouhinut aikaisemmin M1 pro:n ja M3 airin kanssa. Ajattelin että tuolta non-mac puolelta olisi voinut löytyä selkeästi järeämpää tehoa näihin, mutta uusilla tiedoilla ei ehkä niinkään, jos katsotaan puhtaasti tuota web browsing-aspektia.

Tällä hetkellä käytössä on 1GB kuitu jolla ooklalla järjestään download 920Mbps+ ja 1-2ms ping, ul 550Mbps+. Nopeampaa nettiä ei käsittääkseni saa Helsingin kantakaupunkiin?

Käsittääkseni muisti/cache/jättidatasetit eivät ole tässä se ongelma, vaan ihan puhtaasti miten nopeasti tieto liikkuu simppeliltä sivulta ruutuuni esim twitter ja lisäksi miten nopeasti lähetän tiedon sivulle mahdollisimman nopeasti. Operaatio ei ole mitenkään massiivinen, vaan puhutaan 10-20 nettisivusta ja max viidestä browserin lisäosasta. Esim noi m-sarjan macit eivät ole koskaan varmaan menneet yli 20% cpu-tehon tai 50% muistin ennen swappia.

Paras vaihtoehto olisi ilmeisesti nyt tuo m3 pro macbook 14" noin 2000eur. Tai toki tuo ryzen-kone jättäisi oven auki prosessorin päivitykselle tulevaisuudessa, mikä olisi järkevämpää. Mutta sitten pitäisi ehkä päivittää emoakin niin tulee lisähintaa?

Onko tässä nyt jotain mitä missaan, tai voisiko näitä alkaa simuloimaan jotenkin kätevästi / hankkia ostopalveluna? Oma ajankäyttö tähän tuntuu todella tuhlaukselta, kun on niin heikot taustatiedot :/
 
Kiitos erinomaisista tiedoista, näistä ei olekaan ollut hajua aiemmin. En esim tajunnut tuota max nopeus vs. web browser nopeus -hommaa.

Tilanne muuttuikin nyt vähän kimurantimmaksi, kun esim toi Ryzen 7 9700x antaa noissa Jetstream 2 ja speedometer 2.0, 2.1, 3.0 testeissä ihan samanlaisia lukemia esim macbook m3 pro:n kanssa. M3 pro olisi samaa hintaluokkaa tuon ryzen-kokoonpanon kanssa kaikkine osineen, niin jäin pohtimaan sen hankintaa.

Esim speedometer 3.0:
M3 pro: 37
9700x: 36.7

Jetstream 2:
M3 pro: 402
9700x: 397

Olen siis näitä rouhinut aikaisemmin M1 pro:n ja M3 airin kanssa. Ajattelin että tuolta non-mac puolelta olisi voinut löytyä selkeästi järeämpää tehoa näihin, mutta uusilla tiedoilla ei ehkä niinkään, jos katsotaan puhtaasti tuota web browsing-aspektia.

Tällä hetkellä käytössä on 1GB kuitu jolla ooklalla järjestään download 920Mbps+ ja 1-2ms ping, ul 550Mbps+. Nopeampaa nettiä ei käsittääkseni saa Helsingin kantakaupunkiin?

Käsittääkseni muisti/cache/jättidatasetit eivät ole tässä se ongelma, vaan ihan puhtaasti miten nopeasti tieto liikkuu simppeliltä sivulta ruutuuni esim twitter ja lisäksi miten nopeasti lähetän tiedon sivulle mahdollisimman nopeasti. Operaatio ei ole mitenkään massiivinen, vaan puhutaan 10-20 nettisivusta ja max viidestä browserin lisäosasta. Esim noi m-sarjan macit eivät ole koskaan varmaan menneet yli 20% cpu-tehon tai 50% muistin ennen swappia.

Paras vaihtoehto olisi ilmeisesti nyt tuo m3 pro macbook 14" noin 2000eur. Tai toki tuo ryzen-kone jättäisi oven auki prosessorin päivitykselle tulevaisuudessa, mikä olisi järkevämpää. Mutta sitten pitäisi ehkä päivittää emoakin niin tulee lisähintaa?

Onko tässä nyt jotain mitä missaan, tai voisiko näitä alkaa simuloimaan jotenkin kätevästi / hankkia ostopalveluna? Oma ajankäyttö tähän tuntuu todella tuhlaukselta, kun on niin heikot taustatiedot :/
Yksi asia mitä miettisin on, että saisiko latenssia alaspäin pilvikoneella mikä mahdollisesti samassa tai viereisessä konesalissa kuin missä webbisivut ovat.

Toinen ajatus mikä tulee mieleen on, että jos kone on kotona niin ainakin routteri pois välistä ja kone suoraan modeemiin kiinni(jos ei ole jo)?

Uskoisin myös, että asia ei ole kovin suoraviivainen kun latenssi voi riippua käytössä olevista osista, niiden ajureista ja käyttikseen tuunatuista parametreista,.... Emolevy, verkkokortti jne. vaikuttaa. Latenssia voi saada alaspäin sen kustannuksella, että isojen tiedostojen siirto hidastuu.

Kolmas ajatus se, että jos tieto kulkee tyyliin ajuri-kerneli-middleware ... ... sun applikaatio niin siinä syntyy latenssia. Tiedän, että latenssisensitiivisiä asioita on joissain paikoissa kirjoitettu suoraan ajuriin/kerneliin ja kaikki turhat kerrokset ja ipc-kutsut/datan kopioinnit pois välistä.
 
En nyt ehkä ihan millisekuntien tasolla lähtisi teorioimaan optimointia. Kyseessä ymmärtääkseni kuitenkin käyttäjän tekemää manuaalista työtä koneella, jolloin huomattavasti isommat viiveet tulee näppäimistön ja penkin välistä. Jos käytössä on automaatiota, niin silloin kannattaisi alkaa miettimään jotain millisekuntien vaikutusta sivun latausajoissa.
Voin olla väärässä, mutta et tule saavuttamaan kummoista hyötyä päivittämällä M1 maccia M3 versioon.
 
Jänniä nämä "sijoittamiset", joissa puhutaan millisekunneista :-D. Siis haluat vain nopsan vedonlyöntikoneen? Ehkä enemmän kyse kaikesta selaimeen ja verkkoon liittyvästä optimoinnista, kuin itse koneesta. Tuleeko käytettyjen sivujen päivitykset pushina, vai pitääkö sinun refreshata niitä jne vai olisiko puhdas API-yhteys selkeästi nopeampi. Nvidia:lla ja Intelillä on olemassa oppaita system latency:n optimointiin:
ja Optimizing Computer Applications for Latency: Part 1: Configuring the...
ja Optimizing Computer Applications for Latency: Part 2: Tuning...

Varsinkin tuo Intelin opas on todella hyvä, kun haluaa lähteä oikeasti viilaamaan. Hardware puolelta se iso päätös on tsekata, että miten SOC:t toimivat vs. tyypillisemmät CPU+RAM ratkaisut. Jos menee ilman SOC:ia niin sitten CPU kannattaa ylikellottaa all-core. RAM kannattaa ylikellottaa nimenomaan latency-näkökulmasta (ei throughput). Kaikki virtaoptimoinnit, jotka "dynaamisesti" ohjaavat power stateja vaan pois päältä.

OS:n osalta isot päätökset, että meneekö Linuxin kanssa vai jollain muulla. Linux olisi mahdollsita konffata todella kevyeksi ja Intelin oppasta vinkkejä sen optimointiin:

Networking

  • Ensure that the network adapter is inserted into the correct PCI-e slot, where the receiver thread is running. That shaves off inter-socket communication latency and allows Intel® Data Direct I/O Technology to place data directly into the last level cache (LLC) of the same socket.
  • Bind network interrupts to a core running on the same socket as a receiver thread. Check entry N in /proc/interrupts (where N is the interrupt queue number) and then set it by:
    echo core # > /proc/irq/N/smp_affinity
  • Disable interrupt coalescing. Usually the default mode is adaptive which is much better than any fixed setting, but it is still several microseconds slower than disabling it. The recommended setting is:
    ethtool –C <interface> rx-usecs 0 rx-frames 0 tx-usecs 0 tx-frames 0 pkt-rate-low 0 pkt-rate-high 0

Kernel bypass

  • Kernel bypass solutions usually come tuned for latency, but there still may be some useful options to try out such as polling settings.

Kernel tuning

  • Set the correct power mode. Edit /boot/grub/grub.conf and add:
    nosoftlockup intel_idle.max_cstate=0 processor.max_cstate=0 mce=ignore_ce idle=poll
    to the kernel line. For more information, see www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt
  • Turn off the cpuspeed service.
  • Disable unnecessary kernel services to avoid jitter.
  • Turn off the IRQ Balance service if interrupt affinity has been set.
  • Try tuning IPv4 parameters. Although this is more important for throughput, it can help to handle bursts of network activity.
  • Disable the TCP timestamps option for better CPU utilization:
    sysctl -w net.ipv4.tcp_timestamps=0
  • Disable the TCP selective acks option for better CPU utilization:
    sysctl -w net.ipv4.tcp_sack=0
  • Increase the maximum length of processor input queues:
    sysctl -w net.core.netdev_max_backlog=250000
  • Increase the TCP maximum and default buffer sizes using setsockopt():
    sysctl -w net.core.rmem_max=16777216
    sysctl -w net.core.wmem_max=16777216
    sysctl -w net.core.rmem_default=16777216
    sysctl -w net.core.wmem_default=16777216
    sysctl -w net.core.optmem_max=16777216
  • Increase memory thresholds to prevent packet dropping:
    sysctl -w net.ipv4.tcp_mem="16777216 16777216 16777216"
  • Increase the Linux* auto-tuning of TCP buffer limits. The minimum, default, and maximum number of bytes to use are shown below (in the order minimum, default, and maximum):
    sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
    sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
  • Enable low latency mode for TCP:
    sysctl -w net.ipv4.tcp_low_latency=1
  • For tuning network stack there is a good alternative:
    tuned-adm profile network-latency
  • Disable iptables.
  • Set the scaling governor to “performance” mode for each core used by a process:
    for ((i=0; i<num_of_cores; i++)); do echo performance > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor; done
  • Configure the kernel as preemptive to help reduce the number of outliers.
  • Use a tickless kernel to help eliminate any regular timer interrupts causing outliers.
  • Finally, use the isolcpus parameter to isolate the cores allocated to an application from OS processes.
Hauska, muuten kommentti 10 vuoden takaa. High Frequency Traderit saavuttivat jo tuolloin alle 1ms aikoja "Because of this need to get into exotic systems for the "wicked fast" part of the market you'll find that the Quants (the folks that come up with the algorithms that we make go fast) are dividing their algos into event-to-response time layers. At the very top of the technology heap are the sub-microsecond systems (like ours). The next layer are the custom C++ systems that make heavy use of kernel bypass and they're in the 3-5 microsecond range. The next layer are the folks that cannot afford to be on a 10Gb/S wire only one router hop from the "exchange", they may be still at COLO's but because of a nasty game we call "port roulette" they're in the dozens to hundreds of microsecond domain. Once you get into milliseconds it's almost not HFT any more." How fast is state of the art HFT trading systems today? jos katsoo modernejakin oppaita, niin fokus on enimmäkseen softassa ja lokaatiossa. Hardwaren osalta fokus on puolestaan pitkälti routereissa ja muissa verkkolaitteissa. Vasta sitten se kääntyy muuhun rautaan Optimal Strategies for High-Frequency Trading Low-Latency Architecture ja The High-Frequency Trading Developer’s Guide: Six Key Components for Low Latency and Scalability | HackerNoon

Rautapuolelta kannattanee tuollaisessa consumer-kamassa vielä tsekata, että mikä on Intelin Optane:n tilanne tällä hetkellä. Teknologiana tuo on discontinued, mutta päivittää edelleen kirkkaasti kaikki NVMe:t jne jos PC:n pitää sieltä ladata jotain.
 
Viimeksi muokattu:
Jos käyttää jotain safari/chrome tms. selainta niin siirtymällä headless selaimeen minne koodi suoraan sisään saanee lisää suorituskykyä. Jää pois kaikki renderöinti. Mahdollinen selain-xxx datan siirto kun voi integroida jutut suoraan selaimen enginen sisään ipc:n sijaan. Headless konsepti ajatuksena laaja kun on valmiita headless selaimia, http-frameworkkeja eri ohjelmointikieliin jne.
 
Paras vaihtoehto olisi ilmeisesti nyt tuo m3 pro macbook 14" noin 2000eur. Tai toki tuo ryzen-kone jättäisi oven auki prosessorin päivitykselle tulevaisuudessa, mikä olisi järkevämpää. Mutta sitten pitäisi ehkä päivittää emoakin niin tulee lisähintaa?

Onko tässä nyt jotain mitä missaan, tai voisiko näitä alkaa simuloimaan jotenkin kätevästi / hankkia ostopalveluna? Oma ajankäyttö tähän tuntuu todella tuhlaukselta, kun on niin heikot taustatiedot :/

Kuten tuossa toinen käyttäjä hienosti puki sanoiksi, sinä olet ihmisenä se pullonkaula tässä yhtälössä, jos verrataan modernin raudan suorituskykyä jossain tämäntyyppisessä selainpohjaisessa aktiviteetissa.

MBP:t ovat erinomaisia työläppäreitä, mutta minkäänlaiseen pelikäyttöön ne eivät sovellu ja päivitysvaihtoehtona on myynti ja uuden hankinta. Lisäksi läppäreiden suorituskyky jää aina reilusti pöytäkoneiden alapuolelle minkäänlaisessa raskaammassa käytössä. AM5 on emolevyalustana ainakin muutaman vuoden vielä relevantti, eli emolevyyn sopivia prossuja on tulossa lisää vähintään 2027 asti.

Ei tästä nyt kannata tehdä sen monimutkaisempaa, kuin että valitsee minkälaisessa kotelossa se PC on. Itse yritän välttää läppäreiden käyttöä puhtaasti huonon ergonomian vuoksi. Jos sulla on jo omasta takaa tehokas läppäri (esim. M1), niin tarpeen mukaan hankkisin erikseen näytöt jne. haluamasi datan seurailuun, ja ajaisin niitä joko M1:llä tai rakentaisin siihen kylkeen pienikokoisen Ryzen-pohjaisen pöytäkoneen vaikka ITX-kokoluokassa, millä onnistuisi myös pelaaminen jne.

Olettaisin, että todella isolla osalla esim. tämän foorumin jäsenistä on MBP työläppärinä ja erikseen pöytäkone etätyöskentelyyn ja viihteeseen.
 

Statistiikka

Viestiketjuista
256 217
Viestejä
4 456 726
Jäsenet
73 693
Uusin jäsen
Vartia

Hinta.fi

Back
Ylös Bottom