Hozzászólások
-
SzerzőBejegyzés
-
„bár az utolsó idézet nem tőlem származik”
Azt hittem nem gond, nem akartam 2x postolni. De nem is állítottam, hogy tőled származik.„hogy többszálú program futhat egy magon is”
Igen. Ilyenkor – mint a processzek (folyamatok) esetében – időosztással történik a szálak futtatása (egymás után).„különálló processzek szétosztása megy SMP nélkül is”
Hmm, nem kevered véletlenül a processzt és a szálat? Amit szó szerint írtál, multitask-nak hívják. Ősi technika. Még az OpenDOS is használja.„egymással kommunikáló szálak futnak külöm magokon”
Nem csak ezek, a processzek is külön magon futhatnak, fizikailag párhuzamosan.Részletesebben:
http://tldp.fsf.hu/HOWTO/HOWTO-INDEX/os.html#OSPP
http://esca.atomki.hu/dlug/gemini/intro.htmlA kliens progi hogy csatlakozik az SQL szerverhez, natívan vagy ODBC-vel? Ha natívan, akkor az a könnyebb, rá kell bírni az SQL szervert, hogy ne a háttérben fusson és a 1433-as TCP porton üljön. Ha ez megvan, akkor egy másik wine indításával a kliens – a linux IP vermén keresztül – csatlakozni tud a szerverhez.
Az ODBC-n keresztül nem tudom, de ez a rögösebb út. Még MS Windows-on futó MSSQL szerverhez is nehéz ODBC felületen kapcsolódni, nem hogy még a szervert is wine alol indítani.
Egyáltalán a wine el tudja indítani az MSSQL-t? Még nem próbáltam, a fentiek is csak tipp.
A kliens progi hogy csatlakozik az SQL szerverhez, natívan vagy ODBC-vel? Ha natívan, akkor az a könnyebb, rá kell bírni az SQL szervert, hogy ne a háttérben fusson és a 1433-as TCP porton üljön. Ha ez megvan, akkor egy másik wine indításával a kliens – a linux IP vermén keresztül – csatlakozni tud a szerverhez.
Az ODBC-n keresztül nem tudom, de ez a rögösebb út. Még MS Windows-on futó MSSQL szerverhez is nehéz ODBC felületen kapcsolódni, nem hogy még a szervert is wine alol indítani.
Egyáltalán a wine el tudja indítani az MSSQL-t? Még nem próbáltam, a fentiek is csak tipp.
„Vizsla-nak igazat adok, egyszálú program csak egy magon fog futni.”
Ez triviális. De mondj egy web kiszolgáló alkalmazást, amelyik nem gyorsabb SMP rendszeren, mert nincs párhuzamosítva. Már a grafikai programok egy része (GIMP és Aqsis) is többszálú. Ráadásul a 4.2-es gcc már támogatja az OpenMP-t.„Viszont a processzeket a kernel SMP nélkül is szét tudja osztani több mag között.”
Tévedés! Ezek szerint nem érted, mi az SMP. Ahol egynél több párhuzamosan futó feldolgozó folyam van, oda kötelező az SMP támogatás. Még ha virtuális is, mint az Intel féle Hyper-Threading. Hogy 2 db 1 magos procid van, vagy 1 db 2 magos, az csak fizikai kivitelezés kérdése. Logikailag nincs különbség közöttük. Sőt, van a 2 közötti átmetet is (lásd a jelenlegi „4 magos” Intel procit).„Ezek külön memoriaterülettel rendelkeznek.”
Mivelhogy ez a processz egyik lényeges eleme.„A többszálú program esetén a több magon futó szálak közös memoriaterületet használnak, ebben van az SMP szerepe.”
Ez így rossz. Definiálod az UMA-t (Unified Memory Architecture), majd ráhúzod, hogy ez az SMP. Pedig nem. Simán mennek az RPC-t használó processzek is fizikailag párhuzamosan, a DMA-s alkalmazásokról nem is beszélve. A közös memória terület csak egy opció, lehet nélküle is remek párhuzamos algoritmust írni, ami kiválóan fut SMP rendszeren.„A debian etch alapkernele linux-image-2.6.18-4-686 már smp-s szóval nem kell semmilyen másik kernel.”
Igaz, régebben kellett. Most meg a virtualizált kernel van külön, hogy nehogy már legyen egy egységes kernel. 🙂„Vizsla-nak igazat adok, egyszálú program csak egy magon fog futni.”
Ez triviális. De mondj egy web kiszolgáló alkalmazást, amelyik nem gyorsabb SMP rendszeren, mert nincs párhuzamosítva. Már a grafikai programok egy része (GIMP és Aqsis) is többszálú. Ráadásul a 4.2-es gcc már támogatja az OpenMP-t.„Viszont a processzeket a kernel SMP nélkül is szét tudja osztani több mag között.”
Tévedés! Ezek szerint nem érted, mi az SMP. Ahol egynél több párhuzamosan futó feldolgozó folyam van, oda kötelező az SMP támogatás. Még ha virtuális is, mint az Intel féle Hyper-Threading. Hogy 2 db 1 magos procid van, vagy 1 db 2 magos, az csak fizikai kivitelezés kérdése. Logikailag nincs különbség közöttük. Sőt, van a 2 közötti átmetet is (lásd a jelenlegi „4 magos” Intel procit).„Ezek külön memoriaterülettel rendelkeznek.”
Mivelhogy ez a processz egyik lényeges eleme.„A többszálú program esetén a több magon futó szálak közös memoriaterületet használnak, ebben van az SMP szerepe.”
Ez így rossz. Definiálod az UMA-t (Unified Memory Architecture), majd ráhúzod, hogy ez az SMP. Pedig nem. Simán mennek az RPC-t használó processzek is fizikailag párhuzamosan, a DMA-s alkalmazásokról nem is beszélve. A közös memória terület csak egy opció, lehet nélküle is remek párhuzamos algoritmust írni, ami kiválóan fut SMP rendszeren.„A debian etch alapkernele linux-image-2.6.18-4-686 már smp-s szóval nem kell semmilyen másik kernel.”
Igaz, régebben kellett. Most meg a virtualizált kernel van külön, hogy nehogy már legyen egy egységes kernel. 🙂1. A Debian ősidők óta támogatja az SMP rendszereket. Csak tedd fel az -smp végű kernelt és boot-old be.
2. A legegyszerűbb módszer: cat /proc/cpuinfo|grep „^processor”|wc -l
3. Attól függ, mit akarsz üzemeltetni rajta. Fordításnál a -jN opciót kell megadni, a webes és sql kiszokgálóknál semmit.1. A Debian ősidők óta támogatja az SMP rendszereket. Csak tedd fel az -smp végű kernelt és boot-old be.
2. A legegyszerűbb módszer: cat /proc/cpuinfo|grep „^processor”|wc -l
3. Attól függ, mit akarsz üzemeltetni rajta. Fordításnál a -jN opciót kell megadni, a webes és sql kiszokgálóknál semmit.mesti wrote:feltöltöm a configokat szétnéztek benne?Rég nem vigyorogtam ennyit. Lassú az autóm, megmondom a csomagtartó méretét, mi lehet a baj? Kb. ezt írtad. Még azt sem lehet megmondani, hogy az általad csatolt konfig hatékony-e (a szerver infói nélkül). Ugyanis csak az adatbázis „vasra feszítését” írja le a konfig, mást nem. Amit keresel, az az adattáblák definíciója (konkrétan: indexelés, nézetek).
Így tutod megnézni:
$ mysqldump –all-databases –create-options –no-data
Persze nem árt az SQL nyelvet ismerni.
mesti wrote:feltöltöm a configokat szétnéztek benne?Rég nem vigyorogtam ennyit. Lassú az autóm, megmondom a csomagtartó méretét, mi lehet a baj? Kb. ezt írtad. Még azt sem lehet megmondani, hogy az általad csatolt konfig hatékony-e (a szerver infói nélkül). Ugyanis csak az adatbázis „vasra feszítését” írja le a konfig, mást nem. Amit keresel, az az adattáblák definíciója (konkrétan: indexelés, nézetek).
Így tutod megnézni:
$ mysqldump –all-databases –create-options –no-data
Persze nem árt az SQL nyelvet ismerni.
vizsla wrote:Mondjuk, ami nekem hiányzik, az egy gobject c kód generátor. Noha van pl. a gob, de az elég rugalmatlan.
Maga az preprocesszor nem enged meg bizonyos dolgokat, amelyeket ugyan a c kódba be lehet tenni, de ha felülírja az ember a kinduló kódot, és „frissíti” c kódot eltűnnek a változások.„GObject Builder (GOB) is a simple preprocessor for easily creating GObjects (glib objects).”
Ez mindent elmond a korlátokról. Arra épít, hogy aki nem profi, azt megkímélje a sok gépeléstől. Ha az exit_on_error változó értékét kivezeted a paraméterezéshez (mint a –no-exit-on-warn kapcsoló esetén), akkor ugyan továbbra is sírni fog, de legalább a kódot ki fogja írni.
-
SzerzőBejegyzés