Использование инфраструктуры облачных вычислений для моделирования сложных нанофотонных структур

ИСПОЛЬЗОВАНИЕ ИНФРАСТРУКТУРЫ ОБЛАЧНЫХ ВЫЧИСЛЕНИИ ДЛЯ МОДЕЛИРОВАНИЯ СЛОЖНЫХ НАНОФОТОННЫХ СТРУКТУР

Казанский Н.Л., Серафимович П.Г.

Институт систем обработки изображений РАН,

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

Аннотация

Рассмотрены проблемы эффективного использования возможностей современных высокопроизводительных средств для решения задач дифракционной нанофотоники. Расчётный метод нанофотоники (метод Фурье-мод - RCWA) адаптирован к применению технологии облачных вычислений MapReduce. Для этого проведён анализ потоков данных в методе RCWA. Операции этого метода, требующие интенсивных вычислений, преобразованы в операции, требующие интенсивного обмена данными. Генерируемые массивы данных структурированы в соответствии с требованиями технологии MapReduce. Использование для расчётов инфраструктуры облачных вычислений позволяет эффективным образом решать проблемы масштабируемости и отказоустойчивости расчётных приложений. Это, в свою очередь, позволит ускорить исследования оптических наноструктур сложной формы.

Ключевые слова: нанофотоника, облачные вычисления, оптимизация, уравнения Максвелла, MapReduce.

Введение

Современные вычислительные задачи порождают всё более высокие требования к используемым методам параллельных вычислений и хранения данных [1, 2]. Разрабатываемые приложения должны эффективно работать на многоядерных и многопроцессорных вычислительных системах. Традиционным средством создания таких приложений является интерфейс MPI [3]. Применение MPI обеспечивает возможность разрабатывать гибкие приложения, которые детально учитывают особенности конкретного алгоритма программы и используемой вычислительной системы. Однако такая возможность MPI делает необходимой для разработчика реализацию многих низкоуровневых системных сервисов.

Технология реализации облачных вычислений MapReduce [4], по сравнению с MPI, позволяет повысить уровень абстракции, используемый при разработке параллельных приложений. MapReduce накладывает определённые ограничения на гибкость используемого алгоритма. Однако при этом MapRe-duce предоставляет простую модель программирования, распределённую файловую систему, механизм управления заданиями, средства администрирования вычислительной системы.

Моделирование прохождения электромагнитной волны видимого диапазона через многослойную структуру, включающую элементы рельефа размерами порядка длины волны падающего света, является ресурсоёмкой задачей [5 - 8]. Таким образом, её решение с помощью высокопроизводительных вычислительных средств - суперкомпьютера или кластера - становится оправданным.

Рассмотрим один из распространённых методов решения задач нанофотоники - метод Фурье-мод (Rigorous Coupled Wave Analysis - RCWA) [9 - 12], который может быть адаптирован к использованию технологии MapReduce. Для этого, в частности, ис-

ходная задача, требующая больших вычислительных затрат (CPU-intensive), преобразована в задачу, требующую обработки больших объёмов данных (data-intensive).

В первом разделе статьи рассмотрены возможности технологии облачных вычислений MapReduce. Второй раздел статьи содержит описание потоков данных в методе Фурье-мод (RCWA). В третьем разделе статьи метод RCWA отображается на схему технологии MapReduce. Следующий раздел содержит результаты вычислительных экспериментов на Hadoop-кластере [13, 14], который является открытой реализацией технологии MapReduce. Выводы и направления дальнейшей работы приведены в заключительном разделе.

Описание технологии MapReduce

Технология MapReduce основана на том наблюдении, что многие задачи обработки информации обладают типовой базовой структурой [15-17]. Сначала в результате обработки большого объёма данных генерируются промежуточные результаты. Затем эти промежуточные результаты каким-то образом объединяются и систематизируются. Исходя из этого и в соответствии с принципами функционального программирования, MapReduce предоставляет разработчику более высокий, чем, например, MPI, уровень абстракции.

Разработчику в MapReduce достаточно реализовать две функции, чтобы получить работоспособное приложение. Во-первых, это функция map(), которая принимает на вход данные в формате ключ/значение (key/value) и генерирует промежуточные данные в таком же формате. Во-вторых, это функция reduce(), которая получает от функции map() на вход данные ключ/значение. Функция reduce() генерирует произвольное количество конечных пар ключ/значение, которые являются результатом обработки исходного массива данных. Эта двухэтапная схема показана на рис. 1.

Input Data

kl

Vi

Г mapper 1 Г "Л mapper М

V

combiner 1 V- combiner С

и _

v3 _

Output Data

Рис. 1. Схема MapReduce

Среда исполнения MapReduce базируется на распределённой файловой системе [1] и контролирует процесс параллельного выполнения задания. Этот контроль включает в себя, например, координацию местоположения данных и кода, обработку ситуаций с отказом оборудования, а также сортировку и пересылку данных между вычислительными узлами перед началом этапа reduce.

MapReduce позволяет также использовать вспомогательную функцию combine(), которая аналогична функции reduce(), но получает на вход данные только от одной функции map(). Поэтому функция combine() задействована на каждом узле по отдельности и не может использовать промежуточные результаты на других узлах. Так как результаты работы функции map() должны быть в конечном итоге переданы с каждого вычислительного узла на несколько других вычислительных узлов, то функция combine() позволяет сократить объём промежуточных данных, которые пересылаются между вычислительными узлами. В том случае, если операции, реализуемые функциями map() и reduce(), являются одновременно и ассоциативными, и коммуникативными, содержимое функции combine() совпадает с содержимым функции reduce().

Промежуточные данные разделяются на части, количество которых равно количеству узлов, на которых выполняется функция reduce(). Разделение данных по умолчанию происходит путём расчёта значения hash-функции для каждого промежуточного ключа. Таким образом, на каждый из узлов, на которых выполняется функция reduce(), отсылается приблизительно одинаковый объём данных.

Идея разделения большой вычислительной задачи на подзадачи, параллельное выполнение этих подзадач и объединение результатов на заключительном этапе не является новой. Однако относительно недавно было продемонстрировано на практике, что такая схема позволяет освободить разработчика параллельных приложений от ряда сложно -стей использования современных высокопроизводительных вычислительных средств, при этом оставляя разработчику свободу в решении достаточно широкого круга задач. Реализация схемы MapReduce в виде фреймворка требует учёта многих аспектов использования распределённых вычислительных систем. Рассмотрим некоторые из них.

Во-первых, фреймворк должен обеспечивать балансировку загрузки вычислительных узлов системы. Балансировку загрузки в MapReduce выполняет один из узлов - master - на который копируется экземпляр кода программы. Узел master распределяет подзадачи map и reduce по рабочим узлам - workers. Каждый раз, когда рабочий узел освобождается, узел master назначает для него новую подзадачу - map или reduce.

Во-вторых, должна обеспечиваться отказоустойчивость работы вычислительной системы. Используя распределённые системы, содержащие сотни и тысячи компьютеров, постоянно приходится иметь дело с отказами вычислительных узлов. Чтобы определить проблемный узел, узел master периодически опрашивает рабочие узлы и формирует список отказов, который учитывается при распределении подзадач по узлам.

В-третьих, необходимо обеспечить близость данных и вычислений, чтобы сократить пересылку данных между узлами. Поэтому важно учитывать, какие данные уже находятся на узлах, и в соответствии с этим распределять вычислительные подзадачи. В реализациях MapReduce это достигается использованием специальной файловой системы. В этой распределённой файловой системе каждый файл разделяется на блоки - например, по 64 МБ. Несколько копий этих блоков хранятся на различных узлах. Благодаря такому механизму репликации данных узел master имеет выбор при распределении подзадач по узлам. В случае отказа одного из узлов выполнявшаяся на нём подзадача будет перенаправлена на другой узел, который содержит необходимые данные. Таким образом, данные, как правило, считываются локально и не загружают сеть между узлами.

Потоки данных в методе RCWA

Моделирование прохождения света через структуру, включающую элементы рельефа размером порядка длины волны падающего света, требует решения уравнений Максвелла [18]. Как правило, для этого используют один из разработанных численных методов. В данной статье рассмотрен метод RCWA.

Постановка задачи представлена на рис. 2. Пространство разбито на три области. Во-первых, однородная область I с диэлектрической проницаемо-

стью е1, в которой распространяются падающая и отражённая электромагнитные световые волны. Во-вторых, неоднородная область II, которая включает исследуемую наноструктуру с периодической модуляцией диэлектрической проницаемости. В-третьих, однородная область III с диэлектрической проницаемостью е3, в которой распространяется прошедшая волна.

На структуру падает линейно поляризованная монохроматическая плоская волна с волновым числом k0 = 2pl :

Einc = 1e exp [-jkinct]

Величины 0 и f определяют, соответственно, меридиональный и азимутальный углы падения света. Плоскость поляризации падающей плоской волны задаётся величиной у . Таким образом,

k = k.Jex

inc 0 V 1

x(sin0cosf 1x + sin 0sinf 1у + cos 0 1z ) =

= k. 1 + k. 1 + k. 1

inc,у у

inc, x x

inc,z z -

где

1e = (cos y cos 0 cos f - sin y sin f) 1x +

+ (cosycos 0cos f - sin ycos f) 1y -

- cos y sin 0 1z.

Периодическая двумерная геометрическая структура описывается выражением

