W moim oprogramowaniu HFT planuję używać jednego rdzenia do obliczania indeksu giełdowego. Byłaby to po prostu while(true)
pętla bez opóźnień, która będzie obliczać (sumować i mnożenie) składniki tak często, jak to możliwe (czyli miliony razy na sekundę), a ja planuję robić to 8 godzin dziennie.
Nigdy wcześniej nie ładowałem swojego komputera do 100% pełnego wymiaru każdego dnia na co dzień. Czy to może być niebezpieczne? Czy procesor ma swego rodzaju „zasób” (oczywiście bardzo duży), po którym może przestać działać?
performance
xeon
central-processing-unit
javapowered
źródło
źródło
while(active)
niewhile(true)
(z publiczną metodą „zamykania”).Odpowiedzi:
Nie ma niebezpieczeństwa (przy użyciu sprzętu klasy serwerowej).
Prowadziłem setki systemów HFT, w których wyznaczyliśmy rdzeń procesora do uruchomienia wątku blokady (w celu zmniejszenia przerwań) lub strategie przypisane do konkretnych rdzeni procesora na czas dnia handlowego. Właśnie do tego zostały zaprojektowane procesory. Mogę powiedzieć, że nigdy nie miałem awarii procesora w tym kontekście.
Czy w twojej sytuacji używasz odpowiedniego serwera? Inne czynniki, które należy wziąć pod uwagę to chłodzenie, redundantne wentylatory, zasilacze itp. Są to jednak standardowe elementy każdego systemu produkcyjnego.
źródło
Ogólnie rzecz biorąc, nie, chociaż na to, na co powinieneś spojrzeć, należy obciążenie, ale temperatura. Możesz zasymulować obciążenie (być może z superpi na Windowsie , prime95 na Linuksie i Windowsie lub innej aplikacji do testów warunków skrajnych lub rzeczywistej aplikacji) i uruchomić proces, aż temperatura się ustabilizuje - podobnie do tego, co zrobiłby overclocker.
Chcesz, aby temperatura ta była poniżej maksymalnej temperatury znamionowej dla tego procesora - w tym celu zapoznaj się z arkuszem danych. Następnie sprawdź, czy twoje rozwiązanie chłodzące jest odpowiednie i prawdopodobnie dostosuj je w razie potrzeby. Nie mogę zasugerować oprogramowania do monitorowania, niestety bez znajomości systemu operacyjnego - zwykli podejrzani, tacy jak nagios, mogą działać, ale dla początkowego „wypalenia” coś takiego jak lmsensory lub pcwizard może zrobić dla jednego systemu.
Większość współczesnych procesorów po prostu dusi się, jeśli się przegrzeją - intel ma na ten temat stronę . Byłoby okropne dla twojej aplikacji, jeśli wydajność ma krytyczne znaczenie, ale bardziej prawdopodobne jest, że system wyłączy się lub będzie działał dziwnie, niż wypalić się. To znak, że procesor jest przeciążony i zdarzają się złe rzeczy - w takim przypadku przejrzyj wybrane opcje chłodzenia.
źródło
Tysiące klastrów naukowych na całym świecie uważają, że jest to sytuacja nieoptymalna (lub zła), gdy istnieją rdzenie, które nie mają 100% obciążenia procesora. W tym celu zaprojektowano prawdziwe serwery z odpowiednim sprzętem klasy serwerowej.
źródło