РЕЦЕНЗИЯ
на выпускную квалификационную работу
студента 4 курса кафедры системного программирования СПбГУ
 Остроухова Антона,
 по теме: 
“Оптимизация процесса тестирования OpenJDK для встраиваемых платформ“

Представленная работа посвящена довольно важной прикладной задаче, которая имеет непосредственное влияние на оптимизацию работы с системами на процессорах семейства ARM v7 под управлением ОС Linux, а именно - возможность использования ARMv7 c FPU (Floating-Point Unit) одновременно в двух режимах - Soft и SoftFP.

Понятно, что изначальная идея была связана с необходимостью ускорить именно тестирование JDK, но, на самом деле, проблема и решение абсолютно не являются JDK-специфичными и имеют более широкое применение. Однако тестирование JDK может быть отлично использовано в качестве конкретного примера, чтобы показать выигрыш по времени при использовании предлагаемого решения, что и было проделано на практике.

Работа написана понятным языком, не требующим от читателя глубоких знаний предмета - все понятия и термины пояснены и подкреплены ссылками на источники с более детальным описанием.

Антон подробно рассмотрел несколько возможных подходов к решению задачи, проанализировал плюсы и минусы использования каждого из них и обосновал сделанный выбор в пользу наиболее универсального.

При кажущейся несложности предлагаемого решения понятно, что для реализации  переключения режима функционирования FPU потребовалось проделать огромную работу - разобраться в соответствующем коде ядра Linux, реализовать интерфейс для взаимодействия с FPU, протестировать реализацию на JDK прогонах.

Несомненным плюсом проделанной работы является наличие работающей модификации ядра, которое было апробировано в реальных условиях в компании “Азул Системс” и показало отличные результаты.

В дополнение к предоставленным результатам было бы интересно узнать как это решение влияет на производительность в случае, когда на модифицированном ядре выполняются исключительно задачи активно использующие floating-point инструкции. В предлагаемом решении FPU отключается всякий раз когда происходит переключение контекста. Значит после переключения первая FP-специфичная инструкция будет вызывать исключение, что, вероятно, негативно скажется на производительности. Этот аспект в работе рассмотрен не был, но это может стать целью дополнительного исследования. Отсутствие этих измерений не является принципиальным недостатком данной работы.

Считаю, что проделанная Антоном работа соответствует требованиям, предъявляемым к выпускной квалификационной работе бакалавра, и заслуживает оценки «отлично».

Красный А.В., ведущий инженер-программист ООО «Азул Системс»

Дата: 09 июня 2020 г			Подпись: _______________________