Aktywne Wpisy
![atteint](https://wykop.pl/cdn/c3397992/atteint_ZzIvflxYE4,q60.jpg)
atteint 0
znacie jakieś fajne kłamstwa?
![rysiekryszard](https://wykop.pl/cdn/c0834752/5f6776f625154d7748ee743db20fb72c16435c1ec97d02890c4af8f58dc4dacc,q60.png)
Niezła jazda. Rok zakończy się na jakichś 275 tys. Jak trend się utrzyma to do końca dziesięciolecia może się rodzić 150 tys. dzieci rocznie xD. Będzie cyrk jak cholera. Oczywiście politycy nie nastawiają na to gospodarki. Po prostu zastosują metodę ad hoc, czyli np. sprowadzi się 500 tys. czarnych bulli z Nigerii każdego roku xD. Mam nadzieję, że dostosują do tego prawo, żeby dać tym Omarim i innym Mokebe łatwiejszy dostęp do
![rysiekryszard - Niezła jazda. Rok zakończy się na jakichś 275 tys. Jak trend się utrz...](https://wykop.pl/cdn/c3201142/c2ac7dd35daf580bac35dfe087defe9d534b6e8234a0af5a54be3dce36200892,w150.jpg?author=rysiekryszard&auth=a10b06a232d5644790683dceba78bf80)
1. Na ile przydatny jest cache procesora (L1, L2, L3) skoro na jednym rdzeniu działają setki procesów? Przecież poza docelowym programem działa też również sam system który spawnuje mnóstwo procesów. Na ile instrukcji wystarcza jeden slot czasowy na CPU zanim zostanie przełączony na inny proces? 10? 100? 1000? 10000? Czy jak nastąpi przełączenie i się dzieje context switching to wszystkie cache lecą do kosza? Co z TLB ? Też leci na śmietnik?
2. Czy OS jakoś to uwzględnia i np jak ma proces który zabiera 95% czasu procesora a ma do dyspozycji ma wiele rdzeni, to będzie starał się go trzymać na jednym rdzeniu właśnie ze względu na cache? Czy będzie nim losowo rzucał po corach w zależności od tego co się pierwsze zwolni? Jaką władzę ma tutaj systemowy scheduler? Zakładam że jest w stanie nadzorować rdzenie indywidualnie?
3. Jaka jest polityka cachowania danych i instrukcji? Wystarczy że jakaś dana/instrukcja jest ładowana raz z pamięci i już ląduje w cachu? Czy musi być często czytana z pamięci żeby to się stało? I potem jest promowana L3->L2->L1 ? Kiedy z cache wylatuje? Kto w ogóle za to odpowiada? Ośrodek decyzyjny jest w CPU? W MMU? Czy cache same w sobie mają jakaś logike i same się tym zajmują? Przecież rozmiar cacha jest w kilobajtach więc musi być bardzo selektywny.
4. W przypadku języków z maszyną wirtualną typu Java/C#: skoro maszyna wirtualna sama jest programem który wykonuje inny program, to czy to nie ma mega złego wpływu na cache? Czy to nie zwiększa niemożebnie presji na cache instrukcji? Nię mowiąc o tym jak się odpali garbage collector i skanuje całą stertę, czy to nie zabrudza cache'a programowai który właśnie działał na tym corze?
#programowanie #cpp #java #dotnet #informatyka
@Passer93: Nawet jak działają to przez 99% czasu są uśpione. Aktywnych procesów będzie góra kilka.
@Passer93: jeśli przełączanie będzie co 0.1s to to będzie 400mln cykli czyli z milliard instrukcji
Do momentu meltdown i spectre odpowiedź była 'nie'. Teraz na Intelu jest to wymuszane i był o to straszny ból dupy bo niektóre serwerowe benchmarki potraciły po 50%.
tu nie ma magii - Java nie różni się
@zwei: nie bój żaby, ja nie z tych co za plecami kasują posty xD