|
|
|
|
Google Site
|
|||||||
| Forum | Registrera | Blogg | Manualsidor | Forum Regler | Länkar | Album | FAQ | Användare | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
![]() |
|
|
Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|||
|
Användning av andra datorer för bearbetning
Hej
Jag har skrivit en C + +-program som gör några matematiska beräkningar, men problemet är att det tar alldeles för lång tid på en dator för att avsluta. Finns det något sätt att göra mer än 1 dator behöver behandling så det kan processen snabbare? |
| Sponsrade länkar | ||
|
|
|
|||
|
Ja.
Alternativ A. Kör den på en snabbare dator. Efter att alternativen blir lite svårare .... Kan du dela upp problemet så att olika datorer kan lösa olika delar av problemet självständigt? Kan du dela upp det så att delar kan göras parallellt? Har du en riktigt skit algoritm som kan mathmatically korrekt men är verkligen ineffektiv? Kan du lösa problemet på olika upplösningar / noggrannhet så att du tillämpar olika mängder hästkrafter till olika delar av problemet? Om du är nyfiken, att en av de senaste bevisen för minsta flyttar lösa Rubiks kub använt det sista av alternativen .... |
|
|||
|
Citat:
- Donald Knuth, The Art of Computer Programming Beroende på ditt problem finns det Vol.1 (numeriska algoritmer), Vol.2 (Seminumerical algoritmer) och Vol.3 (Sorting and Searching) - Robert Sedgewick, Algoritmer i C Omfattar bara C utan av rent matematiska problem detta bör vara samma mer eller mindre. Här är ett annat sätt: byta till ett språk som är bättre lämpade för att uppnå en beräkning makt än C - använd FORTRAN! Jag tror inte att mathlib av FORTRAN 77 någonsin har slagits för hastighet. Bakunin |
|
|||
|
Hjälper detta?
Vanliga frågor |
|
||||
|
Hej.
Mitt favoritcitat på detta område är: Citat:
Citat:
-1: Är detta program / process / kod absolut, positivt behövs snabbare? 0) Make it springa rätt innan du gör det snabbare 1) tillbringar det mesta av din personliga tid att hitta den bästa algoritmen. Det finns en historia i Programming Pearls, J Bentley, om jämförelsen mellan en algoritm som genomförs i sammanställts Fortran på en Cray-1 mot en bättre algoritm för tolkning Basic på en Radio Shack TRS-80. Som du kan gissa, det Cray-1 krossade TRS-80 - åtminstone ett litet problem storlek. Eftersom storleken gick upp, övervann TRS-80 så småningom mäktiga Cray-1, och för de största börsnoterade storlek skulle Cray har tagit 95 år, de TRS-80 5,4 timmar. En annan berättelse om algoritmer har att göra med utvecklingen i hårdvara. Det finns många algoritmer som har tagits bort eftersom de var för långsam - åtminstone på skalär maskiner. När parallell bearbetning blev verklighet, blev några av dem verkligen ineffektiva algoritmer sig vara spektakulärt användbar parallella boxar. Den CM-2 (200) ovan hade 32.000 processorer, men de var lite slice-datorer. De flesta människor använde läge där de ganged dem med 32s för att få en 1000-processor låda - duga för denna gången i datorer historia. Om du använde rätt algoritmen tillämpas på rätt problem, cranked att maskinen verkligen ut resultat. (Det var en "halv-gallon" maskin, "en gallon" hade 64K processorer.) 2) Profil / instrument din kod, utföra mätningar för att se var man spenderar sin tid, då spendera din dyrbara tid på dessa områden. För några år sedan gjorde jag tvärtom mot vad jag brukade göra. En kund bad mig att ta en kod som tidigare körde på en Cray och port den ska köras på en dator. Det var alldeles för invecklat en kod för att överväga en algoritm förändring (även om jag föreslog att deras domän experter titta på det). Jag profilerade den och såg att det tillbringade mycket tid gör IO. Det bästa tillvägagångssättet vid den tidpunkten var att fördela så mycket minne som möjligt till en RAM-disken. Som drabbade de modeller som jag använde genom att minska realtid med 30% (vi kanske hade förväntat oss mer, men så skedde allt med filsystem förare, så att koden inte behöver ändras). Om det fanns mer att göra, en RAID-0 över flera diskar skulle ha nästa. Om du har några pengar, kanske är allt man behöver mer minne, eller en låda som har två eller fler processorer, ett konto i en computing servicebyrå, etc. Men jag föreslår att du tar ett steg tillbaka och betrakta alla alternativ och möjligheter att undvika förtida optimering fällan. Mvh ... Skål, varselljus |
|
|||
|
Vad sägs om att använda Hadoop?
Jag har inte varit in i den helt ännu. |
| Sponsrade länkar | ||
|
|
![]() |
| Komihåglista |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Hur många datorer Har du hemma? | Neo | Vad tänker du på? | 86 | 10-04-2009 02:56 |
| Pop upp dialogrutan på fjärrdatorer | deaconf19 | Shell-programmering och Skript | 35 | 02-12-2009 02:01 |
| Script för att få IP-adresser i LAN datorer | sladuuch | Shell-programmering och Skript | 1 | 10-04-2005 04:10 |
| två datorer en internet | Dragos | IP Nätverk | 8 | 07-25-2005 11:56 |
| två datorer - ett modem | Pennywize | UNIX for Dummies Frågor & Svar | 3 | 11-27-2002 05:37 |