คำถามติดแท็ก parallel-processing

การรันคำสั่งหลายคำสั่ง (หรือแม้แต่คอมพิวเตอร์) ควบคู่กันเพื่อประสิทธิภาพที่มากขึ้น

4
คอมพิวเตอร์ของฉันสามารถใช้พลังการประมวลผล PC 300% ได้อย่างไร
ฉันเล่นกับสคริปต์และฉันก็ถูกพาไป (มันยังคงทำงานอยู่ในขณะนี้และคอมพิวเตอร์ของฉันยังไม่ตาย) ฉันใช้สคริปต์ซ้ำ 17 ครั้ง (โดยตั้งใจให้คอมพิวเตอร์พัง) เมื่อดูที่การตรวจสอบกิจกรรมฉันเห็นว่าแต่ละกระบวนการของ Python มี pid ที่ไม่เหมือนใครและดูเหมือนว่าพวกเขาใช้พลังงานการประมวลผลของฉันประมาณ 17-20% ในแต่ละกระบวนการ ... เป็นไปได้อย่างไร? คอมพิวเตอร์ของฉันเติบโตอย่างน่าอัศจรรย์ด้วยกำลัง 200% และทำลายกฎของอุณหพลศาสตร์ที่ไหนสักแห่งใช่หรือไม่?

9
ขนาน rsync
ฉันเพิ่งย้ายและค้นพบหลังจากการทดลองและข้อผิดพลาดที่ระหว่างบ้านและเซิร์ฟเวอร์ระยะไกลของฉันมีการควบคุมปริมาณที่เกิดขึ้น ... แต่การควบคุมปริมาณไม่ฉลาดมาก มัน จำกัด เฉพาะการเชื่อมต่อของแต่ละบุคคล ดังนั้นถ้าฉันคัดลอกหนึ่งไฟล์ 1 GB มันจะดำเนินต่อไปอย่างสนุกสนานที่ 150 kBps แต่ถ้าฉันเริ่มต้น 10 สำเนาแต่ละชุดจะอยู่ที่ 150 kBps (เช่นฉันจะได้รับแบนด์วิดธ์รวมที่สูงขึ้นมากผ่านการเชื่อมต่อหลายจุด) ฉันใช้ rsync ค่อนข้างบ่อยในการซิงโครไนซ์ชุดข้อมูลขนาดใหญ่บางส่วนจากที่บ้านไปที่บ้าน (โชคดีในรูปแบบของไฟล์จำนวนมาก) มีวิธีบอก rsync ให้ดาวน์โหลดโดยใช้การเชื่อมต่อที่หลากหลายหรือไม่? ในทางทฤษฎีแล้วมันควรจะเป็นไปได้ตั้งแต่ที่ฉันบอกได้ rsync จะผ่านการตรวจสอบการเปลี่ยนแปลงที่จำเป็นก่อนแล้วจึงทำการส่งจริง คะแนนโบนัสหากมีวิธีที่วิเศษในการบอก rsync ให้แบ่งไฟล์แต่ละไฟล์ออกเป็น N ส่วนแล้วต่อกลับมารวมกัน ฉันเชื่อว่า CuteFTP ฉลาดพอที่จะดึงมันออกมาได้

7
การรันคำสั่งแบบขนานพร้อมกับ จำกัด จำนวนคำสั่งพร้อมกัน
ตามลำดับ: for i in {1..1000}; do do_something $i; done- ช้าเกินไป แบบขนาน: for i in {1..1000}; do do_something $i& done- โหลดมากเกินไป วิธีรันคำสั่งแบบขนาน แต่ไม่เกิน 20 อินสแตนซ์ต่อนาที ตอนนี้มักจะใช้วิธีแฮ็for i in {1..1000}; do do_something $i& sleep 5; doneค แต่นี่ไม่ใช่ทางออกที่ดี อัปเดต 2 : แปลงคำตอบที่ยอมรับเป็นสคริปต์: http://vi-server.org/vi/parallel #!/bin/bash NUM=$1; shift if [ -z "$NUM" ]; then echo …

