Member
Статус: Не в сети Регистрация: 18.02.2010 Фото: 2
Tempo писал(а):
Количество требуемой оперативки равно максимальному размеру несжатых оперативных данных, которые целиком находятся в оперативке при выполнении расчетов для получения 1-го файла.
Вау! Какая глубокая мысль! А вам не приходила в голову и вторая мысль, что для выполнения расчетов вовсе не обязательно, чтобы _весь_ файл загружался в память? И что это количество памяти, равное "максимальному размеру несжатых оперативных данных, которые целиком находятся в оперативке при выполнении расчетов" вообще никак не связано ни с размером файла для обработки ни с их количеством? Видимо, для вас это откровение
Tempo писал(а):
Таких файлов около 1000. Я общаюсь с автором программы - достаточно известным европейским ученым, так что, информация про 1 ТБ верифицирована.
Я правильно понял, что европейский ученый говорил, что его программа при расчете данных с одного файла использует 1 Гб ОЗУ, а уже вы не долго думая, решили, что раз файлов 1000, то и ОЗУ надо 1 TB?
Вау! Какая глубокая мысль! А вам не приходила в голову и вторая мысль, что для выполнения расчетов вовсе не обязательно, чтобы _весь_ файл загружался в память? И что это количество памяти, равное "максимальному размеру несжатых оперативных данных, которые целиком находятся в оперативке при выполнении расчетов" вообще никак не связано ни с размером файла для обработки ни с их количеством? Видимо, для вас это откровение
Я правильно понял, что европейский ученый говорил, что его программа при расчете данных с одного файла использует 1 Гб ОЗУ, а уже вы не долго думая, решили, что раз файлов 1000, то и ОЗУ надо 1 TB?
Если в ОЗУ подгружать информацию с винта и после обработки части информации, сохранять ее снова на винт, затем считывать следующие блоки и т.д., то на расчеты уйдут годы. А, если в памяти будет вся необходимая информация для расчета 1-го файла, то расчеты (для всех файлов) возможно завершить в течение нескольких месяцев.
Member
Статус: Не в сети Регистрация: 21.01.2010 Откуда: ... и куда ...
Да ладно вам - навскидку от одного из "крокодилов" рынка IT - SAP. У них есть новый продукт - HANA. Там тоже идет ускорение всех действий за счет переноса данных с дискового пространства в память. Так что софтяра, которой нужно 1Тб памяти - вполне имеет право на существование...
_________________ Если на узкой лесной тропе вам повстречался медведь, не теряйтесь, сразу бейте его по морде обгаженными трусами.
коль его потенциальный партнер ищет тут совета для создания недорогой машинки кой-чего посчитать
Исходники доступны всем, каждый может посчитать, если захочет. По поводу "партнерства" - это плод вашей фантазии, попытка угодить благодарной публике плоской шуткой.
Member
Статус: Не в сети Регистрация: 16.05.2007 Откуда: Швеция
Tempo писал(а):
А, если в памяти будет вся необходимая информация для расчета 1-го файла, то расчеты (для всех файлов) возможно завершить в течение нескольких месяцев.
FAIL Знаешь, на сколько порядков оперативка быстрее самого быстрого жесткого диска? Вот на столько же порядков и надо умножить эти "несколько месяцев". Толку от всей затеи - ноль. Известному европейскому ученому - срочно вправлять мозги и учиться изобретать эффективные алгоритмы.
Это вам не поможет, т.к. вы не в теме. Ваши рассуждения о том, о чем у вас нет представления мне не интересны. Есть пост #1, в котором все лаконично изложено. Если вопрос расширения ОЗУ при помощи дискового накопителя нельзя решить, что же, значит нельзя. Зачем что-то выдумывать и навешивать ярлыки? С другой стороны - поскольку тема перемещена во флейм, я не удивлен нашествию троллей Поэтому, спасибо за интерес, но болтать впустую мне неинтересно.
Member
Статус: Не в сети Регистрация: 16.05.2007 Откуда: Швеция
Tempo По-моему, это вы не в теме. Делать оперативку из жесткого диска - это все равно что ставить движок Ferrari на старую раздолбанную телегу. Ну будет 1 Тб мнимой оперативки, но работать будет в 1000 раз медленней, чем 1 Тб настоящей оперативки.
Добавлено спустя 15 минут 16 секунд:
Tempo писал(а):
Если вопрос расширения ОЗУ при помощи дискового накопителя нельзя решить, что же, значит нельзя.
Решить можно. Ставьте Windows Server 64-битную, покупайте жесткий диск на 1 Тб, на нем делайте своп-файл на 1 Тб, и запускайте свою софтину. Софтина естественно должна быть тоже 64-битная. Через месяц-два непрерывного хруста этот ваш жесткий диск ломается, и вы понимаете, что я имел в виду с самого начала.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
По сути - купи 2 SSD на 512Gb, собери на них RAID0 (на внутреннем SATA3) и положи туда данные. Windows НИКОГДА не позволит хранить в памяти столь большие объемы информации. В ЛЮБОМ СЛУЧАЕ будет идти file mapping (либо swap, либо прямое отображение), поэтому объем физической памяти важен лишь для определения "окна обработки" (основного цикла).
Программы со столь большими объемами данных строят специальным образом, многопотоковым. Специальные треды должны вычитывать в кеши предполагаемые данные, а треды обработки брать оттуда уже считанное. Если это не делать, то программа будет работать СТРАШНО ДОЛГО и никаким объемом памяти это не вылечить (кривые руки аппаратно не лечатся).
Короче, идите разговаривать с вашим именитым ученым по поводу выпрямления софта.
Добавлено спустя 4 минуты 50 секунд: P.S. Существует только один способ получить большой объем памяти, причем физической - это AWE. Во всех других случаях Windows эту память будет интенсивно отбирать. Так работают сервера. Никакой подменой "на логическую" AWE обмануть нельзя, не стоит даже пытаться.
Member
Статус: Не в сети Регистрация: 06.03.2005 Фото: 41
Народ, о чем речь? А им (с именитым ученым) суперкомпьютер поможет, не? А то пусть пишут грант, им дадут деньги, они купят время где-нибудь на суперкомпе и решат траблу (если она настолько важна). А так попусту выпытывать на форуме, чего мона и чего нельзя- это ни к чему не приведет.
Member
Статус: Не в сети Регистрация: 16.05.2007 Откуда: Швеция
serj Я знаком с концепцией виртуальной памяти. И если выделить терабайт оперативки себе на машине, где эта оперативка реально есть, то 99% от этого терабайта так в физической памяти и останутся (при условии, что они реально используются, иначе действительно уйдут постепенно в своп). А системный кэш подвинется, он всегда занимает физическую память по остаточному принципу.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
Не останутся. Для того, что ты говоришь, требуется 2Т памяти. Либо заводить специальный тред и постоянно сканировать все страницы памяти ( что вызовет дикую нагрузку на контроллер памяти и вряд-ли кого устроит). Конечно, можно ( и нужно) делать Lock, только это все равно не отменит политику работу с памятью - при малом остатке она все равно начнет тырить память. Безвариантно. Поэтому я работаю через AWE. ))
Member
Статус: Не в сети Регистрация: 16.05.2007 Откуда: Швеция
serj писал(а):
только это все равно не отменит политику работу с памятью - при малом остатке она все равно начнет тырить память
Во-первых, начнет тырить с наименее используемых страниц. Во-вторых, если есть некая программа, которая активно работает (предположим) с 1014 Гб памяти, то у системы останется еще 10 Гб на свои вещи (что довольно приличный объем), так что тырить она вряд ли начнет.
Не надо теоритизировать. Начнет "от первого байта". Процессор физически не сможет регулярно опрашивать всю "свою" память, скорости не хватит. Думаю, обсуждение матчасти можно завершить.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения