Ученые из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института (MIT) представили принципиально новый способ управления памятью на компьютерных чипах. Он подразумевает более оптимальное использование электронной схемы. В чипах с сотнями ядер разработанная исследователями схема может освободить до 25% памяти. Это позволит значительно повысить эффективность производимых вычислений.
В основе схемы заложен определенный тип вычислительного "поведения". Большинство современных микросхем, по сути, не используют его возможности. На проходившей недавно Международной конференции, посвященной проблемам параллельных архитектур и методам компиляции, представители MIT впервые заявили о том, что обновленная схема гораздо лучше согласуется с существующими конструкциями чипов и имеет несколько дополнительных преимуществ.
У многоядерных чипов есть одна существенная проблема. Она заключается в параллельном выполнении поступающих команд. В то же самое время в традиционных компьютерных программах заложен алгоритм, рассчитанный на последовательное выполнение команд. Специалисты, работающие в области теории вычислительных машин и систем, постоянно заняты решением проблемы, позволяющей облегчить задачу программистам и сделать "распараллеливание" проще.
Разработка ученых из MIT называется Tardis. Отправной точкой схемы является принудительное выполнение стандарта, называемого последовательной согласованностью. Предположим, что различные части программы содержат последовательности команд ABC и XYZ. Когда программа распараллеливается, выполнением команд А, В, и С занимается ядро 1; командами X, Y, Z будет заниматься ядро 2.
Последовательная согласованность не гарантирует того, что время выполнения команд, приписанных к разным ядрам, будет совпадать. Совсем не факт, что ядро 2 завершит свою первую команду X до того момента, когда ядро 1 перейдет к выполнению своей второй команды - B. Может даже случиться так, что ядро 2 только приступит к выполнению первой команды - X, а ядро 1 в этот момент будет завершать свою последнюю команду C. Все, что можно ожидать от стандартного алгоритма, это то, что на ядре 1 будут последовательно выполняться команды, А, B и C; а на ядре 2 друг за другом будут выполняться команды X, Y и Z. Пока не будет выполнена одна команда, ядро не приступит к выполнению другой.
Запланированное нарушение порядка
На самом деле Tardis занимается всего-навсего оптимизацией процессов записи и чтения данных. Современный чип от Intel, к примеру, мог бы назначить ядру выполнение команд чтения/записи ABC, но могла бы быть задана нестандартная последовательность выполнения команд - ACB.
Новые стандарты, ослабляющие требования к последовательности выполнения команд, позволяют чипам работать быстрее. "Скажем, в данный момент ядро выполняет операцию записи, а следующей будет чтение", - говорит Синь Дяо Ю (Xiangyao Yu), ведущий руководитель исследования. - "В соответствии со стандартным правилом последовательности я должен ждать, когда закончится запись.
Tardis использует возможности чипа гораздо эффективнее, чем существующие схемы управления памятью, поскольку координирует операции с памятью ядер в соответствии с логическим, а не хронологическим временем. С Tardis каждый элемент данных, содержащихся в общем банке памяти, имеет свой собственный штамп времени. Также каждое ядро снабжено счетчиком, который проставляет штампы времени на всех операциях, которые оно выполняет. Счетчикам, стоящим на ядрах, нет необходимости согласовывать свои действия. Любое из ядер может давать приоритет данным, которые были обновлены в основной памяти. Но другие ядра должны будут воспринимать эти вычисления так, будто они произошли раньше по времени.
Разделение труда
Чтобы подключить Tardis к работе с менее строгими стандартами согласованности, Синь Дяо Ю и его коллеги дали каждому ядру по два счетчика - один для операций чтения, а другой для операций записи. Если ядро решает выполнить операцию чтения до того, как завершится предшествующая запись, чтению просто присваивается более низкая отметка времени. По этой метке чип узнает, как интерпретировать последовательность событий.
У чипов разных производителей имеются разные правила согласованности. Подавляющая часть научной статьи посвящена проблеме координирования счетчиков, как для одного ядра, так и в отношении сразу нескольких ядер. Соблюдение правил последовательности выполнения операций, все же, является основным требованием.
Большую важность новой работы ученых по достоинству оценил Ларри Рудольф (Larry Rudolph), вице-президент и старший научный сотрудник одного из хедж-фондов, который использует технологию искусственного интеллекта и распределенную обработку данных для создания торговых стратегий.
"Было много различных моделей согласованности данных, которые представила в свое время компания Sun Microsystems и другие разработчики, большинство из которых в настоящий момент уже оставили свой бизнес. Теперь дело за Intel", - считает Ларри Рудольф.
Наибольшая привлекательность Tardis заключается в том, что эта разработка предлагает единую платформу для управления памятью на уровне ядра, на уровне компьютерной сети, а также на уровнях между ними. Что действительно интересно, так это то, что потенциально Tardis представляет собой модель, которая сможет осуществлять управление согласованностью операций между процессорами, средствами хранения данных и распределенными файловыми системами.
Открыть счет для торговли акциями высокотехнологичных компаний