0
เอาต์พุตคอนโซล Jenkins เรียลไทม์สำหรับคำสั่งเธรดผ้าแบบขนาน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ใช้ขั้นสูง ปิดให้บริการใน2 ปีที่ผ่านมา เรามีคำสั่ง Python fabric ที่ทำงานพร้อมกันในหลาย ๆ โฮสต์เช่นนี้: $ fab --hosts=prod1.server,prod2.server,prod3.server --parallel copy_cache สิ่งนี้จะคัดลอกแคชไปยังเซิร์ฟเวอร์ที่ใช้งานจริงซึ่งอยู่ในรายการแบบขนาน มีการบันทึกต่าง ๆ ที่เกิดขึ้นตลอดกระบวนการเพื่อระบุว่าเราอยู่ไกลแค่ไหนเพราะอาจใช้เวลาหลายชั่วโมงสำหรับแคชแคช XXgig เนื่องจากการคัดลอกเกิดขึ้นพร้อมกันเอาต์พุตเมื่อรันบนบรรทัดคำสั่งจะกลับมาอินเทอร์เลซในเวลาจริงเช่น: [prod1.server] Executing task 'nginx_cache_copy' [prod2.server] Executing task 'nginx_cache_copy' [prod3.server] Executing task 'nginx_cache_copy' 2014-09-16 10:02:29.688243 [prod1.server] INFO: rsyncing cache dir [prod1.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \ …

6
วิธีที่ดีที่สุดในการทำสำเนาแบบขนานบน Unix คืออะไร
ฉันต้องคัดลอกเนื้อหาของโฟลเดอร์บนระบบไฟล์เครือข่ายไปยังคอมพิวเตอร์ของฉันเป็นประจำ มีไฟล์จำนวนมาก (1000s) ในโฟลเดอร์ระยะไกลที่ค่อนข้างเล็ก แต่เนื่องจากค่าใช้จ่ายเครือข่ายสำเนาปกติcp remote_folder/* ~/local_folder/ใช้เวลานานมาก (10 นาที) ฉันเชื่อว่าเป็นเพราะไฟล์จะถูกคัดลอกตามลำดับ - แต่ละไฟล์รอจนกว่าไฟล์ก่อนหน้าจะเสร็จสิ้นก่อนที่การคัดลอกจะเริ่มขึ้น วิธีที่ง่ายที่สุดในการเพิ่มความเร็วของสำเนานี้คืออะไร? (ฉันคิดว่ามันคือการทำสำเนาในแบบคู่ขนาน) การซิปไฟล์ก่อนที่จะทำการคัดลอกนั้นไม่จำเป็นว่าจะเป็นการเพิ่มความเร็วเพราะมันอาจถูกบันทึกไว้ในดิสก์ที่แตกต่างกันบนเซิร์ฟเวอร์ที่แตกต่างกัน

5
การนับจำนวนแกนที่สูงขึ้นหรือความเร็วสัญญาณนาฬิกาที่สูงกว่ามีประโยชน์ต่อประสิทธิภาพของคอมพิวเตอร์หรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบ เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ด้วยการลดต้นทุนของซิลิคอนและความต้องการของผู้บริโภคที่เพิ่มขึ้นผู้ผลิตดูเหมือนจะผลักดันหนึ่งในสองสิ่ง: ความเร็วของนาฬิกาและ / หรือจำนวนหลัก ด้วยสิ่งต่าง ๆ ที่เกิดขึ้นดูเหมือนว่าความเร็วสัญญาณนาฬิกาของโปรเซสเซอร์จะเพิ่มขึ้นอีกต่อไป แต่จำนวนแกนประมวลผล ฉันจำได้เพียงไม่กี่ปีก่อนฉันมีโปรเซสเซอร์ Pentium 4 แบบ single-core ที่รวดเร็ว กรอไปข้างหน้าถึงวันนี้และฉันไม่คิดว่าคุณจะสามารถซื้อโปรเซสเซอร์แบบ Single-Core ได้ (ไม่ต้องพูดถึงการเพิ่มขึ้นของตัวประมวลผลแบบมัลติคอร์แม้ในโทรศัพท์มือถือ ) สิ่งที่กำลังเกิดขึ้นเราอาจพบคอมพิวเตอร์ที่มีคอร์หลายร้อยแกนในเวลาไม่กี่ปี (และฉันรู้ว่าระบบปฏิบัติการหลายระบบรองรับแล้ว) มันจะมีประโยชน์มากขึ้นกับประสิทธิภาพโดยรวมของระบบในการเพิ่มความเร็วสัญญาณนาฬิกาหรือเพิ่มจำนวนแกนประมวลผลหรือไม่? สมมติว่าเราเข้าร่วมหลายร้อยคอร์ทั้งหมดที่ทำงานร่วมกันหรือความเร็วนาฬิกาสูงกว่าที่เรามีอยู่สิบเท่าในวันนี้ (ไม่ว่าจะเป็นไปได้หรือไม่ก็ตาม) ตัวอย่างของกระบวนการทั่วไป (เช่นการเข้ารหัสการบีบอัดไฟล์การแก้ไขภาพ / วิดีโอ) ที่จะได้รับประโยชน์สูงสุดจากการทำอย่างใดอย่างหนึ่งคืออะไร มีกระบวนการบางอย่างที่สามารถทำได้ แต่ในปัจจุบันไม่ได้ (เนื่องจากเหตุผลทางเทคนิค) เร่งความเร็วโดยการเพิ่มความเท่าเทียมกันของพวกเขา? สมมติว่าตัวประมวลผลสมมุติมีการออกแบบหลักที่แน่นอน (ขนาดคำความกว้างบิตที่อยู่ขนาดบัสหน่วยความจำแคช ฯลฯ ) ดังนั้นตัวแปรเฉพาะที่นี่คือความเร็วสัญญาณนาฬิกาและจำนวนหลัก และอีกครั้งฉันไม่ได้พูดเกี่ยวกับหนึ่งสองหรือสี่แกน - ลองนึกภาพหลายสิบถึงหลายร้อย

5
เป็นไปได้หรือไม่ที่จะรวมพลังการประมวลผลของคอมพิวเตอร์ 2 เครื่องเข้าด้วยกัน?
นี่เป็นคำถามสองสามข้อฉันหวังว่าคุณจะสามารถสอนฉันได้ เป็นไปได้หรือไม่ที่จะรวมพลังการประมวลผลของคอมพิวเตอร์ 2 เครื่องเข้าด้วยกัน? ฉันต้องทำอย่างไร?

6
รันกระบวนการพื้นหลังพร้อมกันหลายกระบวนการจากนั้นรอให้กระบวนการทั้งหมดหยุดทำงานบน Windows
ไม่มีใครรู้ว่ามีสคริปต์ cmd ที่ทำเช่นนั้นและ / หรือเครื่องมือบรรทัดคำสั่งพร้อมสำหรับงานหรือไม่

3
ฆ่ากระบวนการหลังจากได้รับอนุญาตให้ทำงานได้ระยะหนึ่ง
ฉันต้องการ จำกัด เวลาที่grepคำสั่งโปรเซสอนุญาตให้รันหรือยังมีชีวิตอยู่ ตัวอย่างเช่น. ฉันต้องการทำสิ่งต่อไปนี้: grep -qsRw -m1 "parameter" /var แต่ก่อนที่จะรันgrepคำสั่งฉันต้องการ จำกัด ระยะเวลาที่grepกระบวนการใช้งานอยู่ให้พูดไม่เกิน 30 วินาที ฉันจะทำสิ่งนี้ได้อย่างไร และถ้าทำได้ฉันจะกลับหรือรีเซ็ตได้อย่างไรโดยไม่ จำกัด เวลาในภายหลัง

3
netcat เป็นเซิร์ฟเวอร์แบบมัลติเธรด
ฉันใช้ netcat เพื่อรันเซิร์ฟเวอร์อย่างง่ายเช่นนี้: while true; do nc -l -p 2468 -e ./my_exe; done ด้วยวิธีนี้ทุกคนสามารถเชื่อมต่อกับโฮสต์ของฉันในพอร์ต 2468 และพูดคุยกับ "my_exe" น่าเสียดายที่ถ้ามีคนอื่นต้องการเชื่อมต่อระหว่างเซสชันที่เปิดอยู่มันจะได้รับข้อผิดพลาด "การเชื่อมต่อถูกปฏิเสธ" เนื่องจาก netcat ไม่ได้ฟังจนกว่าจะถึง "ขณะ" ลูปถัดไป มีวิธีที่จะทำให้ netcat ทำงานเหมือนเซิร์ฟเวอร์แบบมัลติเธรดหรือไม่เช่นเคยฟังการเชื่อมต่อขาเข้าหรือไม่ ถ้าไม่มีวิธีแก้ปัญหาสำหรับเรื่องนี้บ้างไหม?

5
เปลือกแบบขนาน
ฉันต้องการประมวลผลไฟล์จำนวนมากและเนื่องจากฉันมีแกนประมวลผลที่นี่ฉันต้องการทำแบบขนาน: for i in *.myfiles; do do_something $i `derived_params $i` other_params; done ฉันรู้จักโซลูชัน Makefile แต่คำสั่งของฉันต้องการอาร์กิวเมนต์จากรายการ globbing เชลล์ สิ่งที่ฉันพบคือ: > function pwait() { > while [ $(jobs -p | wc -l) -ge $1 ]; do > sleep 1 > done > } > หากต้องการใช้งานสิ่งที่ต้องทำคือใส่ & หลังงานและการเรียก pwait พารามิเตอร์กำหนดจำนวนของกระบวนการแบบขนาน: > for i …

1
จัดเรียง - ขนานไม่ขนาน
ฉันกำลังพยายามสร้างชุดของบรรทัดที่ดึงจากไฟล์ที่มี egrep ด้วย sort -u แล้วนับมัน ประมาณ 10% ของบรรทัด (ทั้งหมด 100 ตัวอักษรจากตัวอักษร [ATCG]) ซ้ำกัน มีไฟล์สองไฟล์แต่ละไฟล์มีความเกี่ยวข้องประมาณ 3 กิ๊ก 50% ไม่เกี่ยวข้องดังนั้นอาจเป็น 300 ล้านบรรทัด LC_ALL=C grep -E <files> | sort --parallel=24 -u | wc -m ระหว่าง LC_ALL = C และการใช้ -x เพื่อเร่ง grep ส่วนที่ช้าที่สุดคือการเรียงลำดับ การอ่าน man pages ทำให้ฉัน --parallel = n แต่การทดลองแสดงให้เห็นว่าไม่มีการปรับปรุงอย่างแน่นอน การขุดเล็ก …

2
จะใช้ Ctrl + C เพื่อฆ่าโพรเซสพื้นหลังทั้งหมดที่เริ่มต้นในสคริปต์ Bash ได้อย่างไร?
ArchLinux (Manjaro) ฉันใช้ไฟล์ทุบตีหนึ่งไฟล์ มันทำงาน 2 กระบวนการ (คำสั่ง) &โดยใช้ แต่เมื่อฉันกดCtrl+ Cเพื่อหยุดโปรแกรม - หนึ่งกระบวนการตายและอีกกระบวนการหนึ่งทำงานต่อไป ฉันจะหยุดกระบวนการทั้งสองได้อย่างไร หรือฉันจะเขียนสคริปต์ใหม่เพื่อฆ่าสองกระบวนการนี้ได้อย่างไร

1
คอร์ในโมดูล AMD Bulldozer เปรียบเทียบกับคอร์เสมือนของ Intel HTT และสองคอร์แยกกันในแง่ของประสิทธิภาพการทำงานมัลติทาสก์อย่างไร
คำถามนี้เป็นส่วนขยายของHyper-Threading และ Dual-Core ความแตกต่างคืออะไร โปรเซสเซอร์ AMD FX ของ Bulldozer นั้นมีวางตลาดว่ามีสี่, หกหรือแปดคอร์ แต่โดยทั่วไปแล้วประกอบด้วยสอง, สามหรือสี่โมดูลแต่ละตัวมีสองคอร์ ฉันเข้าใจว่าแกนในแต่ละโมดูลนั้นใช้ซิลิโคนบางตัวอยู่ระหว่างแกนเสมือนที่จัดทำโดย Intel Hyper-Threading Technology และสองคอร์ที่แยกจากกัน สิ่งนี้มีผลต่อประสิทธิภาพของคอร์ AMD FX อย่างไรเมื่อใช้สำหรับการทำงานหลายอย่างพร้อมกันหรือปริมาณงานแบบขนานอื่น ๆ ปริมาณงานที่ขึ้นอยู่กับการทำงานของ floating-point เช่นFolding @ homeและหลาย ๆ เกมเป็นอย่างไร

1
Simulink - จำลองสถานการณ์แบบขนาน
เป็นไปได้ไหมที่จะใช้การคำนวณ Simulink ในโหมดคู่ขนานบนคลัสเตอร์ และถ้าเป็นไปได้แล้ว Simulink จะทำอย่างไรเมื่อจำนวนกระบวนการที่ฉันต้องการมากกว่าคลัสเตอร์มีโหนด ขอบคุณ.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.