Ожидаете ли вы, что CLR скоро адаптирует NUMA? - PullRequest
5 голосов
/ 10 марта 2009

Похоже, что NUMA обещает параллельное программирование, и, если я не ошибаюсь, в текущем последнем процессоре есть встроенная поддержка, как в i7.

Ожидаете ли вы, что CLR скоро адаптирует NUMA?

РЕДАКТИРОВАТЬ: Под этим я подразумеваю поддержку и использование этого преимущества.

Ответы [ 4 ]

2 голосов
/ 10 марта 2009

NUMA - это аппаратная архитектура, которая не обязательно должна быть принята непосредственно в CLR. Подробнее см. NUMA FAQ.

Как говорится, есть преимущества в том, чтобы программное обеспечение осознало его архитектуру. Люди из команды CLR, похоже, знают о проблемах с когерентностью кэша и т. Д., Поэтому я готов поспорить, что для этого есть некоторые оптимизации. Кроме того, проект планировщика в параллельной библиотеке задач в C # 4, по-видимому, является перспективным для получения более широких преимуществ архитектур NUMA.

1 голос
/ 11 марта 2009

С NUMA вы получаете контроллер памяти процессора. У вас есть это с Intel QuickPath и AMD HyperTransport. Дело в том, насколько я знаю, в настоящее время нет ни материнских плат ни для i7, ни для Phenom, которые бы поддерживали более одного процессора.

В любом случае, это очень низкий уровень, который не имеет ничего общего с CLR. Это зависит от операционной системы, чтобы воспользоваться этим.

1 голос
/ 10 марта 2009

Все ответы здесь верны, если выделить NUMA в качестве аппаратной архитектуры. Интересно было бы прочитать эту статью Джо Даффи о параллелизме и CLR.

1 голос
/ 10 марта 2009

В некотором смысле, NUMA ортогональна модели памяти CLR. Другими словами, аппаратное обеспечение / ОС имеет свой метод доступа, CLR предъявляет свои требования к модели памяти, и от разработчика CLR зависит, как играть вместе. На практике это сложно, и у есть недостатки в текущей реализации . Но так как CLR уже работает на оборудовании, поддерживающем NUMA, я не совсем уверен, что вы подразумеваете под "адаптацией NUMA" в ближайшее время .?

...