- A hozzászóláshoz be kell jelentkezni
- 1900 megtekintés
Hozzászólások
Na ilyen se volt meg hogy elsonek szolok hozza valamihez :)
Szal az a velemenyem, hogy sajna Ingo nem talalta fel a nagy csodat, hanem egy csomot egyszerusitett, cserebe kisse rosszabb lett a kod hatasfoka. O(log n) azert neha sokkal rosszabb bir lenni mint O(n). Igazi szerver benchmarkok kellenenek, desktop nem erdekel... :)
--
Gabriel Akos
- A hozzászóláshoz be kell jelentkezni
s/O(n)/O(1)/, nem? A log n-t jobban szeretjuk, mint a linearisat, szerintem.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
ha a logaritmus alapja nem sokkal nagyobb 1-nél, akkor kis n-ekre sokkal rosszabb is lehet akár :D
- A hozzászóláshoz be kell jelentkezni
ROTFL
- A hozzászóláshoz be kell jelentkezni
"I'm curious to see if they find the increased algorithm complexity will show up on many profiles. You can imagine that when dealing with hundreds or thousands of running threads the cache misses when walking log n could be quite expensive."
Hát én nem volnék ennyire peszimista.
Ha jol emlékszem n=15 nél ez az algoritmus gyorsabb mint a régi O(1), szerintem elég fura egy nem n függő algoritmusra bízni az ütemzést.
Az n csak CPU ra várakozó processek száma, én egy csomó S betűt szoktam látni a top, ezek álltalában kevesen vannak.
Ha jol emlékszem egy cache miss kb. 120 óra jelbe kerülhet, ha nincs közbe semmi amit csinálhat a rendszer ez is elég peszimista. 64(8*8) Burst reading elején derül ki a miss, akkor a következő hasonló olvasás végéig kell kb. ennyit várni.
log_2(16)=4 legyen sok(16) várakozó process, és mondjuk gonosz módon 1000Hz cumóval játszunk másodpercenként 1000 szer lefutatva az algoritmust, Akkor is max ~500 * 1000 orajelet bukunk -e miatt.
Szerveren nem szokás 1000 Hz -vel játszani sokal inkább javasolt 100 vagy 250 körüli.
Kurva magas esélyel I/O wait miatti várakozás még mindig nagyságrandekkel sulyosabb, cache -böl is akkor van jó esélye kikrülnie a dolognak, ha nagy adatmozgatás történt, ami egy jó alkalmazásnál i/o müveletkor gyakori, és nem a processen belüli (számítás nélküli) adattologatáskor.
De, ha valki nagyon parázik a cahche missek miatt, ujabban már remek prefetch utasítások vannak :), amik cacheben való tovább tartást is kérhetik AFIK.
Molnár Ingo -nak van hup accountja ? kiváncsi lennék ő mit mond ezekröl.
- A hozzászóláshoz be kell jelentkezni
"ütemező guru"... Hát nem is tudom, nekem eddig nem éppen ezt a benyomást keltette.
- A hozzászóláshoz be kell jelentkezni
Arról lehet vitatkozni, hogy az ULE mennyire jó, de gyanítom azért több ismerete van a schedulerek terén, mint a 200+ hozzászólást generáló hupperek többségének, úgyhogy szívesen elolvasom az ő véleményét is.
- A hozzászóláshoz be kell jelentkezni
Jó, ezen nem fogunk összeveszni. :)
- A hozzászóláshoz be kell jelentkezni
Lárom, nem érted. Ingo r0xx, Kolivas suxx, ez a lényeg.
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy Robertson titkos mingo-bérenc (vagy hogyan kell ezt csinálni az ms-bérenc mintájára?) a FreeBSD-n belül.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
A fent említett úriember eszembe se jutott a hsz írásakor.
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
Szerintem a guru szó nem feltétlenül a szakmai tudásra, sokkal inkább valakinek a valamiben betöltött vezetői státuszára vonatkozik (legalábbis én ilyen értelmeben szoktam használni, lehet, hogy rosszul?). Mivel Robertson nyomja a FreeBSD-nél ezt az ütemező témát, megkockáztattam neki a guru jelzőt.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
A guru inkább tanító, mintsem vezető, tehát szerintem rosszul. :)
- A hozzászóláshoz be kell jelentkezni
<poén>Aki tanítja, az nem feltétlenül tudja. Erre utal a "aki tudja csinálja, aki nem tanítja" tréfás megállapítás. Így végülis ebből sem következne. :))</poén>
Egyébként arra célzol, hogy Jeff Robertson alkalmatlan?
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Jó, ne ragozzuk. :)
Nem célzok rá, egész egyszerűen valamiért az volt a benyomásom, hogy más -az eddigi munkájuk alapján általam profinak ítélt- committerekhez képest gyengébb képességű :).
Ha megpróbálom felidézni az okokat, ezek jutnak eszembe:
- elég sokat görcsölt az ULE-val, és sok probléma elő is jött vele
- mindezek ellenére a mai napig nem vagyok róla meggyőződve, hogy tényleg megérte (bár az ULE 2 azért lehet, hogy ezen javít)
- nekem olyan durrbele embernek tűnt az ULE kapcsán, azaz néha nagy elánnal belevetette magát a dologba, majd sokáig szinte semmi és most megint...
Az idő majd megválaszolja, hogy a mostani megoldása tényleg jobb-e.
- A hozzászóláshoz be kell jelentkezni
van motiváció, a linux-nál elkezdtek ott mozgolódni (Kolivas ~2003, de nem biztos) akkora freebsd-nél miért nem tegyen rá, hogy jobb legyen
Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam.
debian 4.0 - linux-2.6.22.1-pancs1-wifi1 - 2.6.22.1 kernel madwifivel itt
- A hozzászóláshoz be kell jelentkezni
Már van ULE 3.0 is , a shed_smp lett átnevezve.
A listákon sok jót írnak , meglássuk ezt a 7-es FreeBSD-t.
ULE 3.0: Fine grain scheduler locking and affinity improvements. This has
been in development for over 6 months as SCHED_SMP.
- Implement one spin lock per thread-queue. Threads assigned to a
run-queue point to this lock via td_lock.
- Improve the facility for assigning threads to CPUs now that sched_lock
contention no longer dominates scheduling decisions on larger SMP
machines.
- Re-write idle time stealing in an attempt to make it less damaging to
general performance. This is still disabled by default. See
kern.sched.steal_idle.
- Call the long-term load balancer from a callout rather than sched_clock()
so there are no locks held. This is disabled by default. See
kern.sched.balance.
- Parameterize many scheduling decisions via sysctls. Try to document
these via sysctl descriptions.
- General structural and naming cleanups.
- Document each function with comments.
Tested by: current@ amd64, x86, UP, SMP.
Approved by: re
Üdv
Godot
- A hozzászóláshoz be kell jelentkezni