powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / vector на триллион объектов
25 сообщений из 332, страница 11 из 14
vector на триллион объектов
    #39991729
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня еще мысль. Хочу файловый API проверить. Есть подозрение что если явно не требовать DIRECT
от операционки то мне опять-же предоставят memory-mapping.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991767
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020,
То есть ОЧЕРЕДИ как например fifo lifo это юзверя в масках в очереди стоят?
)))
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991770
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь выделим триллион целых чисел с использованием вектора. А то эксперимент какой-то неполный.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
#include <vector>
#include <vector>
#include <iostream>

using namespace std;

int main(int argc, char **argv) {
  cout << "START!\n";
  cout << "C++ standard : " << __cplusplus << "\n";
  vector<int> v;
  v.reserve(1'000'000'000'000); 
  cout << "FINISH!\n";
}



Пока - провал. Неповезло.

Код: plaintext
1.
2.
3.
4.
5.
START!
C++ standard : 201402
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)



Что в этот момент видел strace.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
START!
C++ standard : 201402
mmap(NULL, 4000000004096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
brk(0x594817588000)                     = 0x55a4c4c32000
mmap(NULL, 4000000135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
tgkill(23101, 23101, SIGABRT)           = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=23101, si_uid=1000} ---
+++ killed by SIGABRT (core dumped) +++
./go: line 13: 23098 Aborted                 (core dumped) strace -e trace=ipc,memory,process,signal ./main.exe



Он пытался аллоцировать 4 000 000 004 096 байт или один триллион целых чисел с хвостиком.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991771
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя конфигурация по памяти. Обычно плавает. Но после старта ОС она такая (размерность цифр - в Мегабайтах)

Код: plaintext
1.
2.
3.
4.
$ free -m 
              total        used        free      shared  buff/cache   available
Mem:          16005        1228       13814          13         962       14472
Swap:          2047           0        2047
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991775
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей. Попробуй это в своей конфигурации и скажи что у тебя получилось. Какой код ошибки?
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991778
mayton, откуда у тебя 4 терабайта, ты што?!
написано же 14 гегофф...
и у меня их тоже нет, прикинь!
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991780
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
mayton, откуда у тебя 4 терабайта, ты што?!
написано же 14 гегофф...
и у меня их тоже нет, прикинь!

Купишь себе Seagate на 16 терабайт (ST16000VE000) и нормально выделишь.

Или ты уже сдался?
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991793
PetroNotC Sharp
Алексей Роза 2020,
То есть ОЧЕРЕДИ как например fifo lifo это юзверя в масках в очереди стоят?
)))

да не знаю я кто на ком стоит там у тебя
Я работаю с живыми юзерами
mayton
Купишь себе Seagate на 16 терабайт (ST16000VE000) и нормально выделишь.

я чё псих?!
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991795
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020я чё псих?!

Да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991796
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020

mayton
Купишь себе Seagate на 16 терабайт (ST16000VE000) и нормально выделишь.

я чё псих?!

Ну твой топик?
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991811
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020,
Все понятно. Менеджер. Работает с живыми людьми. Слово очередь вызывает панику.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991816
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Алексеевских 100-байтных объектов в количестве триллиона нам понадобиться места

Код: plaintext
1.
1000000000000 * 100 / 1024 /1024 /1024 /1024 ~ 90 Гб


В базу данных - нормально влезет. А вот в memory-mapping. Надо подумать.

Для сборки таково файла поверх файловых систем я-бы предложил использовать файловый пул zfs
на Segate-овских дисках по 16 Гб в количестве 6 штук. Из них можно собрать 1 volume. И на него
отобразить выделяемый вектор.

Ну или в btfrs. Модная нынче и более быстрая чем zfs. Субъективно.

Правда действующие ограничения остаются под вопросом. Мои 43 бит адресной шины.
На что повлияют? Будут ли мешать работе с маппингом?

Так по формуле вроде могу адресовать 8 терабайт оперативы.

Код: plaintext
1.
2.
3.
2^43 = 8796093022208

8796093022208 /1024/1024/1024/1024 = 8 Тб



Слотов конечно не хватит но тут дело принципиальное.

Почему задача Алексея меня заинтересовала? И казалось бы ему самому она уже сто лет в буй не впилась.
Но я вижу в этом во первых - технический челлендж. А во вторых обзор программно-аппаратных возможностей
нашего железа и софта.

