Акела промахнулся! В смысле, Интел обосрался

User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Re: Акела промахнулся! В смысле, Интел обосрался

Post by f_evgeny »

Нет, программный, просто запускаем в другом треде счетчик, он меряет с вполне достаточной точностью.
Дальше, все будет только хуже. Оптимист.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Акела промахнулся! В смысле, Интел обосрался

Post by Dmitry67 »

f_evgeny wrote: 13 Jan 2018 23:11 Нет, программный, просто запускаем в другом треде счетчик, он меряет с вполне достаточной точностью.
А что же делать?
Meltdown победят
Но Spectre это ПЦ!!!
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Re: Акела промахнулся! В смысле, Интел обосрался

Post by f_evgeny »

Dmitry67 wrote: 13 Jan 2018 23:26
f_evgeny wrote: 13 Jan 2018 23:11 Нет, программный, просто запускаем в другом треде счетчик, он меряет с вполне достаточной точностью.
А что же делать?
Meltdown победят
Но Spectre это ПЦ!!!
Не знаю.
Дальше, все будет только хуже. Оптимист.
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Акела промахнулся! В смысле, Интел обосрался

Post by Flash-04 »

zVlad wrote: 13 Jan 2018 21:39 Что есть настоящая?
Paravirtualization is virtualization in which the guest operating system (the one being virtualized) is aware that it is a guest and accordingly has drivers that, instead of issuing hardware commands, simply issue commands directly to the host operating system. This also includes memory and thread management as well, which usually require unavailable privileged instructions in the processor.

Full Virtualization is virtualization in which the guest operating system is unaware that it is in a virtualized environment, and therefore hardware is virtualized by the host operating system so that the guest can issue commands to what it thinks is actual hardware, but really are just simulated hardware devices created by the host.

Hardware Assisted Virtualization is a type of Full Virtualization where the microprocessor architecture has special instructions to aid the virtualization of hardware. These instructions might allow a virtual context to be setup so that the guest can execute privileged instructions directly on the processor without affecting the host. Such a feature set is often called a Hypervisor. If said instructions do not exist, Full Virtualization is still possible, however it must be done via software techniques such as Dynamic Recompilation where the host recompiles on the fly privileged instructions in the guest to be able to run in a non-privileged way on the host.

There is also a combination of Para Virtualization and Full Virtualization called Hybrid Virtualization where parts of the guest operating system use paravirtualization for certain hardware drivers, and the host uses full virtualization for other features. This often produces superior performance on the guest without the need for the guest to be completely paravirtualized. An example of this: The guest uses full virtualization for privileged instructions in the kernel but paravirtualization for IO requests using a special driver in the guest. This way the guest operating system does not need to be fully paravirtualized, since this is sometimes not available, but can still enjoy some paravirtualized features by implementing special drivers for the guest.
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 15410
Joined: 30 Apr 2003 16:43

Re: Акела промахнулся! В смысле, Интел обосрался

Post by zVlad »

Flash-04 wrote: 13 Jan 2018 23:46
zVlad wrote: 13 Jan 2018 21:39 Что есть настоящая?
Paravirtualization is virtualization ....
Спасибо, конечно, но когда эти умники учились я учил. :wink:

P.S. Если серьезно, то эти определения не имеют никакого смысла для z. Так что это частный случай для одной, не очень готовой для виртуализации, архитектуры компьютера. Дай угадаю. Для х86.

P.P.S. Ну и до кучи. По самой сути понятия "виртуализация", т.е. нечто воображаемое, для этого нет и не может быть ничего "настоящего". Поэтому обычно говорят, например, "виртуальная машина" имея в виду воображаемую пользователем машину - аналог реальной машины. В этом случае под настоящей виртуальной машиной следует понимать такую какая ведется себя точно так же как реальная.
А то что ты привел это о виртуальных системах речь больше чем о машине как таковой коль скоро там все крутится вокруг "знает, не знает", ромашка какая то одним словом, плюс драйвера все время поминаются, да еще и средства для виртуализации на процессоре для поддержки его виртуализации. Нет, это не ромашка, это винегрет скорее.
Last edited by zVlad on 14 Jan 2018 00:44, edited 2 times in total.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Акела промахнулся! В смысле, Интел обосрался

Post by Dmitry67 »

Снова прошло меряние пиписьками. Когда вы еще только начинали изучать виртуализацию, я, уже бревно с лениным таскал!
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
zVlad
Уже с Приветом
Posts: 15410
Joined: 30 Apr 2003 16:43

Re: Акела промахнулся! В смысле, Интел обосрался

Post by zVlad »

MVS, кстати, хоть и расшифровывается официально как Multiple Virtual Storage на самом деле скорее Multiple Virtual Systems.
Каждая программа, пользователь TSO, пакетное задание, процедура выполняется как единственная в MVS и можно сказать на компьютере тоже, т.е. это виртуальная машина с MVS и в нем одно приложение - так себя "видит" каждое приложение.
StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: Акела промахнулся! В смысле, Интел обосрался

Post by StrangerR »

Flash-04 wrote: 13 Jan 2018 21:12 Dockers - это не настоящая виртуализация. "пара"
С точки зрения защиты докер вообще одна большая дыра. Это вообще chroot по сути.
StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: Акела промахнулся! В смысле, Интел обосрался

Post by StrangerR »

Dmitry67 wrote: 13 Jan 2018 22:47 Как уже говорилось, загрубление таймеров лечит все эти проблемы
Я об этом уже писал. Но только как его загрубить если можно рядом тупо счетчик самому на треде соорудить??
User avatar
flip_flop
Уже с Приветом
Posts: 4379
Joined: 20 Jun 2001 09:01

Re: Акела промахнулся! В смысле, Интел обосрался

Post by flip_flop »

StrangerR wrote: 14 Jan 2018 02:37
Flash-04 wrote: 13 Jan 2018 21:12 Dockers - это не настоящая виртуализация. "пара"
С точки зрения защиты докер вообще одна большая дыра. Это вообще chroot по сути.
Ну да. Докер по сути даже не паравиртуализация, это скорее OS-level-virtualization, как и chroot. У докера нет hypervisor, например. Со всеми плюсами и минусами.
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Акела промахнулся! В смысле, Интел обосрался

Post by Flash-04 »

zVlad wrote: 14 Jan 2018 00:24 Спасибо, конечно, но когда эти умники учились я учил. :wink:

P.S. Если серьезно, то эти определения не имеют никакого смысла для z. Так что это частный случай для одной, не очень готовой для виртуализации, архитектуры компьютера. Дай угадаю. Для х86.

P.P.S. Ну и до кучи. По самой сути понятия "виртуализация", т.е. нечто воображаемое, для этого нет и не может быть ничего "настоящего". Поэтому обычно говорят, например, "виртуальная машина" имея в виду воображаемую пользователем машину - аналог реальной машины. В этом случае под настоящей виртуальной машиной следует понимать такую какая ведется себя точно так же как реальная.
А то что ты привел это о виртуальных системах речь больше чем о машине как таковой коль скоро там все крутится вокруг "знает, не знает", ромашка какая то одним словом, плюс драйвера все время поминаются, да еще и средства для виртуализации на процессоре для поддержки его виртуализации. Нет, это не ромашка, это винегрет скорее.
там на мой взгляд довольно логично изложено. и таки да, для x86 всё очень четко.
Дам такое определение "настоящей" виртуализации - это значит что система может исполнять много процессов и никакими методами такой процесс не может узнать о существовании других процессов если OS сама того не захочет. До относительно недавнего времени x86 не имели "настоящей" виртуализации, так как существовала как минимум одна (на самом деле больше) команда CPU которая позволяла выяснить некоторые детали исполнения процесса. Потом Intel усовершенствовала микрокод, и вуаля, такая возможность исчезла, x86 стал обладать hardware virtualization. Заметьте, такое определение - системно независимое. И хотя вы не дал более менее вменяемого описания MVS, подозреваю что это - паравиртуализация которая с точки зрения секьюрити хромает на обе ноги.

Влад, вы про common criteria знаете? Это сертификация по уровню безопастности, которая делается по набору критериев:
https://en.wikipedia.org/wiki/Evaluatio ... ance_Level
так вот, несмотря на всю свою крутизну, IBM смогла сертифицировать свою "Z" только на уровент EAL4, ровно так же как и MS Windows. Сюрприз!
https://www.ibm.com/support/knowledgece ... config.htm
LPAR тем не менее на EAL5.

Кстати по более ранней системе уровней A,B,C, все современные OS имеют уровень безопасности не выше "B". Систем уровня "A" не существует по простой причине - по оценкам такая система будет тратить ~90% ресурсов на всевозможные проверки.
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Акела промахнулся! В смысле, Интел обосрался

Post by Мальчик-Одуванчик »

zVlad wrote: 13 Jan 2018 14:38
Мальчик-Одуванчик wrote: 13 Jan 2018 09:42
zVlad wrote: 13 Jan 2018 03:53 Intel же пришел к этом по мере развития микроэлектроники, но с издержками изначальной ориентации на PC.
Как бы не совсем, изначально они вообще делали в большей степени серверное оборудование, заточенное для производства.
Тот же советский клон СМ-1800 как раз и была такой машинкой, широко применявшейся как управляющий центр для станков с ЧПУ и другим промышленным оборудованием. Уже тогда она имела шину Multibus, спроектированную для многопроцессорного взаимодействия и использования устройств от разных производителей периферийного оборудования.
"Уже тогда" это начало 1980х.
Я ничего не имею против машин линии PDP-11, Vax. Но они действительно проиграли конкуренцию, а точнее логика развития ИТ вытеснила их машинами на Intel. Сейчас Intel реально вытесняет RISC платформу. Linux реально вытесняет Unix.
Мультишины, многопроцессорные взаимодействия использовались много раньше 80х, в конце 50х, начале 60х в нашей стране для ПРО делали такиа машины к параметрам и идеологии которых в открытых разработках пришли много позже. Посмотрите 5Э926, например.
СМ-1800 это цельнотянутая копия с интеловского оригинала. К клонам DEC она не имела никакого отношения.
По сути такой себе то ли серверок, то ли контроллер (в зависимости от начинки) промышленного и технологического оборудования.
К сожалению, у нас он появился в самом конце 80-х
StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: Акела промахнулся! В смысле, Интел обосрался

Post by StrangerR »

StrangerR wrote: 14 Jan 2018 02:51
Dmitry67 wrote: 13 Jan 2018 22:47 Как уже говорилось, загрубление таймеров лечит все эти проблемы
Я об этом уже писал. Но только как его загрубить если можно рядом тупо счетчик самому на треде соорудить??
Тут другое дело - Спектре не имеет смысла, если у вас есть ПОЛНЫЙ доступ к коду. Так как вы конечно можете соорудить свой счетчик, но зачем - вы можете просто тупо читать юзер память ничего не усложняя. То есть для программы на C++ смысла в спектре нету. Есть смысл для программы на скриптовом языке которую загоняют в сандбокс. А для такой можно и загрубить таймеры и зарубить все способы скорость считывания из памяти померять . Хотя и то, сотню байтов хакер минут за 5 считает, всякими извратами.

PS. Меня лично Спектре не тревожит, потому что я изначально совсем не доверяю защите юзера от юзера внутри ОС. Но вот некоторые ПРОСТЫЕ реализации оной на основе скриптов в бразере, а особенно те, что обучают процессор переходам по неверному индексу, зарубить конечно стоило бы. А вот мелтдаун нужно зарубать в зародыше, убирая меппинг кого не следует... или уж все таки запоминая, что система в юзер моде и даже спекулятивное чтение не имеет права читать из закрытой для процесса памяти... меппинг то в любом случае происходит и проверить там уровень доступа даже спекулятивное чтение вполне себе в состоянии, так как все равно через оный меппинг должно пройти (иначе откуда оно узнает, какую ячейку физ памяти читать то...)
zVlad
Уже с Приветом
Posts: 15410
Joined: 30 Apr 2003 16:43

Re: Акела промахнулся! В смысле, Интел обосрался

Post by zVlad »

Мальчик-Одуванчик wrote: 14 Jan 2018 06:38 ...
СМ-1800 это цельнотянутая копия с интеловского оригинала. К клонам DEC она не имела никакого отношения.
По сути такой себе то ли серверок, то ли контроллер (в зависимости от начинки) промышленного и технологического оборудования.
К сожалению, у нас он появился в самом конце 80-х
Ну что Вы, я конечно посмотрел про СМ-1800 и не ее конкретно имел в виду говоря про DEC-ские линии. Поскольку знал про СМ откуда пошли они. Это так же как ЕС-1840 вовсе не мф.
Вся серия СМ была задумана для управления промышленными объектами. Да их использовали в АСУП-ах тоже. Это вообще опасная, я бы сказал, особенность компьютеров - их универсальность, типа, раз считать умеет значит может считать что угодно для чего угодно. Вот и спарки задуманные для сапр вдруг стали использоваться под базы данных, а что работает ведь. А то что набор показателей для ВТ в разных областях применения неизбежно разный это типа не важно, главное считает же. Зарплату де можно и на контроллере для доменной печи посчитать. Конечно можно.
zVlad
Уже с Приветом
Posts: 15410
Joined: 30 Apr 2003 16:43

Re: Акела промахнулся! В смысле, Интел обосрался

Post by zVlad »

Я вот по теме понять не могу. Вот говорится что читая память и меряя скорость чтения (как?) можно понять что прочиталось из кэша. Хорошо, это понятно что кэш быстрее. Но,
- как можно гарантировать что команда чтения выполняется на том коре кэш которого мы читать хотим,
- как вообще можно измерить длительность операции чтения (одна команда процессора), если для раборы, например с таймером нужно несколько команд выполнить до и после. Тут говорят запустить счетчик в другом процессе, но процессы должны будут обменяться друг с другом, это тоже команды, которые внесут в подсчет времени лепту. Хорошо, понял здесь не надо мерять абсолютные величины, надо лишь идентифицировать относительно меньший интервал. Но опять же в системах разделения времени время квантуется и мы не можем знать в одном кванте мы были или нет. Тем более что квант может быть и прерван. На сервере нагруженном постоянно многими разными работами обстановка для такой хитрой программы будет меняться так часто и так по разному что ни хрена, или очень мало что можно будет понять.
- содержимое кэша тоже постоянно меняется. Работают другие программы и запихивают свои данные в кэш перекрывая те что там были. Ждать пока какая то програмка сможет взять из кэша не известно самой ей что и когда никто не будет.
Я порассуждал конечно не так эксперт в устройстве и работы процессора, но как бывший программист на ассемблере, на мф правда, но все таки. Возможно на х86 и им подобным такое доступно, есть различия принципиальные между х86 и z процессоров на уровне ассемблера, поэтому я называю х86 микропроцессором, так впрочем и другие называют. В z же есть микрокод на котором написаны команды используемые ассемблером. И поэтому для меня z не микропроцессор. Да, IBM признали импакт от Spectre, это факт многозначительный, говорящий что я что-то не понимаю, не знаю пока. Я жду описания к патчу на z/VM может оно откроет мне глаза и я пойму как это можно сделать. А может и оказать иначе, поживем увидим.

Return to “Вопросы и новости IT”