| 
		 | 
		 | 
	
	| 
Канал Игры Мечты: «Что такое real-time» | 
	| 
	 | 
	 | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		Ну рилтайм тоже появился не в связи с геймдевом. Я уж не говорю о том, что TBS довольно сложно характеризовать как real-time задачу. А вот GSM-пакет, например, должен быть обработан в течение таймслота в 125 мкс. Если не успел - выбрасывается на мороз.
 
Но согласен, что довольно бессмысленно обсуждать неизвестную проблему, возникшую перед неуловимым неизвестным Джо при проектировании неизвестной игры и потребовавшую неизвестно каких аллокаторов.
 
 
	  | Minx : | 
	 
	
	  | 
Можно банально экономить память
 | 
	 
 
 
Так это ж наверняка просадит производительнось. 
        	 _________________ Конец света в конце тоннеля 
  Последний раз редактировалось: Diff (21:02 27-09-2015), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		
	  | Diff : | 
	 
	
	  | 
Ну рилтайм тоже появился не в связи с геймдевом.
 | 
	 
 
 
Причина требований к производительности - real-time. При чем тут первое до геймдева?
 
 
	  | Diff : | 
	 
	
	  | 
Я уж не говорю о том, что TBS довольно сложно характеризовать как real-time задачу. 
 | 
	 
 
 
В TBS как и любой другой программе, где человек не любит ждать, есть требования real-time. Естественно намного более слабые, нежели в каком-нибудь 3D Action. Например, будет очень плохо если игра будет грузиться 10 минут на топовой машине, минуту делать save, а ход ждать бесконечность.
 
 
По поводу производительности TBS мне вспоминается интересный древний пример игры Chessmaster 2000, где в качестве уровня сложности можно было задавать время сколько думает компьютер (например 3 секунды). Что прикольно, когда мы играли на EC-1841, то не без труда, но обыгрывали. Но если его же запустить на тройке, то он всех рвал просто в тряпки. И ещё, эта программа думала в то время, когда думал игрок. Поэтому если играть быстро, то копьютер думал хуже.
 
 
Это в качестве примера того, как в TBS могут решаться проблемы AI-real-time. AI можно сделать чуть более глупым, что не сложно, и от этого игра особо не пострадает.
 
 
Поэтому пример AI от Джо мне не нравится. Но вот когда ему нужно было делать Braid'a для X-Box'a с жесткими требованиями, то это уже намного понятнее.
 
 
	  | Diff : | 
	 
	
	  | 
Так это ж наверняка просадит производительнось. 
 | 
	 
 
 
В современных системах cache miss может замедлить на 2 порядка. Если вписаться в кэш, то такого штрафа не будет.
 
 
Мы ~ 1.5 года назад оптимизировали высоконагруженную систему, и по этому фактору удалось поднять производительность ~ в 3 раза. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω 
  Последний раз редактировалось: Minx (23:18 27-09-2015), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		
	  | Minx : | 
	 
	
	  | 
Причина требований к производительности - real-time. При чем тут первое до геймдева?
 | 
	 
 
 
Это к тому что проблема не является специфичной для предметной области и существовала еще до оной области появления.
 
 
	  | Minx : | 
	 
	
	  | 
В TBS как и любой другой программе, где человек не любит ждать, есть требования real-time.
 | 
	 
 
 
"Человек не любит ждать" - это НЕ  real-time   .
 
rt - это когда как в примере выше, если ответ пришел за 125 мкс - то все прекрасно и слышимость отличная, а если за 126 - то кваканье и слышно одно слово из трех. Переход количества в качество, таксказать. Точно так же видеоигра пропускает фреймы если железо не поспевает за игровыми событиями. Но это не в ТБС.
 
Не то чтобы я придираюсь, но давать собственные интерпретации устоявшимся терминам = увязнуть в дискуссии за корабли большого театра.
 
 
	  | Minx : | 
	 
	
	  | 
когда мы играли на EC-1841, то не без труда, но обыгрывали. Но если его же запустить на тройке, то он всех рвал просто в тряпки.
 | 
	 
 
 
Та же фигня. Помню, это было большим разочарованием от апгрейда. Только я обыгрывал ЕС-1842!  
 
Еще я долго искал под андроид похожую программу, которая  как CM могла бы анализировать сыгранную партию и оценивать позиции соперников, но так и не нашел.
 
 
	  | Minx : | 
	 
	
	  | 