А технические вызовы мне всегда были интересны.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991818
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМои 43 бит адресной шины.
На что повлияют?

На предельный размер физического ОЗУ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991821
PetroNotC Sharp
Алексей Роза 2020,
Все понятно. Менеджер. Работает с живыми людьми. Слово очередь вызывает панику.

да нихера тебе не понятно
чё ты пристал со своими очередями
на я те по другому скажу
PetroNotC Sharp
В очередь не можешь поставить?

нет.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991824
mayton
Ну твой топик?

ну он не про то, как на диске 16 терабайт памяти делать
даже от SSD отговорили, а ты тут вообще блины советуешь.
mayton
Для сборки таково файла поверх файловых систем я-бы предложил использовать файловый пул zfs на Segate-овских дисках по 16 Гб в количестве 6 штук. Из них можно собрать 1 volume. И на него отобразить выделяемый вектор.

всё, стоп, астанавись!
Я не про это тему делал.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991825
mayton
И казалось бы ему самому она уже сто лет в буй не впилась.

Задача всё так же актуальна. Только вектор чуть поменьше стал (на 1000 порядков).
И его частично можно хранить на диске (тех кто не нужен).
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991827
Dimitry Sibiryakov
Алексей Роза 2020я чё псих?!

Да.
Да, но не настолько.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991831
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020
PetroNotC Sharp
Алексей Роза 2020,
Все понятно. Менеджер. Работает с живыми людьми. Слово очередь вызывает панику.

да нихера тебе не понятно
чё ты пристал со своими очередями
на я те по другому скажу
PetroNotC Sharp
В очередь не можешь поставить?

нет.

Другое дело.
А то включил дурака, что сбрасываем на диск, но нужны одновременно все)))
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991844
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
1000000000000 * 100 / 1024 /1024 /1024 /1024 ~ 90 Гб


а я думаю, если не ограничиваться одной машиной и вместо вектора использовать структуру, которая не требует выделения памяти одним непрерывным куском, то я думаю на Unix/Linux вполне можно решить задачу Алексея, и вообще все сделать на уровне оперативная память + swap
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991846
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Естессно можно. Распределённое хранение и обработка не этим ли занимается? Как всегда нужно сначала озвучить желаемые обоснованные ТТХ.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991864
mini.weblab
вместо вектора использовать структуру

это как?
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991935
PetroNotC Sharp
Алексей Роза 2020
пропущено...

да нихера тебе не понятно
чё ты пристал со своими очередями
на я те по другому скажу
пропущено...

нет.

Другое дело.
А то включил дурака, что сбрасываем на диск, но нужны одновременно все)))

Если юзер пользуется твоим сервисом, в какую ты его очередь собрался пихать?
В БД миллиард юзеров и всегда есть шанс, что они все одновременно зайдут попользоваться.
Но чаще конечно будут провалы от суток и более - вот таких можно на диск скинуть.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991941
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020

В БД миллиард юзеров и всегда есть шанс, что они все одновременно зайдут попользоваться.

Цукерберг, Вы уже спалились!!!
Никогда не знал, что на этом форуме такие люди тусуются. Поговори за меня с отделом кадров, я в Файсбуке работать хочу, please
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991949
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триллион сущностей (даже целых числел) очень трудно обработать на классической архитектуре где
есть 1 вычислительный узел (8-12 CPU). Даже при максимальном числе потоков и при двух-канальной
памяти они начнут неизбежно конкурировать за память и большую часть времени мы будем стоять
в ожиданиях доступа к каналу памяти.

Частично это решается через map-reduce при условии что данные уже стали историческими и у нас
есть хороший прогноз по разделению всего объема по нодам.

Для OLTP транзакций подобная система - вообще не мыслима. Если допустим что каждая сущность
это физ-лицо. А всех людей на планете Земля не больше 8 миллиардов. То эта база будет все равно на
два порядка меньше чем то что хотел в началае Алексей.
...
Рейтинг: 0 / 0
vector на триллион объектов
    #39991950
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза 2020,
Триллион,.... Миллиард....
А на самом деле даже записную книжку не писал?
Термины то все не инженерные).
автори всегда есть шанс, что они все одновременно зайдут попользоваться
Неужели в ТЗ бизнес аналитик так слово в слово и написал?)))
...
Рейтинг: 0 / 0
25 сообщений из 332, страница 11 из 14
Форумы / C++ [игнор отключен] [закрыт для гостей] / vector на триллион объектов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]