Их схема, однако, предполагала определенный тип вычислительного поведения, которого фактически не придерживаются большинство современных микросхем. На прошлой неделе на Международной конференции по параллельным архитектурам и методам компиляции — той же конференции, где они впервые представили свою схему — исследователи представили обновленную версию, которая больше соответствует существующим конструкциям микросхем и содержит несколько дополнительных улучшений.
Существенная проблема, создаваемая многоядерными микросхемами, заключается в том, что они выполняют инструкции параллельно, тогда как в традиционной компьютерной программе инструкции записываются последовательно. Ученые-информатики постоянно работают над способами облегчить распараллеливание для программистов.Первоначальная версия схемы исследователей Массачусетского технологического института, называемая Тардис, обеспечивала соблюдение стандарта, называемого последовательной согласованностью. Предположим, что разные части программы содержат последовательности инструкций ABC и XYZ.
Когда программа распараллеливается, A, B и C назначаются ядру 1; X, Y и Z к ядру 2.Последовательная согласованность не требует какой-либо связи между относительным временем выполнения инструкций, назначенных разным ядрам. Это не гарантирует, что ядро 2 выполнит свою первую инструкцию — X — до того, как ядро 1 перейдет на свою вторую — B. Это даже не гарантирует, что ядро 2 начнет выполнение своей первой инструкции — X — до того, как ядро 1 завершает свой последний — C. Все, что он гарантирует, это то, что на ядре 1 A выполнится перед B и B перед C; а на ядре 2 X будет выполняться перед Y и Y перед Z.Первым автором новой статьи стал Сянъяо Ю, аспирант в области электротехники и информатики.
К нему присоединились его научный руководитель и соавтор более ранней статьи, Шрини Девадас, профессор Эдвина Сибли Вебстера на факультете электротехники и информатики Массачусетского технологического института, а также Хунчжэ Лю из региональной средней школы Алгонквина и Итан Цзоу из средней школы Лексингтона. , который присоединился к проекту через Программу исследований в области математики, инженерии и естественных наук Массачусетского технологического института (PRIMES).Запланированное расстройствоНо что касается чтения и записи данных — единственного типа операций, которым занимается такая схема управления памятью, как Tardis, — большинство современных микросхем не обеспечивают даже этого относительно скромного ограничения.
Стандартный чип от Intel может, например, назначить ядру последовательность инструкций чтения / записи ABC, но позволить ему выполняться в порядке ACB.Снижение стандартов консистенции позволяет чипам работать быстрее. «Допустим, ядро выполняет операцию записи, а следующая инструкция — это чтение», — говорит Ю. «При последовательной согласованности я должен дождаться завершения записи. Если я не нахожу данные в моем кэше [небольшом локальном банке памяти, в котором ядро хранит часто используемые данные], я должен перейти в центральное место. который управляет правом собственности на данные ".«Это может занять много сообщений в сети», — продолжает он. «И в зависимости от того, хранит ли данные данные другое ядро, вам может потребоваться связаться с этим ядром.
Но как насчет следующего чтения? Эта инструкция находится там и не может быть обработана. выдающийся, я могу прочитать следующую инструкцию. А таких инструкций может быть много, и все они могут быть выполнены ».Tardis использует пространство чипа более эффективно, чем существующие схемы управления памятью, поскольку он координирует операции с памятью ядер в соответствии с «логическим временем», а не хронологическим временем.
В Tardis каждый элемент данных в общем банке памяти имеет собственную отметку времени. Каждое ядро также имеет счетчик, который фактически отмечает время выполняемых им операций. Нет необходимости в согласовании счетчиков двух ядер, и любое данное ядро может продолжать обрабатывать данные, которые с тех пор были обновлены в основной памяти, при условии, что другие ядра рассматривают его вычисления как выполненные ранее.
Разделение трудаЧтобы позволить Tardis приспособиться к более мягким стандартам согласованности, Ю и его соавторы просто дали каждому ядру два счетчика: один для операций чтения и один для операций записи. Если ядро решает выполнить чтение до завершения предыдущей записи, оно просто дает ему более низкую временную отметку, и чип в целом знает, как интерпретировать последовательность событий.У разных производителей микросхем разные правила согласованности, и большая часть нового документа описывает, как координировать счетчики как в пределах одного ядра, так и между ядрами, чтобы обеспечить соблюдение этих правил. «Поскольку у нас есть временные метки, это позволяет очень легко поддерживать различные модели согласованности», — говорит Ю. «Традиционно, когда у вас нет отметки времени, вам нужно спорить о том, какое событие происходит первым в физическом времени, и это немного сложно».
«Новая работа важна, потому что она напрямую связана с самой популярной моделью расслабленной согласованности, которая есть в современных чипах Intel», — говорит Ларри Рудольф, вице-президент и старший научный сотрудник Two Sigma, хедж-фонда, который использует искусственный интеллект и распределенные системы. вычислительные методы для разработки торговых стратегий. «Sun Microsystems и другие компании исследовали множество различных моделей согласованности, большинство из которых сейчас вышли из бизнеса. Теперь это все Intel. Так что соответствие модели согласованности, популярной для текущих процессоров Intel, невероятно важно».
Как человек, работающий с обширной системой распределенных вычислений, Рудольф считает, что наибольшей привлекательностью Tardis является то, что она предлагает единую структуру для управления памятью на уровне ядра, на уровне компьютерной сети и на промежуточных уровнях. «Сегодня у нас есть кэширование в микропроцессорах, у нас есть модель DRAM [динамическая память с произвольным доступом], а затем у нас есть хранилище, которое раньше было дисковым накопителем», — говорит он. «Таким образом, время, необходимое для доступа к кэшу и доступу к DRAM, составляло примерно 100 раз, а затем — 10 000 или более раз, чтобы добраться до диска. С появлением флэш-памяти и новых энергонезависимых ОЗУ появляется будет целая иерархия, которая намного лучше. Что действительно интересно, так это то, что Тардис потенциально является моделью, которая будет охватывать согласованность между процессорами, хранилищем и распределенными файловыми системами ».
