conpar94.ftp (1158308), страница 3

Файл №1158308 conpar94.ftp (Раздаточные материалы) 3 страницаconpar94.ftp (1158308) страница 32019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Providing an application browser based on classes (objects)and their relationships (inheritance), classy directly supports object-oriented design andprogramming in pC++.5 Dynamic Analysis ToolsDynamic program analysis tools allow the user to explore and analyze program executionbehavior. This can be done in two general ways. Proling computes statistical informationto summarize program behavior, allowing the user to nd and focus quickly on the mainbottlenecks of the parallel application.

Tracing portrays the execution behavior as a sequenceof abstract events that can be used to determine various properties of time-based behavior.The most critical factor for the user is to relate the measurement results back to thesource code. helps in presenting the results in terms of pC++ language objects and in9supporting global features that allows the user to locate the corresponding routine in thecallgraph or source text by simply clicking on the related measurement result objects.Before presenting the dynamic analysis tools racy and easy, we briey describe theapproach used to implement proling and tracing in pC++ (see [15] for more details).5.1 Portable Proling for C++ and Languages based on C++A very valuable tool for program tuning is function proling.

Here, special instrumentationcode is inserted at all entry and exit points of each function to capture data that can beused to calculate the number of times this function is called and the percentage of the totalexecution time spent there.To ensure portability, all instrumentation for proling must be done at the source language level.

Using language features of C++, we can instrument the source code eciently,just by declaring a special Proler class which only has a constructor and a destructor andno other methods. A variable of that class is then declared in the rst line of each functionwhich has to be proled. During runtime, a Profiler object is created and initialized eachtime the control ow reaches its denition (via the constructor) and destroyed on exit fromits block (via the destructor).This generic proling instrumentation approach has two basic advantages. First, theinstrumentation is portable, because it occurs at the source code level. Second, dierentimplementations of the proler can be easily created by providing dierent code for theconstructor and destructor. This makes it very exible. Currently, we have implementedtwo versions of the proler for pC++:Direct Proling: The function prole is directly computed during program execution.

Foreach proled function we compute the number of calls and the running sum of timeused by this function including and excluding its children.Trace-based Proling: Here the constructor and destructor functions simply call an eventlogging function from the pC++ software event tracing library (see Section 5.3). Thecomputation of the prole statistics is then done o-line.Other proling alternatives could be implemented in the same way. For example, prolingcode could be activated/deactivated for each function separately, allowing dynamic prolingcontrol.

Another possibility is to let users supply function-specic prole code (speciedby source code annotations or special class members with predened names) that allowscustomized runtime performance analysis.We use the Sage++ class library and restructuring toolkit to manipulate pC++ programsand insert the necessary proler instrumentation code at the beginning of each function.The user has control over the level, detail, and type of proling.10Figure 4: RacyThere are also instrumented versions of the pC++ class libraries and runtime system,both for direct and trace-based proling. In addition to the instrumentation of user-levelfunctions, they provide proling of runtime system functions and collection access.5.2 RacyRacy (Routine and data ACcess prole displaY) is the parallel prole data viewer.

Aftercompiling an application for proling and running it, racy lets you browse through thefunction and collection access prole data generated. As with the other tools, racy letsthe user choose the level of detail of the data displayed. The main window (see Figure 4)gives a quick overview of the execution of the application by summarizing function (left) andcollection access (right) performance in two graphs.The function prole summary presents, for each node the program was running on, asingle bargraph line showing the percentage of total runtime the program spent in specicfunctions.

In addition, the mean, maximum, and minimum values are shown on top of thegraph. Racy allows the user to easily explore the prole data and get dierent views on itby simply clicking on items within the bargraphs. This invokes more detailed displays:11The node prole shows the function prole for a specic node in more detail.The text node prole shows the same information in text form similar to the normalUNIX prof output.The function prole can be used to see how a specic function executed on all nodesin more detail.For easy identication, each function is shown in a unique color in all displays.The collection access data prole summary shows the user an overview of access information to collections (pC++'s distributed data objects) of the current application.

For eachcollection declared in the program, a single bargraph line shows the percentage of all accessesto this collection which were local (accessing local node memory) and remote (access involvedcostly communication). In clicking on the collection name at the left side of the bar, the usercan get a more detailed view of the prole data for that collection, showing the local/remoteaccess ratios for each node the program was running on.Figure 4 shows a node prole for node 5, a text node prole for node 1, a function prolefor DistBlkMatrix::setplusvalue, and a prole for collection p.5.3 Event Tracing of pC++ ProgramsIn addition to proling, we have implemented an extensive system for tracing pC++ programevents.

Currently, tracing pC++ programs is restricted to shared-memory computers (e.g.,Sequent Symmetry, BBN Buttery, and Kendall Square KSR-1) and the uniprocessor UNIXversion. The implementation of the event tracing package to distributed memory machinesis underway3.

Trace instrumentation support is similar to proling. In addition, we haveimplemented several utilities for event trace analysis (see also Figure 1):Merging: Traced pC++ programs produce an event log for each node. The trace les willhave names of the form <MachineId>.<NodeId>.trc. The single node traces mustbe merged into one global event trace, with all event records sorted by increasingtimestamps. This is done with the tool se merge. If the target machine does not havea hardware global clock, se merge will establish a global time reference for the eventtraces by correcting timestamps (using synchronization and message passing events ofthe pC++ runtime system).Trace Conversion: The utility tool se convert converts traces to the SDDF format used withthe Pablo performance analysis environment [16, 17] or to the ALOG format used inNote, the dierence between the shared- and distributed-memory implementations is only in the low-leveltrace data collection library and timestamp generation; all trace instrumentation is the same.312Figure 5: Easythe Upshot event display tool [4].

It also can produce a simple user-readable ASCIIdump of the binary trace.Trace Analysis and Visualization: The trace les can also be processed directly with theSIMPLE event trace analysis and visualization environment or other tools based onthe TDL/POET event trace interface [10, 11]. These tools use the Trace DescriptionLanguage (TDL) output of the Instrumentor to access the trace les.5.4 EasyEasy (Event And State displaY)4 is an Upshot-like event and state display tool based on theALOG event trace format.

Easy displays states and events as graphical objects on an X-Ygraph. On the Y axis, individual processors are shown, while the X axis extends in time.Both directions are scrollable. A particular event or state can be detailed by clicking onthe corresponding graphical object. A window then pops up displaying relevant informationsuch as the time the event occurred, the type of the event and other parameters stored in4Easy is available separately from . In this form, its moniker is oShoot.13the trace. Also, the states are displayed in such a way that they show when nesting occurs.Figure 5 shows the startup phase of a pC++ program.6 Future WorkThe pC++ project is an on-going research eort. We are planning to enhance the currentversion into several ways.

Характеристики

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее