в человеческом масштабе
May. 7th, 2017 07:25 pm(эта запись может быть интересна программистам)
Представьте себе, что вы работаете бюрократом в большой организации. Каждый день вы сидите за столом в большом кабинете (где кроме вас сидят еще несколько человек, каждый за своим столом) и разбираете какие-то папки с документами, то читаете бумаги, то исправляете что-то, то печатаете новый бланк и добавляете в папку. Этих папок огромное количество и вам все время нужно находить правильные. Самые нужные вы положили к себе на стол, другие стоят в многочисленных канцелярских шкафах по периметру кабинета. Некоторых папок нет даже в шкафах, и за ними надо посылать в архив.
Если вы уже читаете какую-то папку, то прочитать следующее слово у вас занимает меньше секунды. Если не читаете, но она лежит у вас на столе - то найти ее и прочитать нужную строку занимает секунд 10. Если на столе нет, но есть в шкафах в комнате, то найти ее по учетному номеру, принести к столу, прочитать что надо - это уже где-то минута. Но иногда ее нет в шкафах, и нужно посылать запрос в архив - или ненужную больше папку отправить в архив, чтобы освободить место в комнате. И это очень долгое и муторное дело.
Архив по размерам - как целый город, а устроен он совершенно нелепо. В нем работает всего один старый больной хромой подслеповатый библиотекарь. По сложным историческим причинам добавить к нему коллег или заменить его невозможно. Когда он получает запрос на выдачу или папку на хранение, он долгие дни и недели идет черепашьим шагом по всему гигантскому архиву, пока ему не попадется нужная полка. В итоге получить папку из архива занимает примерно 4 месяца (!) - а вы тем временем делайте что хотите. Неудивительно, что вы и все ваши коллеги стремитесь как можно больше папок иметь при себе на столе или даже в комнате.
В последние годы, чтобы как-то улучшить скорость работы бюрократов, придумали несколько нововведений.
Во-первых, наряду с старым огромным архивом сделали новый, современный. Он не такой огромный, размером скорее с квартал, а не с город, и в нем работает целый отряд библиотекарей. Но он все равно далеко, сообщение с ним медленное, поиск в нем тоже не такой быстрый, как хотелось... короче, получить папку можно уже не за 4 месяца, а за день-полтора. И на том спасибо.
Во-вторых, в каждой комнате установили внутренний телефон, и теперь, если у вас в комнате папки нет, а у коллеги на другом этаже или в соседнем здании есть, то можно позвонить ему и попросить переслать копию папки по факсу. Это занимает где-то час, причем часть этого времени вы ждете, пока коллега закончит свои срочные дела и лишь потом найдет для вас папку. Это не очень удобно - факс-машина работает очень медленно, и коллега одновременно продолжает свою работу и все время отвлекается на то, чтобы новую страницу в нее зарядить. Вы сами очень не любите, когда вас такими запросами отвлекают. Но все же это куда лучше, чем день-полтора или 4 месяца.
И наконец, недавно даже и это улучшили. Начальство догадалось посадить в каждую комнату стажеров, которые с бумагами не умеют еще пока работать, но могут найти в шкафу, что нужно. Теперь, когда вам нужна бумага из чужого кабинета, вы говорите своему стажеру, он звонит туда и говорит с тамошним стажером, и они организовывают пересылку всего содержимого папки по факсу. Вашим коллегам даже отвлекаться не надо. Папка у вас на столе через 30-40 минут. Еще быстрее работа пошла.
----------------------------------
Этот рассказ написан для того, чтобы показать на наглядном примере, как устроена работа с данными в современных компьютерах.
Вы, бюрократ, работающий с бумагами - на самом деле центральный процессор компьютера, или, если точнее, одно ядро процессора. Все временные задержки увеличены ровно в миллиард раз - вместо "секунда" следует понимать "наносекунда" и так далее.
Чтение папки, которая у вас в руках - это работа с данными, которые уже лежат в регистрах процессора. Найти папку на столе - это прочитать данные из процессорного кэша (неважно какого, L1/L2/L3 - 10 секунд это усредненные данные). Канцелярские шкафы в вашей комнате, найти папку в которых занимает минута - это рабочая память, RAM.
Архив с полуслепым инвалидом, который 4 месяца ищет вашу папку - это жесткий диск. Новый современный архив, из которого папка приходит за день-полтора - диски SSD.
Телефонная связь вместе с факсом - это быстрая локальная сеть. Переслать папку по факсу - прочитать данные из памяти другого компьютера, который расположен на одной локальной сети с вами. Наконец, стажеры - это технология RDMA, позволяющая читать через сеть память другого компьютера напрямую, не отвлекая тамошний процессор.
----------------------------------
Основные идеи, которые должен продемонстрировать этот рассказ - это насколько быстрее иметь нужные данные в рабочей памяти, чем читать их с диска; а если все же их нет в памяти, то насколько быстрее читать их SSD, чем с HD, и насколько через локальную сеть, чем с любого диска, даже SSD.
Идея не моя - я позаимствовал ее и немного развил из записи в блоге Адриана Кольера. Кстати, один из лучших блогов на свете для интересующихся компьютерными науками.
Представьте себе, что вы работаете бюрократом в большой организации. Каждый день вы сидите за столом в большом кабинете (где кроме вас сидят еще несколько человек, каждый за своим столом) и разбираете какие-то папки с документами, то читаете бумаги, то исправляете что-то, то печатаете новый бланк и добавляете в папку. Этих папок огромное количество и вам все время нужно находить правильные. Самые нужные вы положили к себе на стол, другие стоят в многочисленных канцелярских шкафах по периметру кабинета. Некоторых папок нет даже в шкафах, и за ними надо посылать в архив.
Если вы уже читаете какую-то папку, то прочитать следующее слово у вас занимает меньше секунды. Если не читаете, но она лежит у вас на столе - то найти ее и прочитать нужную строку занимает секунд 10. Если на столе нет, но есть в шкафах в комнате, то найти ее по учетному номеру, принести к столу, прочитать что надо - это уже где-то минута. Но иногда ее нет в шкафах, и нужно посылать запрос в архив - или ненужную больше папку отправить в архив, чтобы освободить место в комнате. И это очень долгое и муторное дело.
Архив по размерам - как целый город, а устроен он совершенно нелепо. В нем работает всего один старый больной хромой подслеповатый библиотекарь. По сложным историческим причинам добавить к нему коллег или заменить его невозможно. Когда он получает запрос на выдачу или папку на хранение, он долгие дни и недели идет черепашьим шагом по всему гигантскому архиву, пока ему не попадется нужная полка. В итоге получить папку из архива занимает примерно 4 месяца (!) - а вы тем временем делайте что хотите. Неудивительно, что вы и все ваши коллеги стремитесь как можно больше папок иметь при себе на столе или даже в комнате.
В последние годы, чтобы как-то улучшить скорость работы бюрократов, придумали несколько нововведений.
Во-первых, наряду с старым огромным архивом сделали новый, современный. Он не такой огромный, размером скорее с квартал, а не с город, и в нем работает целый отряд библиотекарей. Но он все равно далеко, сообщение с ним медленное, поиск в нем тоже не такой быстрый, как хотелось... короче, получить папку можно уже не за 4 месяца, а за день-полтора. И на том спасибо.
Во-вторых, в каждой комнате установили внутренний телефон, и теперь, если у вас в комнате папки нет, а у коллеги на другом этаже или в соседнем здании есть, то можно позвонить ему и попросить переслать копию папки по факсу. Это занимает где-то час, причем часть этого времени вы ждете, пока коллега закончит свои срочные дела и лишь потом найдет для вас папку. Это не очень удобно - факс-машина работает очень медленно, и коллега одновременно продолжает свою работу и все время отвлекается на то, чтобы новую страницу в нее зарядить. Вы сами очень не любите, когда вас такими запросами отвлекают. Но все же это куда лучше, чем день-полтора или 4 месяца.
И наконец, недавно даже и это улучшили. Начальство догадалось посадить в каждую комнату стажеров, которые с бумагами не умеют еще пока работать, но могут найти в шкафу, что нужно. Теперь, когда вам нужна бумага из чужого кабинета, вы говорите своему стажеру, он звонит туда и говорит с тамошним стажером, и они организовывают пересылку всего содержимого папки по факсу. Вашим коллегам даже отвлекаться не надо. Папка у вас на столе через 30-40 минут. Еще быстрее работа пошла.
----------------------------------
Этот рассказ написан для того, чтобы показать на наглядном примере, как устроена работа с данными в современных компьютерах.
Вы, бюрократ, работающий с бумагами - на самом деле центральный процессор компьютера, или, если точнее, одно ядро процессора. Все временные задержки увеличены ровно в миллиард раз - вместо "секунда" следует понимать "наносекунда" и так далее.
Чтение папки, которая у вас в руках - это работа с данными, которые уже лежат в регистрах процессора. Найти папку на столе - это прочитать данные из процессорного кэша (неважно какого, L1/L2/L3 - 10 секунд это усредненные данные). Канцелярские шкафы в вашей комнате, найти папку в которых занимает минута - это рабочая память, RAM.
Архив с полуслепым инвалидом, который 4 месяца ищет вашу папку - это жесткий диск. Новый современный архив, из которого папка приходит за день-полтора - диски SSD.
Телефонная связь вместе с факсом - это быстрая локальная сеть. Переслать папку по факсу - прочитать данные из памяти другого компьютера, который расположен на одной локальной сети с вами. Наконец, стажеры - это технология RDMA, позволяющая читать через сеть память другого компьютера напрямую, не отвлекая тамошний процессор.
----------------------------------
Основные идеи, которые должен продемонстрировать этот рассказ - это насколько быстрее иметь нужные данные в рабочей памяти, чем читать их с диска; а если все же их нет в памяти, то насколько быстрее читать их SSD, чем с HD, и насколько через локальную сеть, чем с любого диска, даже SSD.
Идея не моя - я позаимствовал ее и немного развил из записи в блоге Адриана Кольера. Кстати, один из лучших блогов на свете для интересующихся компьютерными науками.
no subject
Date: 2017-05-07 04:30 pm (UTC)Следует ли из этого для меня, чайника-пользователя Майкрософт Оффис и Хром, что в моём бюджетном ноутбуке чем больше оперативной памяти, тем лучше?
no subject
Date: 2017-05-07 04:35 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-05-07 04:36 pm (UTC)no subject
Date: 2017-05-07 04:40 pm (UTC)Я не программист, хочу понять.
Date: 2017-05-07 04:46 pm (UTC)Re: Я не программист, хочу понять.
Date: 2017-05-08 04:31 am (UTC)Где были статические страницы - стал Javascript.
Где была графика 320*200 - стала 1920*1080.
Где были простые иконки - стали анимированные.
Где выводилась картинка, перекрывая предыдущую полностью - добавили полупрозрачность.
И тэ дэ и тэ пэ.
Зато, где во времена моего школьного детства надо было ещё суметь найти компьютер, а затем скорее всего кормить его перфокартами - сейчас почти любому школьнику доступно считать задачки в сотню раз сложнее с мгновенным рисованием красивых графиков.
Re: Я не программист, хочу понять.
From:no subject
Date: 2017-05-07 04:54 pm (UTC)no subject
Date: 2017-05-09 06:54 pm (UTC)(no subject)
From:no subject
Date: 2017-05-07 05:02 pm (UTC)И если да -то насколько быстрее?
no subject
Date: 2017-05-07 05:16 pm (UTC)А вот у SSD этой задержки нет, там ничего не крутится, так что надо смотреть по скорости передачи данных.
У SSD другая особенность: у него запись существенно медленнее чтения. И если записывать надо много, то SSD Не успевает обнулять секторы, что ещё сильнее снижает скорость.
(no subject)
From: (Anonymous) - Date: 2017-05-07 06:17 pm (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2017-05-07 06:28 pm (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-05-07 06:22 pm (UTC)(no subject)
From:no subject
Date: 2017-05-07 07:54 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-05-07 05:03 pm (UTC)этим видимо она и хорошая, раз многим людям пришла независимо.
no subject
Date: 2017-05-07 06:48 pm (UTC)Зато я сегодня узнал что процессор не только делает xor eax,eax быстрее, чем mov eax,0, потому что команда короче и как бы только регистры, но и оказывается, он вообще распознаёт, что это просто надо в eax поместить ноль, и более того, он даже этого не делает, а просто переименует регистр! Внутри процессора, Карл! Один и тот же eax в разных командах обозначает разные регистры и всё это работает параллельно. Вот молодцы!
no subject
Date: 2017-05-07 07:58 pm (UTC)no subject
Date: 2017-05-07 08:18 pm (UTC)Причем тут телефон, факс и слепой инвалид?! В виндах есть шерные драйвы, а это что такое с точки зрения программиста? Особенно если не между ВМ на одном физическом компе, а в настоящей сети.
no subject
Date: 2017-05-08 01:29 pm (UTC)(no subject)
From: (Anonymous) - Date: 2017-05-08 03:49 pm (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2017-05-09 02:49 pm (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2017-05-10 06:14 am (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2017-05-11 05:54 am (UTC) - Expandno subject
Date: 2017-05-08 03:56 am (UTC)(всё равно как мне проще понять ток электрический, чем течение воды)
no subject
Date: 2017-05-08 05:35 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-05-08 06:00 am (UTC)no subject
Date: 2017-05-08 06:40 am (UTC)no subject
Date: 2017-05-08 01:01 pm (UTC)no subject
Date: 2017-05-09 06:09 pm (UTC)Viagra Orosolubile
Date: 2017-05-09 11:13 pm (UTC)no subject
Date: 2017-05-11 11:53 am (UTC)Забыть пора. Лучше не станет, будет только хуже. Писать надо код про bandwidth.
no subject
Date: 2017-05-20 07:07 pm (UTC)скорость доступа
Date: 2017-05-28 09:59 pm (UTC)