Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ทำความเข้าใจกับ Parbegin/Parend:การดำเนินการแบบขนานในการเขียนโปรแกรมพร้อมกัน

Parbegin/Parend เป็นโครงสร้างการเขียนโปรแกรมที่เกิดขึ้นพร้อมกันซึ่งใช้เพื่อระบุการดำเนินการแบบขนานของคำสั่งหรือกระบวนการต่างๆ 02 คำหลักทำเครื่องหมายจุดเริ่มต้นของบล็อกคู่ขนาน ในขณะที่ 10 เป็นจุดสิ้นสุดของมัน คำสั่งทั้งหมดภายในบล็อกนี้ดำเนินการพร้อมกันแทนที่จะดำเนินการตามลำดับ

วิธีการทำงานของ Parbegin/Parend

เมื่อโปรเซสเซอร์พบ 29 คำสั่งจะสร้างเธรดการดำเนินการแยกกันสำหรับแต่ละคำสั่งภายในบล็อก เธรดเหล่านี้ทำงานพร้อมกันจนกว่าการดำเนินการทั้งหมดจะเสร็จสมบูรณ์ ณ จุดควบคุมจะย้ายไปยังคำสั่งที่ตามหลัง 31 .

ลำดับการดำเนินการ Parbegin/Parend S1 parbegin S2 S3 S4 parend S5 ลำดับ การดำเนินการขนานตามลำดับ

ไวยากรณ์

begin
 S1; -- Sequential execution
 parbegin -- Start parallel block
 S2; -- Execute concurrently
 S3; -- Execute concurrently 
 S4; -- Execute concurrently
 parend; -- End parallel block
 S5; -- Sequential execution
end;

ตัวอย่าง Parbegin/Parend ที่ซ้อนกัน

begin
 S1;
 parbegin
 S3;
 begin
 S2;
 parbegin
 S4;
 S5;
 parend;
 S6;
 end;
 parend;
 S7;
end;

ไทม์ไลน์การดำเนินการ ? เวลา Parbegin/Parend ที่ซ้อนกัน S1 S3 S2 S4 S5 S6 S7 S3 || (S2; S4||S5; S6) ลำดับการดำเนินการตามลำดับ:1. S1 ดำเนินการตามลำดับ 2. S3 และบล็อกที่ซ้อนกันดำเนินการในแบบคู่ขนาน 3. ภายในบล็อกที่ซ้อนกัน:S2 จากนั้น S4||S5 ขนาน จากนั้น S6

ข้อดี

  • การดำเนินการแบบขนาน กระบวนการหลายกระบวนการทำงานพร้อมกัน ปรับปรุงประสิทธิภาพโดยรวมและปริมาณงาน

  • การออกแบบแบบแยกส่วนทำให้สามารถแบ่งงานที่ซับซ้อนออกเป็นองค์ประกอบคู่ขนานที่เป็นอิสระเพื่อองค์กรที่ดีขึ้น

  • การใช้ทรัพยากรทำให้ใช้งานโปรเซสเซอร์แบบมัลติคอร์และสถาปัตยกรรมฮาร์ดแวร์แบบขนานได้ดีขึ้น

  • ความชัดเจนของโค้ด แสดงออกถึงเจตนาของการขนานอย่างชัดเจน ทำให้อัลกอริธึมที่เกิดขึ้นพร้อมกันสามารถอ่านได้ง่ายขึ้น

ข้อเสีย

  • ปัญหาการซิงโครไนซ์ สภาวะการแข่งขันและข้อมูลที่ไม่สอดคล้องกันอาจเกิดขึ้นเมื่อกระบวนการเข้าถึงทรัพยากรที่ใช้ร่วมกัน

  • การดีบักการดำเนินการแบบขนานที่ซับซ้อนทำให้การติดตามโฟลว์ของโปรแกรมและระบุจุดบกพร่องทำได้ยากขึ้น

  • ค่าใช้จ่ายด้านทรัพยากร การสร้างและการจัดการเธรด/กระบวนการหลายรายการต้องใช้ทรัพยากรระบบเพิ่มเติม

  • ข้อจำกัดด้านฮาร์ดแวร์ความขนานที่จำกัดอาจจำกัดระดับที่แท้จริงของความขนานที่เกิดขึ้นได้

เปรียบเทียบกับการดำเนินการตามลำดับ

อัตราส่วน ตามลำดับ พาร์เบกิน/พาเรนด์ ลำดับการดำเนินการทีละรายการประสิทธิภาพพร้อมกันช้าลงสำหรับงานอิสระเร็วขึ้นด้วยการแก้ไขจุดบกพร่องฮาร์ดแวร์แบบขนานติดตามได้ง่ายขึ้นซับซ้อนมากขึ้นการใช้ทรัพยากรลดค่าใช้จ่ายค่าใช้จ่ายที่สูงขึ้น

บทสรุป

โครงสร้าง Parbegin/Parend เปิดใช้งานการเขียนโปรแกรมแบบขนานที่ชัดเจนโดยอนุญาตให้หลายคำสั่งดำเนินการพร้อมกันภายในบล็อกที่กำหนด แม้ว่าสิ่งเหล่านี้จะมอบคุณประโยชน์ด้านประสิทธิภาพผ่านการทำงานแบบขนาน แต่การพิจารณาอย่างรอบคอบเกี่ยวกับความท้าทายในการซิงโครไนซ์และการแก้ไขจุดบกพร่องถือเป็นสิ่งสำคัญสำหรับการนำไปปฏิบัติอย่างมีประสิทธิผล

ทำความเข้าใจกับ Parbegin/Parend:การดำเนินการแบบขนานในการเขียนโปรแกรมพร้อมกัน