e

Метод RCWA предполагает разложение функции (2) в ряд Фурье.

e( Ъ y )= Z emn exp ( jK mn • r):

где

K mn = mKx1x + nKy1y

Kx = 2p / dx, K„ = 2p / dy,

Количество членов ряда Фурье (3) задаёт количество рассчитываемых дифракционных порядков.

Чтобы рассчитать прохождение электромагнитной волны видимого диапазона света через наноструктуру, необходимо решить уравнения Максвелла. В методе ЯСШЛ анализируемая структура разбивается на слои, однородные в вертикальном направлении. В каждом из этих слоёв электромагнитное поле раскладывается в ряд Фурье, затем эти поля сшиваются на границах слоёв. В процессе расчётов для каждого слоя решается задача на собственные значения. Размер этой задачи определяет количество рассчитываемых дифракционных порядков. Рассмотрим случай конической дифракции на двумерной структуре. Положим, что количество учитываемых положительных дифракционных порядков для каждой из координат равно N. Тогда размер матрицы задачи на собственные значения равен (2N +1)4. Эта матрица не зависит от толщины слоя. После решения задачи на собственные значения формируется система линейных уравнений. Решение этой системы позволяет получить оценки энергетической эффективности рассчитываемых дифракционных порядков.

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

Отображение метода ЯС№Л на схему МарЯейисв

Рассмотрим использование метода ЯСШЛ для моделирования или оптимизации нанофотонных структур. В качестве примера такой структуры возьмём периодическую двумерную сетку, в каждом узле которой находится усечённый конус, изображённый на рис. 3а. Пусть допустимые значения верхнего и нижнего радиусов усечённого конуса определяются, соответственно, верхней и нижней сторонами серого прямоугольника на рисунке. Количество допустимых значений каждого из радиусов определяется шагом дискретизации и равно Ж. Для применения метода ЯСШЛ требуется разбить анализируемую структуру на однородные слои в вертикальном направлении. Пусть количество этих слоёв фиксировано и равно Ь.

Как было сказано в предыдущем пункте, для каждого однородного слоя рассчитываются собственные значения и собственные вектора соответствующей матрицы. Рассчитанные значения не зависят от толщины однородного слоя. Без сохранения промежуточных результатов эта ресурсозатратная задача на нахождение собственных значений будет повторяться многократно. На рис. 3б показана зависимость количества задач N1 на нахождение собственных значений и векторов от количества ^ наборов значений верхнего и нижнего радиусов усечённого конуса без сохранения промежуточной информации (ступенчатый пилообразный график). Значения параметров Ь и Ж на рисунке положены равными 7 и

8, соответственно. Отметим, что количество задач на нахождение собственных значений и векторов,

m,n

и

которые необходимо решить при сохранении промежуточной информации, равно Ж

Рис. 3. Пример анализа двумерной дифракционной решётки: период решетки; допустимые значения верхнего и нижнего радиусов усечённого конуса выделены серым прямоугольником

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

Структура и количество входных параметров для моделирования нанофотонной структуры зависит, в частности, от типа структуры и целей моделирования. Можно выделить две основные группы входных параметров. Во-первых, параметры, описывающие геометрию структуры и её вариации. Во-вторых, параметры, задающие условия освещения данной структуры.

Оценим возможное количество входных параметров для моделирования нанофотонной структуры, период которой изображён на рис. 3а. Начнём с группы геометрических параметров. Пусть количество допустимых значений ширины усечённого конуса равно 100 (№= 100). Пусть также допускается вариация периода структуры. Количество допустимых периодов также равно 10. Переходим к группе параметров освещения. Пусть в нашем случае эта группа содержит три параметра. Во-первых, это длина волны падающего света. Во-вторых, это меридиональный угол падения. В-третьих, это азимутальный угол падения. Для каждого из трёх параметров также положим количество возможных вариаций равным 10. Таким образом, количество задач на нахождение собственных значений, промежуточные результаты которых необходимо сохранить, равно произведению вариаций описанных пяти параметров, т.е. 106.

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

пользованием типа long double размером 16 байт, чтобы обеспечить высокую точность расчётов. На рис. 4а изображена зависимость размера сохраняемых данных от количества рассчитываемых дифракционных порядков. На рис. 46 показан совокупный объём хранимых промежуточных данных для различных комбинаций количества рассчитываемых дифракционных порядков и варьируемых параметров. Из рисунка видно, что объём данных может превышать 1 ТБ. Это позволяет отнести рассматриваемую задачу к классу data-затратных. Чтобы уменьшить размер хранимых промежуточных данных, можно использовать процедуру упаковки. Однако это, в свою очередь, влечёт соответствующие накладные расходы.

Рис. 4. Размер промежуточных данных

Перейдём непосредственно к процедуре отображения метода Фурье-мод на схему MapReduce. Определим структуру данных в хранилище промежуточных результатов. Для технологии MapReduce эта структура определяется парой «ключ/значение». Ключом для рассматриваемой задачи является совокупность геометрических параметров вертикального слоя структуры (без учёта толщины) и параметров, задающих освещение. Следующее соотношение является примером описания такой совокупности параметров.

К = {й , т , Ь , п , й , т , Ь , п , 1,0, ф) .

1 I X’ X’ X’ X’ У’ у’ у’ у’ ’

Здесь йх, йу - периоды двумерной структуры

Ьх, Ьу - размер горизонтальных неоднородностей в

слое; тх,ту - количество этих неоднородностей;

пх, пу - индекс рефракции этих неоднородностей.

Последние три параметра описывают условия освещения.

Значением в рассматриваемой паре являются рассчитанные собственные значения и собственные вектора для одного слоя

V = V2 ={Eig} .

На рис. 5 изображена блок-схема метода RCWA в терминах технологии MapReduce. Функция Map получает на вход описание анализируемой структуры в виде ключа К2. Данный ключ состоит из набора ключей Kj, которые задают слои структуры, а также из вектора t, который описывает толщины этих слоёв

К 2 = К 3 ={К! , t} .

Рис. 5. Блок-схема метода RCWA, реализованного для технологии MapReduce

Далее функция Map по ключу К2 выполняет поиск промежуточных данных в хранилище. Таким образом, выходными данными функции Map являются пары К2 /[ V2 ]. Т.е. каждой структуре ставятся в соответствие промежуточные данные о слоях. Этот список промежуточных данных может содержать пустые величины, если необходимая промежуточная информация не находится в хранилище.

Найденные пары К2 /[ V2 ] являются входными параметрами функции Reduce. Данная функция рассчитывает недостающие промежуточные данные, записывает их в хранилище, затем формирует систему линейных уравнений и решает её.

В данной работе будем считать, что выходным параметром является дифракционная эффективность рассчитываемых порядков. Однако приводимые рассуждения верны и для других выходных параметров, например, для распределения электромагнитного поля в так называемой ближней зоне [18]. Таким образом, в рассматриваемой задаче

V3 = {R, T}.

Здесь R, T - энергетическая эффективность дифракционных порядков, соответственно, отражения и пропускания.

Результаты вычислительных экспериментов на Hudoop-кластере

Вычислительные эксперименты выполнялись на сравнительно небольшом Hadoop-кластере, состоящем из четырёх узлов. Каждый узел кластера содержал CPU Intel Xeon 2,13 GHz и RAM 4 GB.

На одном из узлов был запущен namenode-сервер, на другом - jobtracker-сервер. Оставшиеся два узла кластера использовались в качестве рабочих узлов. На каждом из рабочих узлов одновременно могло выполняться по два mapper и по два reducer, что соответствует параметрам, которые установлены по умолчанию. Остальные параметры hadoop-кластера также были равны значениям, принятым по умолчанию. В эксперименте измерялись скорости параллельного чтения из файловой системы HDFS и параллельной записи в эту файловую систему.

Усреднённое по выборке экспериментов значение скорости параллельного чтения составило r = 460 мБ/с. Здесь и далее аббревиатура мБ означает «мегабайт». Скорость записи оказалась равна w = 60 мБ/с. Задача оптимизации данных значений путём выбора соответствующих настроек кластера и параметров вычислительной задачи в данной работе не ставилась. Поэтому вышеприведённые величины r и w считаются фиксированными.

Оценим целесообразность предложенной схемы реализации метода RCWA. Для этого сравним время расчёта в соответствии с традиционным алгоритмом со временем расчёта по предложенной схеме. Основное время при расчёте по методу RCWA затрачивается на вычисление собственных векторов матриц, которые соответствуют слоям моделируемой наноструктуры.

Язык программирования java наиболее удобен для реализации гибких приложений в рамках программного пакета Hadoop. Поэтому на java был реализован алгоритм нахождения собственных векторов комплексной матрицы общего вида.

На рис. 6 показана зависимость времени расчёта собственных векторов матрицы от количества учи-

тываемых положительных дифракционных порядков для одной координаты. Здесь предполагается, что для каждой из координат это значение равно N.

250

200

150

100

50

О

Java MKT.

/7

Л

10

8

6

4

2

О

3 4 5 6 7 8 9 10 11 12

Рис. б. Зависимость времени расчёта собственных векторов матрицы от N для jam-реализации расчёта собственных векторов и реализации с использованием пакета Intel MKL

Левая ось Y на графике, изображённом на рис. 6, соответствует результатам работы java-приложения. Для сравнения правая ось Y этого же графика содержит результаты, которые были получены с помощью пакета Intel MKL.

