อ่าน 11 นาที
พาราเรียล
Pararealเป็นอัลกอริทึมแบบขนานจากการวิเคราะห์เชิงตัวเลขและใช้สำหรับการแก้ปัญหาค่าเริ่มต้น ได้รับการแนะนำในปี 2001 โดยLions , Maday และ Turinici...
พาราเรียล
Pararealเป็นอัลกอริทึมแบบขนานจากการวิเคราะห์เชิงตัวเลขและใช้สำหรับการแก้ปัญหาค่าเริ่มต้น[ 1 ] ได้รับการแนะนำในปี 2001 โดยLions , Maday และ Turinici ตั้งแต่นั้นมาก็กลายเป็นหนึ่งในวิธีการบูรณา การแบบขนานในเวลาที่ได้รับการศึกษาอย่างกว้างขวางที่สุด

วิธีการบูรณาการแบบขนานในเวลา
ตรงกันข้ามกับ วิธี การ Runge-Kuttaหรือ วิธีการ หลายขั้นตอนการคำนวณบางส่วนใน Parareal สามารถทำได้แบบขนานดังนั้น Parareal จึงเป็นตัวอย่างหนึ่งของ วิธี การบูรณาการแบบขนานในเวลาในขณะที่ในอดีต ความพยายามส่วนใหญ่ในการทำให้การแก้ปัญหาเชิงตัวเลขของสมการเชิงอนุพันธ์ย่อยเป็นแบบขนานนั้นมุ่งเน้นไปที่การแบ่งส่วนเชิงพื้นที่ แต่เมื่อพิจารณาถึงความท้าทายจากการคำนวณระดับเอ็กซาสเกลวิธีการแบบขนานสำหรับการแบ่งส่วนเชิงเวลาจึงถูกระบุว่าเป็นวิธีที่เป็นไปได้ในการเพิ่มความพร้อมกันในซอฟต์แวร์เชิงตัวเลข [ 3 ] เนื่องจาก Parareal คำนวณการแก้ปัญหาเชิงตัวเลขสำหรับหลายขั้นตอนเวลาแบบขนาน จึงถูกจัดประเภทเป็นวิธีการ แบบ ขนานข้ามขั้นตอน[ 4 ] ซึ่งแตกต่างจากวิธีการที่ใช้ความขนานข้ามวิธีการเช่น Runge-Kutta แบบขนานหรือวิธีการประมาณค่าแบบขยาย ซึ่งขั้นตอนอิสระสามารถคำนวณแบบขนานหรือแบบขนานข้ามระบบเช่น การผ่อนคลายรูปคลื่น[ 5 ] [ 6 ]
ประวัติศาสตร์
Parareal สามารถได้มาจากการใช้วิธีมัลติกริดในเวลาหรือการยิงหลายครั้งตามแกนเวลา[ 7 ] แนวคิดทั้งสองอย่าง คือ มัลติกริดในเวลาและการใช้การยิงหลายครั้งสำหรับการรวมเวลา ย้อนกลับไปในช่วงทศวรรษ 1980 และ 1990 [ 8 ] [ 9 ] Parareal เป็นวิธีการศึกษาอย่างกว้างขวางและถูกนำไปใช้และดัดแปลงสำหรับการใช้งานที่หลากหลาย[ 10 ] แนวคิดในการขนานการแก้ปัญหาค่าเริ่มต้นย้อนกลับไปไกลกว่านั้นอีก: เอกสารฉบับแรกที่เสนอวิธีการรวมแบบขนานในเวลาปรากฏขึ้นในปี 1964 [ 11 ]
อัลกอริทึม
ปัญหา
เป้าหมายคือการแก้ปัญหาค่าเริ่มต้นในรูปแบบต่อไปนี้
ด้านขวามือถือว่าเป็นฟังก์ชันเรียบ (อาจไม่เป็นเชิงเส้น) นอกจากนี้ยังอาจสอดคล้องกับการแบ่งส่วนเชิงพื้นที่ของสมการเชิงอนุพันธ์ย่อยในวิธีการของเส้นเราต้องการแก้ปัญหานี้บนตาข่ายเวลาของจุดที่เว้นระยะห่างเท่ากันโดยที่และ เมื่อทำการแบ่งส่วนนี้ เราจะได้ช่วงเวลาที่แบ่งออกเป็นส่วน ย่อย ๆ ซึ่งประกอบด้วยช่วงเวลาสำหรับ
วัตถุประสงค์คือการคำนวณค่าประมาณเชิงตัวเลขของคำตอบที่แท้จริงโดยใช้วิธีการก้าวเวลาแบบอนุกรม (เช่น Runge-Kutta) ซึ่งมีความแม่นยำเชิงตัวเลขสูง (และด้วยเหตุนี้จึงมีต้นทุนการคำนวณสูง) เราเรียกวิธีการนี้ว่าตัวแก้ปัญหาแบบละเอียด (fine solver ) ซึ่งจะส่งต่อค่าเริ่มต้นที่เวลา t ไปยังค่าสุดท้ายที่เวลา t' เป้าหมายคือการคำนวณคำตอบ (ด้วยความแม่นยำเชิงตัวเลขสูง) โดยใช้ เพื่อให้ได้ คำตอบ (ด้วยความแม่นยำเชิงตัวเลขสูง)
ปัญหาของวิธีการนี้ (และเป็นเหตุผลที่พยายามแก้ปัญหาแบบขนานตั้งแต่แรก) คือ การคำนวณแบบเรียลไทม์นั้นเป็นไปไม่ได้ในทางปฏิบัติ
วิธีการทำงาน
แทนที่จะใช้โปรเซสเซอร์ตัวเดียวในการแก้ปัญหาค่าเริ่มต้น (เช่นเดียวกับวิธีการก้าวเวลาแบบคลาสสิก) Parareal ใช้โปรเซสเซอร์หลายตัว โดยมีเป้าหมายคือการใช้โปรเซสเซอร์เพื่อแก้ปัญหาค่าเริ่มต้นขนาดเล็กกว่า (หนึ่งปัญหาต่อช่วงเวลาแต่ละช่วง) แบบขนาน ตัวอย่างเช่น ในโค้ดที่ใช้MPIจำนวนโปรเซสเซอร์จะเท่ากับจำนวนกระบวนการ ในขณะที่ในโค้ดที่ใช้OpenMP จำนวน เธรด จะเท่ากับจำนวนกระบวนการ
Parareal ใช้ขั้นตอนเวลาที่สองในการแก้ปัญหาค่าเริ่มต้นนี้แบบขนาน ซึ่งเรียกว่าตัวแก้ปัญหาแบบหยาบ (coarse solver ) ตัวแก้ปัญหาแบบหยาบทำงานในลักษณะเดียวกับตัวแก้ปัญหาแบบละเอียด (fine solver) โดยกระจายค่าเริ่มต้นในช่วงเวลาที่มีความยาวแต่ทำด้วยความแม่นยำเชิงตัวเลขที่ต่ำกว่ามาก(และด้วยเหตุนี้จึงใช้ต้นทุนการคำนวณที่ต่ำกว่ามาก) การมีตัวแก้ปัญหาแบบหยาบที่ใช้ต้นทุนการคำนวณน้อยกว่าตัวแก้ปัญหาแบบละเอียดมากเป็นกุญแจสำคัญในการเพิ่มความเร็วในการประมวลผลแบบขนานด้วย Parareal
ต่อจากนี้ไป เราจะใช้สัญลักษณ์ แทนคำตอบของ Parareal ณ เวลาและรอบการทำ ซ้ำ
การวนซ้ำครั้งที่ศูนย์
ขั้นแรก ให้รันตัวแก้สมการแบบหยาบไปเรื่อยๆ ตลอดช่วงเวลาทั้งหมดเพื่อคำนวณค่าประมาณเบื้องต้นของคำตอบ:
การทำซ้ำครั้งต่อๆ ไป
ถัดไป ให้รันตัวแก้ปัญหาแบบละเอียดกับแต่ละช่วงเวลาแบบขนาน โดยใช้ค่าผลลัพธ์ล่าสุด:
ตอนนี้ให้ทำการอัปเดตค่าโซลูชันพาราเรียลตามลำดับโดยใช้ตัวทำนาย-ตัวแก้ไข:
ในขั้นตอนนี้ เราสามารถใช้เกณฑ์การหยุดเพื่อตรวจสอบว่าค่าของคำตอบไม่เปลี่ยนแปลงในแต่ละรอบการคำนวณอีกต่อไปแล้ว ตัวอย่างเช่น เราอาจทดสอบโดยการตรวจสอบว่า
และค่าความคลาดเคลื่อนบางส่วนหากไม่เป็นไปตามเกณฑ์นี้ การวนซ้ำครั้งต่อไปสามารถดำเนินการได้โดยใช้ตัวแก้ปัญหาแบบละเอียดในแบบขนาน จากนั้นจึงใช้ตัวทำนาย-แก้ไข อย่างไรก็ตาม เมื่อเป็นไปตามเกณฑ์แล้ว อัลกอริทึมจะถือว่าลู่เข้าในจำนวนรอบการวนซ้ำที่กำหนด โปรดทราบว่ามีเกณฑ์การหยุดอื่นๆ อยู่ และได้รับการทดสอบแล้วว่าใช้งานได้ผลใน Parareal
หมายเหตุ
Parareal ควรสร้างโซลูชันที่ได้รับจากการประยุกต์ใช้ตัวแก้ปัญหาละเอียดแบบอนุกรมและจะลู่เข้าในจำนวนรอบการทำซ้ำ สูงสุด [ 7 ] อย่างไรก็ตาม เพื่อให้ Parareal ให้ความเร็วเพิ่มขึ้น จะต้องลู่เข้าในจำนวนรอบการทำซ้ำที่น้อยกว่าจำนวนช่วงเวลาอย่างมีนัยสำคัญ กล่าวคือ
ในการวนซ้ำแบบ Parareal การประเมินค่าที่มีค่าใช้จ่ายในการคำนวณสูงสามารถดำเนินการแบบขนานบนหน่วยประมวลผลได้ ในทางตรงกันข้าม การพึ่งพาของหมายความว่าการแก้ไขแบบหยาบจะต้องคำนวณตามลำดับแบบอนุกรม
โดยทั่วไปแล้ว จะเลือกใช้วิธี Runge-Kutta บางรูปแบบสำหรับทั้งอินทิเกรเตอร์แบบหยาบและแบบละเอียด ซึ่งอาจมีลำดับต่ำกว่าและใช้ขั้นตอนเวลาที่ใหญ่กว่าหากปัญหาค่าเริ่มต้นเกิดจากการแยกส่วนของ PDE ก็สามารถใช้การแยกส่วนเชิงพื้นที่ที่หยาบกว่าได้เช่นกัน แต่สิ่งนี้อาจส่งผลเสียต่อการล convergence เว้นแต่จะใช้การประมาณค่าแบบลำดับสูง[ 12 ]
เร่งความเร็ว
ภายใต้สมมติฐานบางประการสามารถสร้าง แบบจำลองทางทฤษฎีง่ายๆ สำหรับการ เร่งความเร็ว ของ Parareal ได้ [ 13 ] แม้ว่าในแอปพลิเคชัน สมมติฐานเหล่านี้อาจจะเข้มงวดเกินไป แต่แบบจำลองนี้ก็ยังคงมีประโยชน์ในการแสดงให้เห็นถึงข้อแลกเปลี่ยนที่เกี่ยวข้องกับการเร่งความเร็วด้วย Parareal
ประการแรก สมมติว่าแต่ละช่วงเวลาประกอบด้วยขั้นตอนของตัวรวมละเอียดและขั้นตอนของตัวรวมหยาบอย่างละจำนวนที่แน่นอน โดยเฉพาะอย่างยิ่ง สมมติฐานที่ว่าช่วงเวลาทั้งหมดมีความยาวเท่ากัน และทั้งตัวรวมหยาบและตัวรวมละเอียดใช้ขนาดขั้นตอนคงที่ตลอดการจำลองทั้งหมด ประการที่สอง ให้และแทนเวลาในการคำนวณที่จำเป็นสำหรับขั้นตอนเดียวของวิธีการละเอียดและหยาบตามลำดับ และสมมติว่าทั้งสองค่าคงที่ โดยทั่วไปแล้ว สมมติฐานนี้จะไม่เป็นจริงเสมอไปเมื่อ ใช้วิธีการ แบบปริยายเนื่องจากเวลาในการทำงานจะแตกต่างกันไปขึ้นอยู่กับจำนวนรอบที่จำเป็นสำหรับตัวแก้ปัญหาแบบวนซ้ำ
ภายใต้สมมติฐานทั้งสองนี้ เวลาในการทำงานของวิธีการละเอียดที่ผสานรวมในช่วงเวลาต่างๆ สามารถจำลองได้ดังนี้
เวลาในการทำงานของ Parareal โดยใช้หน่วยประมวลผลและทำการวนซ้ำคือ
การเร่งความเร็วของ Parareal คือ
ขอบเขตทั้งสองนี้แสดงให้เห็นถึงข้อแลกเปลี่ยนที่ต้องพิจารณาในการเลือกวิธีการหยาบ: ในด้านหนึ่ง วิธีการนั้นต้องมีราคาถูกและ/หรือใช้ขั้นตอนเวลาที่ใหญ่กว่ามากเพื่อให้ขอบเขตแรกมีขนาดใหญ่ที่สุดเท่าที่จะเป็นไปได้ ในอีกด้านหนึ่ง จำนวนรอบการทำซ้ำต้องต่ำเพื่อให้ขอบเขตที่สองมีขนาดใหญ่ โดยเฉพาะอย่างยิ่งประสิทธิภาพแบบขนานของ Pararealถูกจำกัดด้วย
นั่นคือค่าผกผันของจำนวนรอบที่ต้องการ
ความไม่เสถียรสำหรับค่าไอเกนจินตภาพ
Parareal เวอร์ชันพื้นฐานมีปัญหาสำหรับปัญหาที่มีค่าไอเกนจินตนาการ[ 7 ]โดยทั่วไปแล้วจะลู่เข้าสู่การวนซ้ำครั้งสุดท้ายเท่านั้น นั่นคือเมื่อเข้าใกล้และความเร็วที่เพิ่มขึ้นจะน้อยกว่าหนึ่งเสมอ ดังนั้นจำนวนการวนซ้ำจึงน้อยและ Parareal ไม่เสถียร หรือถ้ามีขนาดใหญ่พอที่จะทำให้ Parareal เสถียร ความเร็วที่เพิ่มขึ้นก็เป็นไปไม่ได้ นอกจากนี้ยังหมายความว่า Parareal มักจะไม่เสถียรสำหรับสมการไฮเปอร์โบ ลิก [ 14 ]แม้ว่าการวิเคราะห์อย่างเป็นทางการโดย Gander และ Vandewalle จะครอบคลุมเฉพาะปัญหาเชิงเส้นที่มีสัมประสิทธิ์คงที่ ปัญหาก็เกิดขึ้นเมื่อใช้ Parareal กับสมการ Navier–Stokes แบบไม่เชิงเส้น เมื่อ สัมประสิทธิ์ ความหนืดมีขนาดเล็กเกินไปและเลขเรย์โนลด์มีขนาดใหญ่เกินไป[ 15 ]มีวิธีการต่างๆ เพื่อทำให้ Parareal เสถียร[ 16 ] [ 17 ] [ 18 ]หนึ่งในนั้นคือ Parareal ที่ปรับปรุงด้วย Krylov-subspace
ตัวแปร
มีอัลกอริธึมหลายตัวที่พัฒนามาจากอัลกอริธึม Parareal ดั้งเดิมโดยตรง หรืออย่างน้อยก็ได้รับแรงบันดาลใจมาจากอัลกอริธึมนั้น
Krylov-subspace enhanced Parareal
ในระยะแรกเป็นที่ยอมรับว่าสำหรับปัญหาเชิงเส้น ข้อมูลที่สร้างขึ้นโดยวิธีละเอียดสามารถนำมาใช้เพื่อปรับปรุงความแม่นยำของวิธีหยาบได้[ 17 ] เดิมทีแนวคิดนี้ถูกกำหนดขึ้นสำหรับตัวรวมเวลาแบบขนานโดยปริยาย PITA [ 19 ]ซึ่งเป็นวิธีที่เกี่ยวข้องอย่างใกล้ชิดกับ Parareal แต่มีความแตกต่างเล็กน้อยในวิธีการแก้ไข ในแต่ละรอบการทำซ้ำผลลัพธ์จะถูกคำนวณสำหรับค่าต่างๆของโดยอิงจากข้อมูลนี้พื้นที่ย่อย
ถูกกำหนดและอัปเดตหลังจากการวนซ้ำ Parareal ทุกครั้ง[ 20 ]กำหนดให้เป็นการฉายภาพตั้งฉากจากไปยัง จากนั้นแทนที่วิธีหยาบด้วยตัวรวมที่ได้รับการปรับปรุง
เมื่อจำนวนรอบการทำซ้ำเพิ่มขึ้น พื้นที่ก็จะขยายใหญ่ขึ้น และตัวแพร่กระจายที่ปรับปรุงแล้วจะมีความแม่นยำมากขึ้น ซึ่งจะนำไปสู่การบรรจบกันที่เร็วขึ้น Parareal เวอร์ชันนี้ยังสามารถรวมสมการเชิงอนุพันธ์ย่อยไฮเปอร์โบลิกเชิงเส้นได้อย่างเสถียรอีกด้วย[ 21 ]นอกจากนี้ยังมีการขยายไปสู่ปัญหาที่ไม่เป็นเชิงเส้นโดยใช้วิธีฐานที่ลดลงอีกด้วย[ 18 ]
การแก้ไขสเปกตรัมแบบไฮบริดพาราเรียลที่ล่าช้า
M. Minion ได้เสนอวิธีการที่มีประสิทธิภาพแบบขนานที่ดีขึ้นโดยอาศัยการผสมผสานระหว่าง Parareal กับการแก้ไขแบบเลื่อนสเปกตรัม (SDC) [ 22 ] [ 23 ]ซึ่งจำกัดตัวเลือกสำหรับตัวรวมแบบหยาบและละเอียดไว้ที่ SDC โดยยอมเสียความยืดหยุ่นเพื่อแลกกับประสิทธิภาพแบบขนานที่ดีขึ้น แทนที่จะเป็นขีดจำกัดของประสิทธิภาพแบบขนานในวิธีการแบบไฮบริดจะมีขอบเขตจำกัดเป็น
โดยที่ คือจำนวนการวนซ้ำของวิธีการพื้นฐาน SDC แบบอนุกรม และจำนวนการวนซ้ำที่มากกว่าโดยทั่วไปของวิธีการไฮบริดแบบขนาน ไฮบริด Parareal-SDC ได้รับการปรับปรุงเพิ่มเติมโดยการเพิ่มแผนการประมาณค่าแบบเต็มรูปแบบ ดังที่ใช้ในมัลติกริดแบบ ไม่เชิงเส้น ซึ่งนำไปสู่การพัฒนาแผนการประมาณค่าแบบเต็มรูปแบบแบบขนานในอวกาศและเวลา (PFASST) [ 24 ]ประสิทธิภาพของ PFASST ได้รับการศึกษาสำหรับ PEPC ซึ่งเป็นตัวแก้ปัญหาอนุภาคที่ใช้รหัสต้นไม้Barnes-Hut ที่พัฒนาขึ้นที่ ศูนย์ซูเปอร์คอมพิวเตอร์ Juelichการจำลองโดยใช้คอร์ทั้งหมด 262,144 คอร์บนระบบ IBM BlueGene /P JUGENE แสดงให้เห็นว่า PFASST สามารถสร้างความเร็วเพิ่มขึ้นเพิ่มเติมเกินกว่าความอิ่มตัวของการขนานต้นไม้เชิงพื้นที่[ 25 ]
การลดเวลาของระบบมัลติกริด (MGRIT)
วิธีการลดเวลาแบบมัลติกริด (MGRIT) ขยายการตีความของ Parareal ให้เป็นอัลกอริธึมมัลติกริดในเวลาไปยังหลายระดับโดยใช้ตัวปรับเรียบที่แตกต่างกัน[ 26 ]เป็นแนวทางทั่วไปมากกว่า แต่สำหรับการเลือกพารามิเตอร์ที่เฉพาะเจาะจงนั้นเทียบเท่ากับ Parareal ไลบรารีXBraid ที่เก็บถาวรเมื่อวันที่ 23 เมษายน 2559 ที่Wayback Machineซึ่งใช้ MGRIT กำลังได้รับการพัฒนาโดยห้องปฏิบัติการแห่งชาติลอว์เรนซ์ลิเวอร์มอร์
พาราเอ็กซ์
ParaExp ใช้อินทิเกรเตอร์เลขชี้กำลังภายใน Parareal [ 27 ]แม้ว่าจะจำกัดเฉพาะปัญหาเชิงเส้น แต่ก็สามารถสร้างความเร็วขนานที่เกือบจะเหมาะสมที่สุดได้
ลิงก์ภายนอก
- parallel-in-time.org
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พาราเรียล
Pararealเป็นอัลกอริทึมแบบขนานจากการวิเคราะห์เชิงตัวเลขและใช้สำหรับการแก้ปัญหาค่าเริ่มต้น ได้รับการแนะนำในปี 2001 โดยLions , Maday และ Turinici...
วิธีการบูรณาการแบบขนานในเวลา
ตรงกันข้ามกับ วิธี การ Runge-Kutta หรือ วิธีการ หลายขั้นตอน การคำนวณบางส่วนใน Parareal สามารถทำได้ แบบขนาน ดังนั้น Parareal จึงเป็นตัวอย่างหนึ่งของ วิธี การบูรณาการแบบขนานในเวลา ในขณะที่ในอดีต ความพยายามส่วนใหญ่ในการทำให้ การแก้ปัญหาเชิงตัวเลข ของ...
ประวัติศาสตร์
Parareal สามารถได้มาจาก การใช้วิธีมัลติกริด ในเวลาหรือ การยิงหลายครั้ง ตามแกนเวลา [ 7 ] แนวคิดทั้งสองอย่าง คือ มัลติกริดในเวลาและการใช้การยิงหลายครั้งสำหรับการรวมเวลา ย้อนกลับไปในช่วงทศวรรษ 1980 และ 1990 [ 8 ] [ 9 ] Parareal...
ปัญหา
เป้าหมายคือการแก้ปัญหาค่าเริ่มต้นในรูปแบบต่อไปนี้