В современных системах cache miss может замедлить на 2 порядка.
 | 
	 
 
 
И более. В системе над которой я щас работаю есть фича, которая не попавшие в кеш (не процессорный, конечно) данные может по сети(!) запулить в отстойник в другую звездную систему где они упадут на механический диск. Угадай, сколько там порядков разницы выходит.
 
 
	  | Minx : | 
	 
	
	  | 
оптимизировали высоконагруженную систему, и по этому фактору удалось поднять производительность ~ в 3 раза
 | 
	 
 
 
Уменьшением объемов выделяемой памяти чтобы попасть в кэш? Круто. Но это не совсем экономия памяти - объемы кэша и озу несопоставимы. Это скорее оптимизация операций с памятью.
 
Я когда-то пытался этим заниматься, но без особого эффекта - объемы были великоваты. 
 
 
	  | Minx : | 
	 
	
	  | 
Меня тут точно не обманываете?
 | 
	 
 
 
Ну так сколько гениев, столько и непреложных истин. 
        	 _________________ Конец света в конце тоннеля  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		
	  | Diff : | 
	 
	
	  | 
"Человек не любит ждать" - это НЕ real-time
 | 
	 
 
 
Real-time - это любые требования к времени исполнения.
 
 
	  | Diff : | 
	 
	
	  | 
rt - это когда как в примере выше, если ответ пришел за 125 мкс - то все прекрасно и слышимость отличная, а если за 126 - то кваканье и слышно одно слово из трех.
 | 
	 
 
 
Это уже одни из требований real-time.
 
 
 
В деревянных шахматах между двумя людьми нет требований real-time. Поэтому TBS не обязательно имеет требования real-time. Но может и иметь.
 
 
	  | Diff : | 
	 
	
	  | 
Не то чтобы я придираюсь, но давать собственные интерпретации устоявшимся терминам = увязнуть в дискуссии за корабли большого театра. 
 | 
	 
 
 
Это вообще-то одна из интуитивных ошибок термина real-time.
 
 
В геймдеве противопоставляют turn based и real-time. Поэтому тут смысл real-time немного другой, а real-time TBS превращается в оксюморон.
 
 
Если взять ОСРВ, то там для real-time свои особенности (время реакции).
 
 
Если взять real-time для mission-систем, то там может быть важно как быстрее выполнить задачу (отреагировать на пуск ракеты).
 
 
В общем же случае, термин обозначает просто привязку к реальному времени, т.е. что нужно выполнять определенные требования во времени. А в зависимости от контекста эти требования могут быть очень разными.
 
 
	  | Diff : | 
	 
	
	  | 
В системе над которой я щас работаю есть фича, которая не попавшие в кеш (не процессорный, конечно) данные может по сети(!) запулить в отстойник в другую звездную систему где они упадут на механический диск. Угадай, сколько там порядков разницы выходит. 
 | 
	 
 
 
Чего гадать-то.. в той же книжке расписаны порядки:
 
 
• Registers & CPU cache: 1 nanosecond
 
• RAM: 10^2 nanoseconds
 
• Local drives: 10^5 to 10^7 nanoseconds
 
• Network: 10^6 to 10^9 nanoseconds
 
 
	  | Diff : | 
	 
	
	  
Уменьшением объемов выделяемой памяти чтобы попасть в кэш? Круто. Но это не совсем экономия памяти - объемы кэша и озу несопоставимы. Это скорее оптимизация операций с памятью. 
 
Я когда-то пытался этим заниматься, но без особого эффекта - объемы были великоваты. 
 | 
	 
 
 
Можно назвать и так. Но основным действием в той оптимизации было уменьшение объемов используемой памяти. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω 
  Последний раз редактировалось: Minx (14:22 28-09-2015), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		
	  | Minx : | 
	 
	
	  | 
Real-time - это любые требования к времени исполнения. 
 | 
	 
 
 
Рилтайм подразумевает выполнение в условиях изменяющегося окружения. Посчитать число пи до триллионного знака за секунду - это не рилтайм-задача. А система управления игрушечной (или настоящей) железной дорогой - да.
 
 
	  | Minx : | 
	 
	
	  | 
В деревянных шахматах между двумя людьми нет требований real-time. 
 | 
	 
 
 
А по твоей логике, есть. Время на матч.
 
По ней вообще любая программа - это СРВ. Даже notepad имеет требования по производительности.
 
 
	  | Minx : | 
	 
	
	  | 
Если взять ОСРВ, то там для real-time свои особенности (время реакции).
 | 
	 
 
 
Не время реакции, а гарантированное время реакции. Например, у линукса время реакции меньше, чем у QNX. Но при этом QNX - ОСРВ, а линукс - нет.
 
 
	  | Minx : | 
	 
	
	  | 
В общем же случае, термин обозначает просто привязку к реальному времени, т.е. что нужно выполнять определенные требования во времени.
 | 
	 
 
 
А поскольку вне времени мы ничего выполнять не умеем, то... в общем, ясно   .
 
 
	  | Minx : | 
	 
	
	  | 
Чего гадать-то.. в той же книжке расписаны порядки:
 | 
	 
 
 
Ну не все так грустно... Диск - это на самом деле один из 80 дисков в хитром рейде. А у сети пропускная способность повыше чем, например, у SATA3. Но все равно впечатляет решительность с которой данные засовываются в   
        	 _________________ Конец света в конце тоннеля  | 
		
		
		| 
		
		 | 
        
     | 
	
		Shirson
   1605 EGP
             Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511  Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
      | 
         | 
		
	  | Minx : | 
	 
	
	  | 
Real-time - это любые требования к времени исполнения.
 | 
	 
 
 
В каком ракурсе говорится о времени исполнения? Просто обычно это не real-time, а run-time. 
        	 _________________ У меня бисера не доxеpа.  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		
	  | Guest : | 
	 
	
	  
Это немного из другой категории вопрос. Я бы назвал такие позиции - разработка арт-проектов и коммершиал-проектов. 
 
Арт требует времени и не обязан быть мегауспешным, но он будет запоминающимся. 
 
Коммершиал должен отбить бабки, там время и все фичи по возможности усекаются и работает всё как в масс-продакшене. 
 | 
	 
 
 
У меня как бы и вопрос изначальный - в разности подходов к двум этим разным задачам.
 
 
Мне все ещё кажется, что они должны существенно различаться. Может быть, они мало различаются относительно инструмента (язык, организация, ..), но сильно с точки зрения идеологии (выбор идеи, сборка прототипов, ..)?
 
 
	  | Diff : | 
	 
	
	  | 
Рилтайм подразумевает выполнение в условиях изменяющегося окружения.
 | 
	 
 
 
Мои слова как бы этого не отрицают (;
 
 
Но для real-time если есть какие-то требования привязки ко времени, то система становится real-time по этим требованиям.
 
 
	  | Diff : | 
	 
	
	  | 
А по твоей логике, есть. Время на матч. 
 | 
	 
 
 
Если используется контроль времени.
 
 
	  | Diff : | 
	 
	
	  | 
По ней вообще любая программа - это СРВ. Даже notepad имеет требования по производительности. 
 | 
	 
 
 
Только если в ТЗ (спецификации) не указаны требования, связанные со временем.
 
 
Т.е. если ты пишешь Hello World и не думаешь о том, сколько времени будет работать программа (т.е. в спецификации требований нет), то это уже не real-time.
 
 
Если же пишешь и нужно вписаться в определнные временные рамки (преждевременная оптимизация это не real-time), то это real-time. Например, если программа должна поздравить с днем варенья 1-го января, но 31-го декабря или 2-го января уже нельзя. По производительности требований нет, а система real-time.
 
 
Вот Джо говорил о том, что он сначала в лоб реализовал логику своего AI в прототипе. И как только AI стало несколько, то игра стала жутко тормозить. И вот, как только у Джо появилась мысля о том, что все таки хорошо бы вписаться для пользователя в какие-то разумные рамки с сохранением интеллекта AI, то сразу программа в этом отношении стала real-time.
 
 
	  | Diff : | 
	 
	
	  | 
Не время реакции, а гарантированное время реакции. 
 | 
	 
 
 
А мне нужно в ответ написать "не гарантированное время реакции, а гарантированный запуск заданного события с более высоким приоритетом".
 
 
Ну так, для продолжения въедливости (;
 
 
	  | Diff : | 
	 
	
	  | 
Но при этом QNX - ОСРВ, а линукс - нет. 
 | 
	 
 
 
Смотря какой линукс.. Линуксы это такие мутанты звери, что за всю ихнюю популяцию далеко не все можно категорично утверждать (; 
 
 
добавлено спустя 5 минут:
 
 
	  | Shirson : | 
	 
	
	  | 
В каком ракурсе говорится о времени исполнения? Просто обычно это не real-time, а run-time. 
 | 
	 
 
 
run-time - это же то, что во время исполнения. Упала программа во время исполнения (run-time). Объект создался во время исполнения (run-time). Коннект к БД происходит на лету (во время исполнения, run-time).
 
 
В противоположность run-time можно например compile-time. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω 
  Последний раз редактировалось: Minx (18:20 28-09-2015), всего редактировалось 9 раз(а) | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		Минкс, ты какую-то лютую ересь несешь. У меня даже нет сил ее разбирать по пунктам   . 
        	 _________________ Конец света в конце тоннеля 
  Последний раз редактировалось: Diff (17:31 28-09-2015), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		Ещё одна попытка с другой стороны.
 
 
Например, на железной дороге есть микропроцессорные системы. И они много чем управляют. Посмотрим на обычную станцию. На ней туева куча объектов - десятки стрелок, светофоров, секций. .. Есть переезды, негабаритные участки, автоперегоны и т.д.
 
 
Первая особенность в том, что все это должно работать безопасно. Вторая особенность в том, что время для событий не как у тебя 125 мкс, а обычно порядка единиц секунд. Например, автопереезд на особождение дается ЕМНИП, 30 секунд. Одна стрелка может переводиться 3 секунды, а другая (магистральная) - 2 минуты.
 
 
К системе предъявляются жесткие требования real-time. Это означает, что то что прописано, должно быть кровь из носа выполнено, на уровне вероятности 0.999999.. , даже в случае отказов аппаратуры. Или чтобы был переход в безопасное состояние.
 
 
При этом real-time такой, что объектов дохрена, но все они должны работать корректно и с крайне высокой вероятностью успеха (неопасный 1 сбой например раз в 100 лет, и 1 опасный раз в 10 000 лет - года условно).
 
 
И вот, когда на ж.д. приходит кто-то с QNX, и говорит, что давайте я вам запилю ваш real-time, то его посылают накер (и такие случаи зафиксированы, в том числе провала разработки на QNX).
 
 
Такой вот real-time.
 
 
---
 
 
Теперь ещё один пример.
 
 
Клиент приходит к банкомату положить деньги на телефон. Когда система обрабатывает его запрос, то он разделен на 2 фазы. Во время первой проверяется, можно ли провести транзакцию (правильный номер телефона? есть ли деньги на карточке?). Эта фаза - real-time. Потому что нельзя человека долго держать у банкомата. Потом идет другая фаза - реальное начисление денег на счет. Так вот она не real-time. Деньги попадут через секунду или через час уже не важно, главное гарантированно снять со счета карточки N рублей (а не N/100 рублей), и зачислить на другой счет N рублей (а не N*100 рублей).
 
 
Соответственно, к первой и второй фазе разные требования. Например, на первой фазе в случае непонятной ситуации запрос можно просто отбросить. А на второй фазе банк и биллинг взяли уже на себя определенные обязательства, и отбрасывание попахивает вплоть до судебного разбирательства.
 
 
А на обоих этих фазах QNX нафиг не нужен - тут нет никаких 125 мкс. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω  | 
		
		
		| 
		
		 | 
        
     | 
	
		Shirson
   1605 EGP
             Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511  Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
      | 
         | 
		
	  | Minx : | 
	 
	
	  
	  | Shirson : | 
	 
	
	  | 
В каком ракурсе говорится о времени исполнения? Просто обычно это не real-time, а run-time. 
 | 
	 
 
 
run-time - это же то, что во время исполнения.
 | 
	 
 
 
В таком случае высказывание
 
	  | Цитата: | 
	 
	
	  | 
Real-time - это любые требования к времени исполнения.
 | 
	 
 
 
Крайне спорно. 
        	 _________________ У меня бисера не доxеpа.  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		Не претендую на абсолютную точность определения.
 
 
Главное тут то, что real-time - это очень широкополосный термин и что конкретно именно имеется ввиду определяется контекстом. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω  | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		
	  | Minx : | 
	 
	
	  
Ещё одна попытка с другой стороны. 
 
Например, на железной дороге
 
<многабукф скиппед>
 
 | 
	 
 
 
А какие выводы из вышеизложенного? Еще несколько постов назад ты вроде бы различал RTOS и RTC, а теперь свалил их в кучу. Зачем? 
        	 _________________ Конец света в конце тоннеля  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		
	  | Diff : | 
	 
	
	  | 
Еще несколько постов назад ты вроде бы различал RTOS и RTC, а теперь свалил их в кучу
 | 
	 
 
 
[RTOS + RTC] = RT * [OS + C]
 
RT = куча
 
 
Хотя про RTC речи не припоминаю.. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω 
  Последний раз редактировалось: Minx (19:58 28-09-2015), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		
	  | Minx : | 
	 
	
	  | 
отя про RTC речи не припоминаю
 | 
	 
 
 
Real Time Computing, http://www.elite-games.ru/conference/viewtopic.php?p=3326647#3326647
 
Зачем ты перемешал RTOS и прикладные задачи реального времени7 
        	 _________________ Конец света в конце тоннеля  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		Речь шла об общем основании - real-time. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω  | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		А к чему был пост о ненужности QNX при управлении железнодорожной стрелкой? 
        	 _________________ Конец света в конце тоннеля  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		Кто тому, что real-time это не обязательно 125 мкс. 
        	 _________________ μηδείς αγεωμέτρητος εισίτω  | 
		
		
		| 
		
		 | 
        
     | 
	
		Diff
   708 EGP
        Рейтинг канала: 2(11) Репутация: 44 Сообщения: 4179  Откуда: Сферическая Земля в вакууме. Зарегистрирован: 04.07.2003
      | 
         | 
		Да, не обязательно. Для 125 мкс, кстати, QNX  тоже оказался не нужен. На линуксе оно работало лучше. 
        	 _________________ Конец света в конце тоннеля  | 
		
		
		| 
		
		 | 
        
     | 
	
		Minx
   1028 EGP
          Рейтинг канала: 6(332) Репутация: 139 Сообщения: 10577  Откуда: Gomel, Belarus Зарегистрирован: 19.11.2005
      | 
         | 
		
	  | Minx : | 
	 
	
	  
Чего гадать-то.. в той же книжке расписаны порядки: 
 
 
• Registers & CPU cache: 1 nanosecond 
 
• RAM: 10^2 nanoseconds 
 
• Local drives: 10^5 to 10^7 nanoseconds 
 
• Network: 10^6 to 10^9 nanoseconds 
 | 
	 
 
 
 
Ещё один пример порядков да и вообще:
 
 
	  | Цитата: | 
	 
	
	  
• At physical level, all the work with memory is usually made via so-called “cache lines”. On x86/x64, cache line is 64 bytes for many years now
 
•• It means that as soon as you’ve accessed any single byte in a cache line, all the other 63 bytes are already in L1 cache
 
•• In addition, if your program exhibits a pattern of sequential reading, CPU usually does so-called “prefetch”, getting you the next-in-pattern cache line just in case you MIGHT need it.
 
• Register-register operation is around 1 CPU clock
 
• L1 read is like 4 CPU clocks these days (typical L1 cache data size is around 32K). Usually L1 is per-core
 
• L2 read is around 10-12 clocks (typical L2 cache size is around 256K). L2 is usually per-core these days
 
• L3 read is 30-50 clocks (typical L3 cache size is around 4-12M). Unlike L1-L2, L3 is usually shared between cores and is per-socket(!)
 
• Main RAM access is around 100-150 CPU clocks
 
• NUMA accesses. NUMA applies only to multi-socket configurations, i.e. to servers and (almost-)only to servers:
 
•• With NUMA, each CPU has its own RAM connected to it (and only to it); there is no more SMP/FSB-style “RAM directly connected to all the CPUs”
 
••• Whenever CPU A needs to access RAM connected to CPU B, CPU A issues a request to CPU B which goes over ultra-fast CPU-to-CPU connection (for example, Hypertransport for AMD, or Quick Path Interconnect a.k.a. QPI for Intel)
 
•• NUMA access to another socket, with data happening to be in other-socket L3, costs 100-200 CPU clocks
 
•• NUMA access to another socket, with data happening to be in RAM, costs 200-300 CPU clocks
 
 
http://ithare.com/c-for-games-performance-allocations-and-data-locality/
 | 
	 
 
 
        	 _________________ μηδείς αγεωμέτρητος εισίτω  | 
		
		
		| 
		
		 | 
        
     | 
	 | 
	
		| 
		
		 | 
	
     | 
	| 
	  Канал Игры Мечты: «Что такое real-time» | 
	
		| 
		
		 |