Определим следующие параметры: s - размер загружаемого файла (МБ), который обрабатывается одним mapper; f - доля загруженного файла, которая используется mapper для нахождения собственных векторов (нормированная величина); m - усреднённое количество использований одной матрицы из загруженного файла; a (N) - размер матрицы слоя (МБ), в которой содержатся вычисленные собственные вектора; e (N) - время вычисления собственных векторов для одной матрицы слоя структуры (с);

L - общее количество слоёв во всех структурах, которые обрабатываются одним mapper.

Тогда условие целесообразности использования предложенной схемы расчёта можно записать в следующем виде: время расчёта собственных векторов для всех анализируемых одним mapper структур (L • e) должно быть больше времени, которое затрачивается на: (1) чтение из HDFS файла размера s , (2) расчёт не найденных в этом файле собственных векторов анализируемых структур, (З) запись рассчитанных собственных векторов в HDFS.

Описанное выше условие можно представить в виде линейной зависимости величины L от коэффициента совокупного использования загруженного файла f • m :

где

a2

k (N ) = p (N ) =

s (e (N )• w - a (N)) ’

a

На рис. 7 заштрихована зона, для которой соотношение (4) выполняется. Наклон прямой к на рис. 7 определяет скорость, с которой должен расти коэффициент совокупного использования загруженного файла при возрастании Ь .

Рис. 7. Зависимость величины Ь от коэффициента совокупного использования загруженного файла / • т; заштрихована зона, для которой выполняется соотношение

На рис. 8 показана зависимость к от количества учитываемых дифракционных порядков N при использовании программной реализации на языке ]ауа (а) и реализации с использованием пакета Ійеі МКЬ (б).

а)

0,015

0,010

0,005

О

0,250

0,200

0,150

0,100

0,050

О

15 мБ/с 30мБ/с 45 мБ/с 60 мБ/с

5 6

8 9 10 11 12

15 мБ/с

45 л чБ/с лБ/с

SaiSi-

б) 3 4 5 6 7 8 9 10 11 12

Рис. 8. Зависимость к от количества учитываемых дифракционных порядков N при использовании программной реализации на языке]ауа

На рис. 8а видно, что наклон прямой из соотношения (4) очень мал. Таким образом, при использовании относительно медленной ]ауа-реализации расчёта собственных векторов нет необходимости стремиться существенно увеличивать коэффициент совокупного использования загруженного файла, чтобы остаться в рамках целесообразности предлагаемого подхода. Для быстрой МКЬ-реализации (рис. 8б) такая необходимость появляется. В этом случае могут быть рассмотрены различные варианты использования мета-данных.

Заключение

В работе рассмотрены вычислительные проблемы, возникающие при моделировании и оптимизации сложных нанофотонных структур методом Фурье-мод (RCWA). Предложено использование инфраструктуры облачных вычислений для решения этих проблем. Такой подход позволяет эффективно задействовать потенциал современных вычислительных средств для улучшения масштабируемости решаемой вычислительной задачи и повышения отказоустойчивости используемой вычислительной системы, что открывает новые возможности в решении задач дифракционной нано-фотоники [19 - 21], магнитооптики [22 - 23] и плаз-моники [24 - 25].

Благодарности Работа выполнена при поддержке программы фундаментальных исследований Президиума РАН «Проблемы создания национальной научной распределительной информационно-вычислительной

среды на основе развития GRID технологий и современных телекоммуникационных сетей», гранта Президента РФ поддержки ведущих научных школ № НШ-7414.2010.2 и грантов РФФИ № 10-07-00553, № 11-07-00153.

Литература

1. Armbrust, M. A view of cloud computing / M. Armbrust [et al.] // Communications of the ACM. - 2010. -Vol. 53(4) - P. 50-58.

2. Volotovskiy, S.G. Distributed software for parallel calculation of diffractive optical elements on web-server and cluster / S.G. Volotovskiy, N.L. Kazanskiy, P.G. Seraphi-movich and S.I. Kharitonov // Proc. IASTED. - ACTA Press, 2002. - P. 69-73.

3. Snir, M. MPI-The Complete Reference, Volume 1: The MPI Core / M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra // MIT Press Cambridge, MA, 1998.

4. Dean, J. MapReduce: a flexible data processing tool / J. Dean, S. Ghemawat // Communications of the ACM. -2010. - Vol. 53, N 1. - P. 72-77.

5. Голуб, М.А. Вычислительный эксперимент с элементами плоской оптики / М.А. Голуб, Н.Л. Казанский, И.Н. Сисакян, В. А. Сойфер // Автометрия. - 1988. -№ 1. - С. 70-82.

6. Казанский, Н.Л. Математическое моделирование оптических систем / Н.Л. Казанский. - Самара: СГАУ, 2005. - 240 с.

7. Kazanskiy, N.L. Harnessing the guided-mode resonance to design nanooptical transmission spectral filters / N.L. Kazanskiy, P.G. Serafimovich and S.N. Khonina // Optical Memory & Neural Networks (Information Optics).

- 2010. - Vol. 19, N 4. - P. 318-324.

8. Golovashkin, D.L Solving Diffractive Optics Problem using Graphics Processing Units / D.L. Golovashkin and N.L. Kazanskiy // Optical Memory and Neural Networks (Information Optics). - 2011. - Vol. 20, N 2. - P. 85-89.

9. Moharam, M.G. Stable implementation of the rigorous coupled-wave analysis for surface-relief gratings: enhanced transmittance matrix approach / M.G. Moharam, Drew A. Pommet and Eric B. Grann // J. Opt. Soc. Am. A.

- 1995, May. - Vol. 12(5). - P. 1077-1086.

10. Li, L. Use of Fourier series in the analysis of discontinuous periodic structures / Lifeng Li // J. Opt. Soc. Am. A. -1996. - Vol. 13(9). - P. 1870-1876.

11. Bezus, E.A Evanescent-wave interferometric nanoscale photolithography using guided-mode resonant gratings / E.A. Bezus, L.L. Doskolovich and N.L. Kazanskiy // Microelectronic Engineering. - 2011. - Vol. 88, N 2. - P. 170-174.

12. Bezus, E.A. Scattering suppression in plasmonic optics using a simple two-layer dielectric structure / E.A. Bezus, L.L. Doskolovich and N.L. Kazanskiy // Applied Physics Letters. - 2011. - Vol. 98, N 22. - P. 221108 -221111.

13. Hadoop.apache.org / Проверено 15.06.2011.

14. Venner, J. Pro Hadoop / J. Venner // Springer, 2009.

15. Воеводин, В.В. Отображение проблем вычислительной математики на архитектуру вычислительных систем / В.В. Воеводин // Вычислительные методы и программирование: новые информационные технологии.

- 2000. - Т. 1, № 2. - С. 37-44.

16. Попов, С.Б. Моделирование информационной структуры параллельной обработки изображений / С.Б. Попов // Компьютерная оптика. - 2010. - Т. 34, № 2. -С. 231-242.

17. Computer Image Processing, Part I: Basic concepts and theory / V.A. Soifer, editor. - VDM Verlag Dr. Muller e.K, 2009. - 283 p.

18. Born, M. Principles of Optics / M. Born, E. Wolf. - Oxford: Pergamon, 1980.

19. Сойфер, В.А. Нанофотоника и дифракционная оптика / В.А. Сойфер // Компьютерная оптика. - 2008. - Т. 32, № 2. - С. 110-118.

20. Сойфер, В.А. Дифракционные оптические элементы в

устройствах нанофотоники / В.А. Сойфер,

В.В. Котляр, Л.Л. Досколович // Компьютерная оптика. - 2009. - Т. 33, № 4. - С. 352-368.

21. Казанский, Н.Л. Использование волноводного резонанса для создания нанооптических спектральных пропускающих фильтров / Н.Л. Казанский, П.Г. Серафимович, С.Б. Попов, С.Н. Хонина // Компьютерная оптика. - 2010. - Т. 34, № 2. - С. 162-168.

22. Belotelov, V.I Extraordinary magneto-optical effects and transmission through metal-dielectric plasmonic systems / V.I. Belotelov, L.L. Doskolovich, A.K. Zvezdin // Physical Review Letters. - 2007. - Vol. 98, N 7.

23. Быков, Д.А. Экстраординарный магнитооптический эффект изменения фазы дифракционных порядков в диэлектрических дифракционных решётках / Д. А. Быков, Л.Л. Досколович, В.А. Сойфер, Н.Л. Казанский // ЖЭТФ. - 2010. - Т. 138, № 6(12). - С. 1093-1102.

24. Безус, Е.А. Расчёт дифракционных структур для фокусировки поверхностных электромагнитных волн / Е.А. Безус, Л.Л. Досколович, Н.Л. Казанский, В.А. Сой-фер, С.И. Харитонов, М. Пицци, П. Перло // Компьютерная оптика. - 2009. - Т. 33, № 2. - С. 185-192.

25. Bezus, E.A. Design of diffractive lenses for focusing surface plasmons / E.A. Bezus, L.L. Doskolovich, N.L. Kazanskiy, V.A. Soifer and S.I. Kharitonov // Journal of Optics. - January 2010. - Vol. 12, N 1. - P. 015001015008.

References

1. Armbrust, M. A view of cloud computing / M. Armbrust [et al.] // Communications of the ACM. - 2010. -Vol. 53(4). - P. 50-58.

