possible. The current implementation automates profiling,
analyses, and generation of recommendations for optimization
of MPI communication. It also presents the recommendations
to the user in a way that enhances his/her knowledge
of the efficient use of MPI. The tool works with two MPI implementations,
gathers data from both PMPI and MPI_T, and
requires only a single execution of the program to gather the
measurements necessary to generate recommendations. Accordingly,
we restrict this review of related research to those
tools that carry the MPI-performance optimization process
through the analysis phase.
The tool most similar in capabilities to MPI Advisor is
Periscope in conjunction with the Periscope’s MPI Tools Interface
[6]. Using the patches in MPI_T in the MPICH implementation
of MPI, a plugin for Periscope was introduced to
gather information on point-to-point calls and collective operations.
From the data gathered and analyses performed,
the plugin indicates the best eager threshold values for interand
intra-node MPI communication in the given application.
The Periscope Tuning Framework [12] provides guidance on
manually applying optimizations. Its implementation depends
on Periscope tool plugins [13] that recommend a variety
of optimizations such as compiler flags, MPI runtime
environment configuration (buffer sizes, collective protocol,
number of tasks, process affinity, etc.), and application- and
library-specific parameters. In addition, the framework generates
a communication matrix that defines a host file with
a recommended topology for the target system. Unlike MPI
Advisor, Periscope does not provide optimization for collective
algorithms or for tasks-to-cores mapping. More importantly,
unlike MPI Advisor, Periscope requires multiple
executions of an application to collect performance data –
this makes it expensive to apply to production-scale codes.
And, it appears that on most systems, execution of Periscope
requires system-level access privilege.
ATune [15] is an automatic performance-tuning tool that
applies machine-learning techniques to specifically identify
a select number of optimal MPI settings for an application.
ATune was trained on the NAS benchmarks. Like MPI Advisor,
it requires only one run of the target application. From
experimental evaluations using its Open MPI implementation,
ATune’s most significant improvements resulted from
selecting appropriate affinity assignments for MPI tasks with
respect to cores on compute nodes. The breadth of applicability
of training with the NAS benchmarks is an open
question and ATune is restricted to Open MPI. In more recent
work, Pellegrini, et al. [16] apply autotuning to find
runtime parameters suitable for optimizing the performance
of an application. The approach consists of finding parameters
that improve the performance of a set of kernels on the
target cluster. The kernels selected apply methods common
in many HPC applications (e.g., stencil operations, Fourier
transforms, matrix operations, etc.). The kernels are initially
executed with varying runtime parameters on the target
architecture. Then analysis of variance (ANOVA) is used
to determine the set of parameters with the most significant
impact on performance. To ensure that the achieved performance
is close to the maximum that can be obtained with a
subset of the runtime parameters, each of the selected computational
kernels was tested with 1,000 distinct parameter
combinations. Autotuning requires many executions of the
code, which makes its application to production-scale codes
very expensive.
OPTO [2] is an optimization tool that works specifically
with Open MPI to optimize the MPI runtime environment.
It supports optimization of Infiniband parameters among
other Open MPI-specific parameters. OPTO operates by
running benchmarks to characterize the execution environment
and generating a configuration file that should be used
on subsequent executions in the given environment.
Intel provides a performance-tuning utility named VTune
[17], which can be used to optimize the library parameters
of the Intel implementation of MPI either at the cluster or
application level. Cray provides CrayPat, which includes
a comprehensive set of performance reports and automatic
MPI rank order analysis11
.
There are several tools that provide profiles of MPI communication
operations and present visual displays and data
analyses to the user. These tools are mostly oriented towards
helping users identify hotspots and load imbalance
caused by the use of MPI. Recommendations to alleviate
these hotspots include modification to the application source
code. The most widely used of these tools include Vampir
[14], TAU [19], Open|SpeedShop [18], and Scalasca [5].
Scalasca also has been applied to several MPI performanceoptimization
issues by its developers. The most recent of
these deals with detecting wait states [5]; a complete list is
on the Scalasca website12. Note that, unlike MPI Advisor,
most of
เป็นไปได้ การดำเนินงานในปัจจุบันโดยอัตโนมัติโปรไฟล์
วิเคราะห์และการสร้างคำแนะนำสำหรับการเพิ่มประสิทธิภาพ
ของการสื่อสาร MPI นอกจากนี้ยังนำเสนอข้อเสนอแนะ
ให้กับผู้ใช้ในทางที่ช่วยเพิ่ม / ความรู้ของเธอของเขา
ในการใช้งานที่มีประสิทธิภาพของ MPI เครื่องมือที่ทำงานร่วมกับสองการใช้งาน MPI,
รวบรวมข้อมูลจากทั้งสอง PMPI และ MPI_T และ
ต้องใช้เพียงการดำเนินการเดียวของโปรแกรมที่จะรวบรวม
การวัดที่จำเป็นในการสร้างข้อแนะนำ ดังนั้น
เรา จำกัด การทบทวนงานวิจัยที่เกี่ยวข้องกับผู้นี้
เครื่องมือที่ดำเนินการในการเพิ่มประสิทธิภาพกระบวนการ MPI ประสิทธิภาพ
ผ่านขั้นตอนการวิเคราะห์.
เครื่องมือที่คล้ายกันมากที่สุดในความสามารถในการเป็นที่ปรึกษา MPI
Periscope ร่วมกับ Periscope ของเครื่องมือ MPI อินเตอร์เฟซ
[6] โดยใช้แพทช์ใน MPI_T ในการดำเนินงาน MPICH
ของ MPI เป็นปลั๊กอินสำหรับ Periscope ถูกนำไป
รวบรวมข้อมูลเกี่ยวกับการโทรแบบจุดต่อจุดและการดำเนินงานโดยรวม.
จากข้อมูลที่รวบรวมและวิเคราะห์ดำเนินการ
ปลั๊กอินบ่งชี้ที่ดีที่สุดค่าเกณฑ์อยากให้ interand
ภายในโหนดสื่อสาร MPI ในใบสมัครที่กำหนด.
Periscope ปรับแต่งกรอบ [12] ให้คำแนะนำเกี่ยวกับ
การเพิ่มประสิทธิภาพการใช้ด้วยตนเอง การดำเนินงานของขึ้นอยู่
บน Periscope ปลั๊กอินเครื่องมือ [13] ที่แนะนำให้ความหลากหลาย
ของการเพิ่มประสิทธิภาพเช่นธงคอมไพเลอร์, MPI Runtime
กำหนดค่าสภาพแวดล้อม (ขนาดบัฟเฟอร์โปรโตคอลรวม
จำนวนของงาน, ความสัมพันธ์กระบวนการ ฯลฯ ) และโปรแกรมประยุกต์และ
ห้องสมุดเฉพาะ พารามิเตอร์ นอกจากนี้กรอบการสร้าง
เมทริกซ์การสื่อสารที่กำหนดไฟล์โฮสต์ที่มี
โครงสร้างแนะนำสำหรับระบบเป้าหมาย ซึ่งแตกต่างจาก MPI
ที่ปรึกษา Periscope ไม่ได้ให้การเพิ่มประสิทธิภาพสำหรับการรวม
ขั้นตอนวิธีการทำแผนที่หรืองานการแกน ที่สำคัญกว่า
ซึ่งแตกต่างจาก MPI ที่ปรึกษา Periscope ต้องใช้หลาย
ประหารชีวิตของโปรแกรมประยุกต์ในการเก็บรวบรวมข้อมูลประสิทธิภาพ -
. นี้จะทำให้มันมีราคาแพงเพื่อนำไปใช้รหัสการผลิตขนาด
และก็ปรากฏว่าในระบบส่วนใหญ่การดำเนินการของ Periscope
ต้องใช้สิทธิ์ของระดับระบบ
ATune [15] เป็นเครื่องมือที่มีประสิทธิภาพในการปรับจูนอัตโนมัติที่
ใช้เทคนิคการเรียนรู้เครื่องเฉพาะระบุ
จำนวนเลือกการตั้งค่า MPI ที่เหมาะสมที่สุดสำหรับแอพลิเคชัน.
ATune ได้รับการฝึกอบรมเกี่ยวกับมาตรฐาน NAS เช่นเดียวกับ MPI ที่ปรึกษา
จะต้องมีเพียงหนึ่งในการทำงานของโปรแกรมเป้าหมาย จาก
การประเมินผลการทดลองโดยใช้การดำเนินการเปิด MPI ของ
ATune ของการปรับปรุงที่สำคัญส่วนใหญ่เป็นผลมาจาก
การเลือกที่ได้รับมอบหมายความสัมพันธ์ที่เหมาะสมสำหรับงาน MPI ด้วย
ความเคารพกับแกนบนโหนด Compute ความกว้างของการบังคับ
ของการฝึกอบรมที่มีมาตรฐานเป็น NAS เปิด
คำถามและ ATune ถูก จำกัด ให้เปิด MPI เมื่อเร็ว ๆ นี้ใน
การทำงาน Pellegrini, et al [16] ใช้ autotuning เพื่อหา
พารามิเตอร์รันไทม์ที่เหมาะสมสำหรับการเพิ่มประสิทธิภาพการปฏิบัติงาน
ของโปรแกรมประยุกต์ วิธีการประกอบด้วยการหาพารามิเตอร์
ที่ปรับปรุงประสิทธิภาพการทำงานของชุดของเมล็ดที่บน
คลัสเตอร์เป้าหมาย เมล็ดที่เลือกใช้วิธีการทั่วไป
ในการใช้งานหลาย HPC (เช่นการดำเนินงานลายฉลุ, ฟูริเยร์
แปลง, การดำเนินงานของเมทริกซ์และอื่น ๆ ) เมล็ดจะถูกแรก
ดำเนินการที่แตกต่างกันพารามิเตอร์ runtime ในเป้าหมาย
สถาปัตยกรรม แล้ววิเคราะห์ความแปรปรวน (ANOVA) ถูกนำมาใช้
ในการกำหนดชุดของพารามิเตอร์ที่มีนัยสำคัญมากที่สุด
ส่งผลกระทบต่อประสิทธิภาพการทำงาน เพื่อให้มั่นใจว่าการดำเนินงานที่ประสบความสำเร็จ
อยู่ใกล้กับสูงสุดที่สามารถรับได้กับ
ระบบย่อยของพารามิเตอร์รันไทม์แต่ละคำนวณเลือก
เมล็ดได้รับการทดสอบที่มี 1,000 พารามิเตอร์ที่แตกต่างกัน
รวมกัน Autotuning ต้องใช้หลายประหารชีวิตของ
รหัสซึ่งจะทำให้การประยุกต์ใช้กับรหัสการผลิตขนาด
มีราคาแพงมาก.
OPTO [2] เป็นเครื่องมือเพิ่มประสิทธิภาพที่ใช้งานได้เฉพาะ
กับเปิด MPI เพื่อเพิ่มประสิทธิภาพการสภาพแวดล้อมรันไทม์ MPI.
จะสนับสนุนการเพิ่มประสิทธิภาพของพารามิเตอร์ Infiniband ในหมู่
อื่น ๆ ที่เปิด พารามิเตอร์ MPI เฉพาะ OPTO ทำงานโดยการ
ทำงานมาตรฐานที่จะอธิบายลักษณะสภาพแวดล้อมการดำเนินการ
และสร้างแฟ้มการกำหนดค่าที่ควรจะใช้
ในการประหารชีวิตตามมาในสภาพแวดล้อมที่กำหนด.
อินเทลให้ยูทิลิตี้ประสิทธิภาพจูนที่ชื่อว่า VTune
[17] ซึ่งสามารถนำมาใช้เพื่อเพิ่มประสิทธิภาพพารามิเตอร์ห้องสมุด
ของ การดำเนินงานของอินเทล MPI ทั้งที่คลัสเตอร์หรือ
ระดับแอพลิเคชัน เครย์ให้ CrayPat ซึ่งรวมถึง
ชุดที่ครอบคลุมของการรายงานผลการดำเนินงานและอัตโนมัติ
analysis11 MPI คะแนนคำสั่ง
.
มีเครื่องมือต่างๆที่ให้โปรไฟล์ของการสื่อสาร MPI มี
การดำเนินงานและแสดงภาพในปัจจุบันและข้อมูล
การวิเคราะห์ให้กับผู้ใช้ เครื่องมือเหล่านี้จะมุ่งเน้นการส่วนใหญ่ที่มีต่อการ
ช่วยให้ผู้ใช้ระบุฮอตสปอตและความไม่สมดุลภาระ
ที่เกิดจากการใช้งานของ MPI ข้อเสนอแนะเพื่อบรรเทา
ฮอตสปอตเหล่านี้รวมถึงการปรับเปลี่ยนไปยังแหล่งการประยุกต์ใช้
รหัส ใช้กันอย่างแพร่หลายมากที่สุดของเครื่องมือเหล่านี้รวมถึง Vampir
[14] เอกภาพ [19], เปิด | SpeedShop [18] และ Scalasca [5].
Scalasca ยังได้ถูกนำไปใช้หลาย performanceoptimization MPI
ปัญหาโดยนักพัฒนาของมัน ล่าสุดของ
ข้อเสนอเหล่านี้ด้วยการตรวจสอบรัฐรอ [5]; รายการที่สมบูรณ์คือ
ใน website12 Scalasca โปรดทราบว่าแตกต่างจาก MPI ที่ปรึกษา
ส่วนใหญ่ของ
การแปล กรุณารอสักครู่..