![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| High Level Programmering Post spørsmål om C, C + +, Java, SQL og andre programmeringsspråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| forking i Flertrådsdatabehandling program | skyrulz | UNIX for Advanced & ekspertbrukere | 0 | 04-22-2009 02:57 |
| utføre kommandoen Flertrådsdatabehandling util uten programmering | umen | Shell programmering og Skripting | 0 | 12-07-2008 06:01 |
| Har du problemer med å skrive en grunnleggende shell-programmet | SeanWuzHere | Shell programmering og Skripting | 3 | 11-30-2006 01:41 |
| grunnleggende matematiske program 4 barn | perleo | High Level Programmering | 9 | 10-22-2002 04:51 |
| Komme Errno i Flertrådsdatabehandling program | S. Vishwanath | High Level Programmering | 2 | 03-25-2002 09:58 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Basic Flertrådsdatabehandling program
Jeg vil skrive et program (jeg er fleksibel på språket, C / C + + var min opprinnelige idé, men et skriptspråk ville trolig bli bedre) som går hundrevis av programmer, men bare N \u003d 4 (si) på en gang. Ideen er å beholde alle kjernene på en flerkjernet maskin opptatt.
Hvordan kan jeg gjøre dette? Spesielt vil jeg et bibliotek kaller jeg kan gjøre i noen aktuelle språket som kan
|
|
||||
|
Programmet vil lese i en tekstfil med en rekke tall, gjøre noen prosessering på dem, og deretter opprette en matrise basert på disse tallene. Hvert element i matrisen vil være gjennom en funksjon som vil lage en passende data angitt for denne oppføringen. Dataene vil bli brukt til å lage en midlertidig fil, og en kommandolinje argumentet bruker denne filen.
Jeg ikke trodde dette var relevant før så jeg ikke nevne det. I utgangspunktet programmet gjør noe arbeid og kommer opp med en liste over kommandoer for å kjøre. Sitat:
Sitat:
Denne jeg jobber på ikke, men jeg vil gjerne ha en metode som kunne sende inn fordi andre lignende programmer Jeg skal skrive sannsynligvis må gjøre dette. ----- Innlegg Update ----- Jeg endret mitt OS til 64-bits Ubuntu 9.04. Programmene er prosessor-intensiv 64-bits programmer med liten medium minne overføringene. |
|
|||||
|
Sitat:
|
|
||||
|
Sitat:
Så i stedet jeg skrive et program for å finne den mest effektive løsningen for hver brikke, beregne sannsynlig runtime, løse et tilnærmet bin-pakning problemet, og planlegge hver over en brukervennlig tunable antall prosessorer. |
|
|||||
|
OK, fra hva du har lagt inn "til nå, den grunnleggende struktur ville være omtrent slik ut (pseudo-koden)
Code:
Read numbers from file
Process them
Create output files
Create array of commands to run
Total processes=0
While there are commands left
pop a command from the stack
fork() a subprocess
In the child
system() the command
In the parent
Total processes++
If total processes >= 4
wait() until any process returns
Alternativt kan du kjøre exec () programmet selv, for å redusere gaffel-kurs, men jeg er ikke sikker på hvor godt dette vil fungere. Plus, med shed_setaffinity kan du sette tilhørighet av prosessene (direkte det som CPU å bruke), men du trenger å spore hvilke CPU siste prosessen brukes. Noen med mer erfaring med algoritmer har en bedre ide? |
![]() |
| Hugseliste |
| Tags |
| flerkjernet, tråder |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|