2. Volotovskiy, S.G. Distributed software for parallel calculation of diffractive optical elements on web-server and cluster / S.G. Volotovskiy, N.L. Kazanskiy, P.G. Seraphi-

movich and S.I. Kharitonov. - Proc. IASTED, ACTA Press, 2002. - P. 69-73.

3. Snir, M. MPI-The Complete Reference, Volume 1: The MPI Core / M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra // MIT Press Cambridge, MA, - 1998.

4. Dean, J. MapReduce: a flexible data processing tool / J. Dean, S. Ghemawat // Communications of the ACM. -2010. - Vol. 53, N 1. - P. 72-77.

5. Golub, M.A. Computational experiment with plane optical elements / M.A. Golub, N.L. Kazanskii, I.N. Sisakyan, V.A. Soifer // Optoelectronics, Instrumentation and Data Processing. - 1988. - N 1. - P. 78-89. - (in Russian).

6. Kazanskiy, N.L. Mathematical simulation of optical systems / N.L. Kazanskiy. - Samara: “SSAU” Publisher, 2005. - 240 p. - (in Russian).

7. Kazanskiy, N.L. Harnessing the guided-mode resonance to design nanooptical transmission spectral filters / N.L. Kazanskiy, P.G. Serafimovich and S.N. Khonina // Optical Memory & Neural Networks (Information Optics).

- 2010. - Vol. 19, N 4. - P. 318-324.

8. Golovashkin, D.L. Solving Diffractive Optics Problem using Graphics Processing Units / D.L. Golovashkin and N. L. Kazanskiy // Optical Memory and Neural Networks (Information Optics). - 2011. - Vol. 20, N 2.

- P. 85-89.

9. Moharam, M.G. Stable implementation of the rigorous coupled-wave analysis for surface-relief gratings: enhanced transmittance matrix approach / M.G. Moharam, Drew A. Pommet and Eric B. Grann // J. Opt. Soc. Am. A.

- 1995, May. - V. 12(5). - P. 1077-1086.

10. Li, L. Use of Fourier series in the analysis of discontinuous periodic structures / Lifeng Li // J. Opt. Soc. Am. A. -1996. - Vol. 13(9). - P. 1870-1876.

11. Bezus, E.A. Evanescent-wave interferometric nanoscale photolithography using guided-mode resonant gratings / E.A. Bezus, L.L. Doskolovich and N.L. Kazanskiy // Microelectronic Engineering. - 2011. - Vol. 88, N 2. -P. 170-174.

12. Bezus, E.A. Scattering suppression in plasmonic optics using a simple two-layer dielectric structure / E.A. Bezus, L.L. Doskolovich, and N.L. Kazanskiy // Applied Physics Letters. - 2011. - Vol. 98, N 22. - P. 221108-221111.

13. Hadoop.apache.org / Tested 15.06.2011.

14. Venner, J. Pro Hadoop / J. Venner // Springer, 2009.

15. Voevodin, V.V. Mapping computational problems in computer architecture / V.V. Voevodin // Computational Methods and Programming: New Information Technologies. - 2000. - Vol. 1, N 2. - P. 37-44. - (in Russian).

16. Popov, S.B. Modeling the task information structure in parallel image processing / S.B. Popov// Computer optics.

- 2010. - Vol. 34, N 2. - P. 231-242. - (in Russian).

17. Computer Image Processing, Part I: Basic concepts and theory / V.A. Soifer, editor. - VDM Verlag Dr. Muller e.K., 2009. - 283 p.

18. Born, M. Principles of Optics / M. Born, E. Wolf. - Oxford: Pergamon, 1980.

19. Soifer, V.A. Nanophotonics and diffractive optics / V.A. Soifer // Computer Optics. - 2008. - Vol. 32, N 2. -P. 110-118. - (in Russian).

20. Soifer, V.A. Diffractive optical elements in nanophotonic devices / V.A. Soifer, V.V. Kotlyar, L.L. Doskolovich // Computer Optics. - 2009. - Vol. 33, N 4. - P. 352-368. -(in Russian).

21. Kazanskiy, N.L. Using guided-mode resonance to design nano-optical spectral transmission filters / N.L. Kazanskiy, P.G. Serafimovich, S.B. Popov and S.N. Khonina // Computer Optics. - 2010. - Vol. 34, N 2. - P. 162-168. - (in Russian).

22. Belotelov, V.I. Extraordinary magneto-optical effects and transmission through metal-dielectric plasmonic systems / V.I. Belotelov, L.L. Doskolovich, A.K. Zvezdin // Physical Review Letters. - 2007. - Vol. 98, N 7.

23. Bykov, D.A. Extraordinary Magneto-Optical Effect of a Change in the Phase of Diffraction Orders in Dielectric Diffraction Gratings / D.A. Bykov, L.L. Doskolovich, V.A. Soifer, N.L. Kazanskiy // Journal of Experimental and Theoretical Physics. - 2010. - Vol. 111, N 6. -P. 967-974. - (in Russian).

24. Bezus, E.A. The design of the diffractive optical elements to focus surface plasmons / E.A. Bezus, L.L. Doskolovich, N.L. Kazanskiy, V.A. Soifer, S.I. Kharitonov, M. Pizzi, P. Perlo // Computer Optics. - 2009. - Vol. 33, N 2. -P. 185-192. - (in Russian).

25. Bezus, E.A. Design of diffractive lenses for focusing surface plasmons / E.A. Bezus, L.L. Doskolovich, N.L. Kazanskiy, V.A. Soifer and S.I. Kharitonov // Journal of Optics. - January 2010. - Vol. 12, N 1. - P. 015001-015008.

CLOUD COMPUTING FOR NANOPHOTONICS SIMULATIONS

N.L. Kazanskiy, P.G. Serafimovich Image Processing Systems Institute RAS,

S.P. Korolyov Samara State Aerospace University

Abstract

Design and analysis of complex nanophotonic and nanoelectronic structures require significant computing resources. Cloud computing infrastructure allows distributed parallel applications to achieve greater scalability and fault tolerance. The problems of effective use of high-performance computing systems for modeling and simulation of subwavelength diffraction gratings are considered. Rigorous Coupled-Wave Analysis (RCWA) method is adapted to cloud computing environment. In order to accomplish this, data flow of the RCWA method is analyzed and CPU-intensive operations are converted to data-intensive operations. The generated data sets are structured in accordance with the requirements of MapReduce technology.

Key words: cloud computing; subwavelength diffraction grating; optimization; Maxwell's equations, MapReduce.

Сведения об авторах

Казанский Николай Львович, 1958 года рождения. В 1981 году с отличием окончил Куйбышевский авиационный институт (КуАИ, ныне - Самарский государственный аэрокосмический университет имени академика С.П. Королёва - СГАУ) по специальности «Прикладная математика». Доктор физико-математических наук (1996 год), профессор, работает заместителем директора по научной работе и заведующим лабораторией дифракционной оптики Института систем обработки изображений РАН (ИСОИ РАН), профессором кафедры технической кибернетики СГАУ. Руководитель научнообразовательного центра компьютерной оптики, созданного совместно ИСОИ РАН и СГАУ, заведующий базовой (СГАУ в ИСОИ РАН) кафедрой высокопроизводительных вычислений. Является членом международных научных обществ SPIE и IAPR. Казанский Н.Л. - специалист в области дифракционной оптики, математического моделирования, обработки изображений и нанофотоники. В списке научных работ Н.Л. Казанского 240 статей, 7 монографий, 35 авторских свидетельств и патентов.

Страница в интернете: http://www.ipsi.smr.ru/staff/kazansky.htm .

E-mail: kazansky@smr.ru.

Nikolay Lvovich Kazanskiy (b. 1958) graduated with honours (1981) from the S. P. Korolyov Kuibyshev Aviation Institute (presently, S. P. Korolyov Samara State Aerospace University (SSAU)), majoring in Applied Mathematics. He received his Candidate in Physics & Maths (1988) and Doctor in Physics & Maths (1996) degrees from Samara State Aerospace University. He is the vice-director for research and the head of Diffractive Optics laboratory at the Samara Image Processing Systems Institute of the Russian Academy of Sciences (IPSI RAS), holding a part-time position of professor at SSAU’s Technical Cybernetics sub-department. He is the manager of the Research & Education Center of Computer Optics established jointly by SSAU and IPSI RAS, holding the chair of SSAU’s base sub-department of High-Performance Computing at IPSI RAS. He is a SPIE and IAPR member. He is co-author of 240 scientific papers, 7 monographs, and 35 inventions and patents. His current research interests include diffractive optics, mathematical modeling, image processing, and nanophotonics.

Серафимович Павел Григорьевич, кандидат физико-математических наук; старший научный сотрудник Учреждения Российской академии наук Институт систем обработки изображений РАН. Области научных интересов: моделирование и проектирование нано-оптических устройств, методы исследования фотонных кристаллов, разработка и исследование программных средств распределенной и параллельной обработки крупноформатных изображений.

E-mail: serp@smr.ru .

Pavel Grigorievich Serafimovich, Candidate in Physics and Mathematics; senior researcher at the Image Processing Systems Institute of RAS. His areas of research are nanooptics, simulation and design of photonic crystals, parallel and distributed image processing.

Поступила в редакцию 13 июля 2011 г.